req: Information on Designing an OS

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
Scott Watson

req: Information on Designing an OS

Post by Scott Watson »

Hello,

I am looking for information on how to design an OS i.e. the different methods and the pros & cons of mono, macro, nano kernels, memory models, security model, file systems, synchronization, multitasking, parallel processing, etc., etc.

My goal is to become knowledgeable enough to design a complete OS with these items in mind. Not to code just to design in UML.

Hardware Items
1). Multi-processor system of different CPU types i.e. AMD, Intel, MIPS StrongArm, etc., etc.
2). Non standard bus, no expansion cards, bus to all devices 1gig/sec
3). Small Set of carefully selected hardware devices
4). Non standard motherboard
5). Every device is hot swappable

Software Items
1). Self organizing code at runtime based upon available/assigned processors
2). OS allows users to disable/enable all devices in real-time

Any info is greatly appreciated; I have also posed this question over at the OSDEV message board.

Thanks for your Time
Scott
K.J.

Re: req: Information on Designing an OS

Post by K.J. »

Wow, you got a lot of stuff on that list. I suggest looking at the links on my site:
http://surf.to/osdev

I have a tutorial there on micro and monlithic-kernels. That ought to help you decide on what kind of kernel to write(from what you say I suggest a micro-kernel). I will be adding a doc/tutorial on OS design when I get the time(probably Friday or Saturday).

As for MIPS StrongArm processors and other non-x86 processors, I think that you're going to have a hard time finding out info on writing an OS for them. I suggest to look at the manufactor's website under something like "developers".

Hope that helps you,
K.J.
Post Reply