forked from rajneshrat/ratos
-
Notifications
You must be signed in to change notification settings - Fork 0
rajneshraturi/ratos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published