Software Development Resources
Main Page | Software Development | Categories | Recent changes | About DocForge
Log in / create account | Log in with OpenID | Help

Operating system

From DocForge

Revision as of 17:51, 30 April 2011 by InfiniteRand (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

An operating system, or OS, is the most low-level software running on most computers. It provides an interface between the computer's hardware and application software, translating high-level instructions from programs into low-level hardware instructions.

Many operating systems also provide a user interface and a collection of tools to carry out functions on the hardware (such as connecting to the internet, formatting disks, etc). To distinguish between the entire operating system, including the user interface, and the core hardware interface layer, the latter is generally referred to as the operating system kernel.

[edit] Features For Software Developers

Most operating systems provide facilities for third party developers to write software to be run on the operating system. Special purpose operating systems, such as those found in machinery and dedicated electronic devices, are often not meant to be modified or supplemented by anyone but the vendor. Common use operating systems, found on most general purpose desktops and servers, are designed to be hosts to custom software.

Features software developers might look for in an operating system:

Consistent API
As the operating system provides an interface to the hardware, and often the user, it needs to have a relatively easy and consistent way for software to connect to this interface. For example, an application might need access to long term disk storage, which an OS should make readily available without the application developer needing to worry about hardware details. A balance is needed between a reasonable level of abstraction, flexibility, and complexity.
Tools
Either the operating system creator or third parties must supply adequate tools for software development. Without good tools an OS isn't very inviting for developers. Systems based on Linux/Unix, for example, come with command line compilers and interpreters. Most systems also have text editors and IDEs bundled or available from vendors.
Source code
Many software developers learn from or augment the source code. Software developers working for a hardware vendor, for example, may benefit from being able to tweak the kernel and drivers to perform better on their specific hardware. Students and others generally interested in operating systems can gain valuable insight from having access to operating system code which is in common use (as opposed to code which is purely academic).

[edit] See Also

The most popular proprietary desktop operating systems include:

The most popular open source operating systems include:

Historically important operating systems include:

  • DOS - this term includes a wide range of operating systems that were once popular such as MS-DOS. Currently open source projects are continuing development of DOS-related operating systems such as FreeDOS
  • AmigaOs - development of this operating system is continuing, however in the past, it has intermittently halted due to changing hands between different companies.
  • BeOS - development of this operating system has officially ceased, however the open-source operating system Haiku is a descendant of it.
  • MacOS Classic - While like MacOS X, MacOS Classic was from Apple, this earlier operating system had a completely different architecture.
  • Nextstep - While discontinued, this operating system became the basis of MacOS X.

Discussion

comments powered by Disqus