Page 1 of 1

what next?

Posted: Wed Jan 23, 2008 8:29 am
by sancho1980
hi

i've written a simple boot program (calling it a boot loader, let alone an operating system would be way too much). it does the following:

-get a memory map from the bios
-switch to protected mode
-hook the clock and keyboard interrupt
-set up routines to display strings and numbers (hexadecimal, binary, signed and unsigned decimal) on the screen
-set up a command line
-set up a table where each entry contains a string s, a number n and a function f

when the user enters

"command param1 param1"

the table is searched for an entry where s matches command and n equals 3..if a match can be found, the addresses of param1 and param2 are pushed and the corresponding function f is called

for now i have two commands:

-"clearscreen"
-"say something"

where say is like a very primitive echo, it accepts only ONE word (no spaces)


so now that you have an idea what i can do, i would like to know where i should go next...i would like to finally tinker with multitasking but i'm not sure if there something else i should try to get done before that...how would you guys go about from here on?

thanks

martin

Posted: Wed Jan 23, 2008 9:51 am
by piranha
Devices, HD access, Floppy, drivers, Filesystems, etc
Scheduler, Malloc() function, VFS, Vmemory, ELF/EXE loading relocating and executing. If you're going to userland, systemcalls.

-JL

Posted: Wed Jan 23, 2008 9:54 am
by lukem95
get a memory manager implemented, and i would suggest paging, as this will give you memory protection and allow you to allocate/free memory effectively.

from there multitasking is (theoretically) fairly simple.

i would also look into implementing a virtual filesystem (VFS) as this can be used to load drivers and mount further filesystems, once youv implemented them.

Posted: Wed Jan 23, 2008 4:28 pm
by mathematician
During the early stages of booting you have got no choice but to allocate memory on an ad hoc basis. However it would probably be a good idea to introduce some order into the chaos sooner rather than later. So even if not the very next thing, writing a memory manager should be one of the next things you do.