8000 GitHub - rajneshraturi/ratos: mini os
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

rajneshraturi/ratos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



In the last crash everything get wiped out...
redoing from interrupt.
just going through net foundthis good article for virtual memory 
http://wiki.osdev.org/Setting_Up_Paging

date 1/10/11 --
redo all the interrupt task.Took help from the http://www.jamesmolloy.co.uk/tutorial_html/index.html and http://www.osdever.net/bkerndev/Docs/idt.htm.
Nearly all the basic feature of interrupt are now done.Next time I will be doing PIT and keyboard isr. bye...

date 6/10/11
I competed the keyboard driver and pit today.
i just wrote the handler for both these and rest was already there.
right now I have written a common handler for isr and normal software interrupts, divide by zero, etc.
Next time I will do virtual memory implementation.



date 17/4/12
Working on grub for starting OS.
site - 
http://aseemsethi.wordpress.com/article/creating-a-floppy-image-in-linux-29fizhrip655z-19/

date 13/5/12
changing the code for virtual memory, trying to make changes as requirement.
In paging bit map is used to mark used and free frame. This is for current directory used, when this directory is replaced care must be taken to change these bits map. However these are only used by kerrnel to reallocate new frame and will have no as such effect but it may cause uneven usage of physical memory.
All directory structure should be page aligned.`
I am not using alloc or free frame in kernel directory as there is just 1 to 1 mapping in it, moreover there is no need to delete any frame in kernel. In later stage if there will be need of allocating or freeing I will write at that time.
 
date 7/7/12

initrd file is loaded with kernel of which the grub will give the loaction, it may be read later from the kernel with the address given by grub to main function.

// data taken from http://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Motivation for initrd.

If bit 3 of the ‘flags’ is set, then the ‘mods’ fields indicate to the kernel what boot modules were loaded along with the kernel image, and where they can be found. ‘mods_count’ contains the number of modules loaded; ‘mods_addr’ contains the physical address of the first module structure. ‘mods_count’ may be zero, indicating no boot modules were loaded, even if bit 1 of ‘flags’ is set. Each module structure is formatted as follows:

             +-------------------+
     0       | mod_start         |
     4       | mod_end           |
             +-------------------+
     8       | string            |
             +-------------------+
     12      | reserved (0)      |
             +-------------------+

The first two fields contain the start and end addresses of the boot module itself. The ‘string’ field provides an arbitrary string to be associated with that particular boot module; it is a zero-terminated ASCII string, just like the kernel command line. The ‘string’ field may be 0 if there is no string associated with the module. Typically the string might be a command line (e.g. if the operating system treats boot modules as executable programs), or a pathname (e.g. if the operating system treats boot modules as files in a file system), but its exact use is specific to the operating system. The ‘reserved’ field must be set to 0 by the boot loader and ignored by the operating system. 





17/7/2012

changed the main function to use multiboot.Most of the changes for main were as given in grub manual.

right now i have initrd support but it does not do anything other the loading and printing garbage values. I willuse it later if needed.


16/sep/12

added pcibios support -
most of the comments for this are there in the coreesponding files.
with today's checkin I can read pci device registers, this is needed for implementing network drivers.

Bios provide many services pcibios is one of them - 
to use it first I have to get the starting address of the bios directory, then have to make lcall to get the starting address of other services, it has certain format, the manual from intel is checked-in for help in manual folder.

networking guide
http://beej.us/guide/bgnet/

linux brwose
http://lxr.linux.no/#linux-old+v0.01/

About

mini os

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0