Hobbyist operating system
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, as opposed to well-established operating systems such as Unix on mainframe computers and DOS on personal computers, yet their creators developed the operating system themselves or with a group. It is a current trend in the open source movement.
Among the most famous OSdev projects is the Linux Kernel, wich was also started as an amateur projecti. 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 (LainOS).
Development
Elements of operating systems include:
- Kernel:
- Booting your kernel
- Memory addressing
- Task management
- 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. 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.
Some known amateur systems
- Ace OS
- AGNIX
- AreoOS
- AROS
- Avios
- Brainix
- BRiX
- Dfdos
- Dome
- EROS
- Ezos
- Gemini Nucleus
- Mentat
- MenuetOS
- Moebius
- Moo32
- Queeg
- Rtmk
- Sobs
- SurfOS
- TecOS
- Tinos
- V2_OS
Official OSDev Project list (130+ OS projects)
External links
As the topic is quite popular, there are many web pages and other online resources related to it.