Operating system development
From Wikipedia, the free encyclopedia
Operating system development refers to the development of operating systems, usually as a hobby realized by people not constituting a company. Although many of these operating systems are developed by computing professionals, some of these projects become widely used, even commercially, such as Linux. The slang term osdev was coined for the process of development of such systems.
Osdev generally refers to amateur development of new operating systems. Most hobby operating systems are developed by a small group of hobbyists, or exclusively by the original creator.
Among the most famous OSdev projects is the Linux Kernel, which was also started as an amateur project. Beside that, many other popular operating systems started as educational operating systems (the BSD series, for example). Still, most of these amateur projects are stopped in early development stages.
[edit] Development
Elements of traditional PC based operating systems include:
- Kernel:
- Booting the kernel
- Memory addressing
- Task management and scheduling
- Device driver management
- Hardware programming:
Many kernel developers find the C programming language and assembler the best languages for their work due to their low-level nature. Some programmers also use programming languages such as C++, Pascal, and other, sometimes more exotic languages.
The most commonly used platform is x86. A beginner might want to create a bootstrap program (for example, to write his name on the screen), perhaps followed by a memory manager, a task manager, a file system, and a device manager.
Many open source operating systems have opted for a cross-platform coding approach replacing only the architecture specific code from one port to another. Generally, an operating system is more portable if only a part of its kernel is machine specific and all of the other software layers are architecture independent. This concept is also applied in NetBSD, which runs on a large variety of hardware and can easily be ported to embedded systems.
[edit] See also
[edit] External links
As the topic is quite popular, there are many web pages and other online resources related to it.
- OSDev.org - OSDev MediaWiki, Forums, and News - also home to the OSFAQ (merged with forums from Mega-Tokyo)
- Polish OSDev with good forum
- OSDEV Community
- Bona Fide OS Development Resources & IRC Channel
- Operating System Index
- Operating System Index 2
- Operating System Resource Center
- Write your own OS - A project of the alt.os.development newsgroup
- [FR] OS Development Forum - An OSDEV Community