World Library  
Flag as Inappropriate
Email this Article

Hobbyist operating system development

Article Id: WHEBN0000229119
Reproduction Date:

Title: Hobbyist operating system development  
Author: World Heritage Encyclopedia
Language: English
Subject: Operating system, Operating systems, Process control block, CPU modes, Hybrid kernel
Collection: Operating System Technology
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Hobbyist operating system development

Hobbyist operating system development is one of the more involved and technical options for a computer hobbyist. The definition of a hobby operating system can sometimes be vague. It can be from the developer's view, where the developers do it just for fun or learning; it can also be seen from the users view, where the users are only using it as a toy; or it can be defined as an operating system which doesn't have a very big user base. [1] Development can begin from existing resources like a kernel, an operating system or a bootloader, or it can also be made completely from scratch. The development platform could be a bare hardware machine, which is the nature of an operating system, but it can be developed and tested on a virtual machine. Since the hobbyist must claim more ownership for adapting a complex system to the ever changing needs of the technical terrain, much enthusiasm is common amongst the many different groups attracted to operating system development.

Contents

  • Development 1
  • User Interface 2
  • Use of BIOS 3
  • See also 4
  • References 5
  • External links 6

Development

Elements of operating system development include:

The C programming language is frequently used for hobby operating system programming, along with Assembly, though other languages can be used as well.

The use of assembly language is more common with smaller systems, especially those based on eight bit microprocessors such as the MOS Technology 6502 family or the Zilog Z-80, or in systems with a lack of available resources because of its small output size and low-level efficiency.[2]

User Interface

Most hobby operating systems use a command-line interface or a simple text user interface due to ease of development. More advanced hobby operating systems may have a graphical user interface.

Use of BIOS

BIOS (Basic Input/Output System) is a firmware chip designed to initialise computer hardware and load a computer's operating system.[3] BIOS also sets up a standard interface for several low-level device drivers at boot time. Their drivers are often used by hobbyist operating systems, especially those written on 16-bit x86 machines. BIOS drivers are commonly used because many developers hobbyist operating systems lack the time to write complex low level drivers themselves or they simply want to get into writing software for the system as soon as possible.

The most commonly used BIOS functions are VideoBIOS and Disk services. These are used because video cards and disk drives vary significantly on different machines and specialised drivers are often difficult to write.

The use of BIOS is uncommon in operating systems that operate in Protected mode or Long mode to use BIOS drivers, because the system must switch to real mode which BIOS drivers run in.[4]

See also

References

  1. ^ """Discussion of "My OS is less hobby than yours. Osnews. December 5, 2012. Retrieved December 5, 2012. 
  2. ^ Uses of assembly language
  3. ^ About BIOS
  4. ^ OSDev - Use of BIOS in protected or long mode

External links

  • OSDev.org - A hobby OSDev community
  • aodfaq - 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
  • A step by step tutorial
  • The little book about OS development - This book is a practical guide to writing your own x86 operating system
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 



Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.