what next?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
sancho1980
Member
Member
Posts: 199
Joined: Fri Jul 13, 2007 6:37 am
Location: Stuttgart/Germany
Contact:

what next?

Post 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
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post 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
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
User avatar
lukem95
Member
Member
Posts: 536
Joined: Fri Aug 03, 2007 6:03 am
Location: Cambridge, UK

Post 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.
~ Lukem95 [ Cake ]
Release: 0.08b
Image
User avatar
mathematician
Member
Member
Posts: 437
Joined: Fri Dec 15, 2006 5:26 pm
Location: Church Stretton Uk

Post 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.
Post Reply