41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
# 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](ram.md), [files](file.md), [network](network.md), ...) and offering services and interfaces for humans and programs.
|
|
|
|
There is a nice [CC0](cc0.md) 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](low_level.md) 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](compiler.md) design.
|
|
|
|
An OS, as a software, consists of two main parts:
|
|
|
|
- **[kernel](kernel.md)**: The base/core of the system, running in the most privileged mode, offering an environment for user applications.
|
|
- **[userland](userland.md) (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](syscall.md).
|
|
|
|
For example in GNU/Linux, [Linux](linux.md) is the kernel and [GNU](gnu.md) is the userland.
|
|
|
|
## Attributes/Features
|
|
|
|
TODO
|
|
|
|
## Notable Operating Systems
|
|
|
|
Below are some of the most notable OSes.
|
|
|
|
- [Android](android.md)
|
|
- [BSD](bsd.md) systems such as [OpenBSD](openbsd.md) and [freeBSD](freebsd.md): Unix-like OSes
|
|
- [Collapse OS](collapseos.md)
|
|
- [DOS](dos.md), [FreeDOS](freedos.md)
|
|
- [GNU](gnu.md)/[Linux](linux.md) systems encompassing many [distributions](distro.md)
|
|
- [Haiku](haiku.md)
|
|
- [Inferno](inferno.md): OS in the style of Plan 9
|
|
- [MacOS](macos.md)
|
|
- [Minix](minix.md)
|
|
- [Plan 9](plan9.md): research OS, continuing the ideas of [Unix](unix.md)
|
|
- [ReactOS](reactos.md)
|
|
- [Replicant](replicant.md)
|
|
- [Solaris](solaris.md)
|
|
- [TempleOS](templeos.md): simple [meme](meme.md) OS written by a [Terry Davis](terry_davis.md)
|
|
- [Unix](unix.md)
|
|
- [Windows](windows.md): very bad [proprietary](proprietary.md) [capitalist](capitalist_software.md) OS
|
|
- [9front](9front.md): OS based on Plan 9
|
|
- ... |