Jump to content

Hobbyist operating system

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 164.77.221.150 (talk) at 01:50, 27 July 2006 (External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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:

Basic Architecture of a General Purpose Computer

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


Official OSDev Project list (130+ OS projects)

As the topic is quite popular, there are many web pages and other online resources related to it.