Linked by Hadrien Grasland on Sun 20th Feb 2011 13:20 UTC
OSNews, Generic OSes Now that you have an idea of where your OS project is heading as a whole, it's time to go into specifics. The first component of your OS which you'll have to design, if you're building it from the ground up, is its kernel, so this article aims at being a quick guide to kernel design, describing the major areas which you'll have to think about and guiding you to places where you can find more information on the subject.
Permalink for comment 463514
To read all comments associated with this story, please click here.
RE: Glass houses
by Brendan on Mon 21st Feb 2011 23:45 UTC in reply to "Glass houses"
Brendan
Member since:
2005-11-16

Hi,

The people at wiki.osdev.org/Main_Page sure are elitist considering how much of their information assumes the silly behavior of x86.


This isn't intentional. Anyone who has information on other platforms is encouraged to add to wiki.osdev.org.

The reality is, most hobbyist OS developers (just like normal users) have easy access to one or more "PC compatible" computers (required for testing, etc), and don't have easy access to anything else.

Note 1: "testing" means being able to find bugs that exist but only show symptoms in some situations, by being able to test on a (hopefully large) number of different systems.

Note 2: "easy access" means you (and other people that volunteer to test your OS) can mess with system software without special equipment (JTAG cables, flash/EPROM burners, etc) and without worrying about bricking the system.


Most other platforms are either rare (e.g. SPARC), obsolete (e.g. Alpha), or too expensive (e.g. Itanium). This even includes other platforms that use x86 CPUs (UEFI based systems), which are still far less widespread than "PC compatibles".

Then there's embedded CPUs (MIPS, ARM) which can't really be considered a platform because there's no standardisation for much more than the CPU's instruction set. For these, you can write an OS for one system and it won't really work on other systems that have the same CPU type. For example, you can write an OS for one of the ARM development boards, but you'd need to port the OS to any other ARM systems you want to support, which makes it hard to test on a wide variety of systems (especially during the early stages of development).

Anway, the end result of "all the above" is that most hobbyist OS developers want information for "PC compatible" computers, and eventually become people who are able to add information about "PC compatible" computers to wiki.osdev.org.

I'd also point out that some of the information on wiki.osdev.org applies to any platform. This includes the "theory" sections, some hardware information (PCI and USB), etc.

- Brendan

Reply Parent Score: 3