less_retarded_wiki/operating_system.md
2021-12-19 00:26:34 -06:00

1.9 KiB

Operating System

Operating System (OS) is normally a hugely complex program that's typically installed before any other program and serves as a platform for running other programs as well as managing resources (CPU usage, RAM, files, network, ...) and offering services and interfaces for humans and programs.

There is a nice CC0 wiki for OS development at https://wiki.osdev.org/.

From programmer's point of view a serious OS is one of the most difficult pieces of software one can pursue to develop. The task involves an enormous amount of low-level programming, development of own tools from scratch and requires deep and detailed knowledge of all components of a computer, of established standards as well as many theoretical subjects such as compiler design.

An OS, as a software, consists of two main parts:

  • kernel: The base/core of the system, running in the most privileged mode, offering an environment for user applications.
  • userland (applications): The set of programs running on top of the kernel. These run in lower-privileged mode and use the services offered by the kernel via so called system calls.

For example in GNU/Linux, Linux is the kernel and GNU is the userland.

Attributes/Features

TODO

Notable Operating Systems

Below are some of the most notable OSes.