Operating system development
Operating system development is one of the more involved and technical options for a computer hobbyist. A hobby operating system is classified as one with little or no support from other developers. [1] Development begins with an existing operating system[citation needed]. The development platform may be a bare hardware machine, which is the nature of an operating system, but it can be developed and tested on a virtual machine. Because the hobbyist must claim more ownership for adapting a complex system to the ever changing needs of the technical terrain, zeal and enthusiasm is common amongst the many different groups attracted to operating system development.
Contents |
[edit] Development
Elements of traditional PC based operating systems include:
- Kernel:
- Bootstrapping
- Memory management
- Process management and scheduling
- Device driver management
Traditionally, kernel developers have commonly used the C programming language and Assembly. C remains popular for OS developers, as it provides low-level pointer manipulation and requires no run-time support (as opposed to some elements of C++, such as the new and delete operators).
[edit] References
- ^ "My OS is less hobby than yours". Osnews. December 21, 2009. http://www.osnews.com/story/22638/My_OS_Is_Less_Hobby_than_Yours. Retrieved December 21, 2009.
[edit] See also
[edit] External references
- OSDev.org - A hobby OSDev community
- aodfaq - Extensive and editable OS development FAQ
- Bona Fide OS Development - Store of OS development tutorials and other documents
- Operating System Resource Center - Information and resources on various OSDev topics (both software and hardware)
- #OsDev on Freenode - An IRC channel for OSDev enthusiasts
- [1] - Step by step tutorial.
- Germsoft.com - A small collection of tutorials on os development.