This commit is contained in:
Miloslav Ciz 2025-03-17 16:42:36 +01:00
parent 6f0a813940
commit f69e3a3e4b
16 changed files with 2006 additions and 1999 deletions

View file

@ -1,6 +1,6 @@
# Operating System
Operating System (OS) is usually a quite complex [program](program.md) that's typically installed on a [computer](computer.md) before any other user program and serves as a platform for running other programs as well as handling [low level](low_level.md) functions, managing resources ([CPU](cpu.md) usage, [RAM](ram.md), [files](file.md), [network](network.md), ...) and offering services, protection and [interfaces](interface.md) for humans and programs. If computer was a city, an OS is its center that was built first and where its government resides. As with most things, the definition of an OS can differ and be stretched greatly -- while a typical OS will include features such as [graphical interface](gui.md) with windows and mouse cursor, [file system](file_system.md), [multitasking](multitasking.md), [networking](network.md), [audio](audio.md) system, safety mechanisms or user accounts, there exist OSes that work without any said feature. Though common on mainstream computers, operating system isn't necessary; it may be replaced by a much simpler program (something akin to a program loader, BIOS etc.) or even be absent altogether -- programs that run without operating system are called "[bare metal](bare_metal.md)" programs (these can be encountered on many simple computers such as [embedded](embedded.md) devices).
Operating System (OS) is usually a quite [complex](bloat.md) [program](program.md) that's typically installed on a [computer](computer.md) before any other user program and serves as a platform for running other programs as well as handling [low level](low_level.md) functions, managing resources ([CPU](cpu.md) usage, [RAM](ram.md), [files](file.md), [network](network.md), ...) and offering services, protection and [interfaces](interface.md) for humans and programs. If computer was a city, an OS is its center that was built first and where its government resides. As with many terms, the definition of an OS can differ and be stretched greatly -- while a typical OS will include features such as [graphical interface](gui.md) with windows and mouse cursor, [file system](file_system.md), [multitasking](multitasking.md), [networking](network.md), [audio](audio.md) system, safety mechanisms or user accounts, there exist OSes that work without any said feature. Though common on mainstream computers, operating system isn't necessary; it may be replaced by a much simpler program (something akin to a program loader, BIOS etc.) or even be absent altogether -- programs that run without operating system are called "[bare metal](bare_metal.md)" programs (these can be encountered on many simple computers such as [embedded](embedded.md) devices).
There is a nice [CC0](cc0.md) wiki for OS development at https://wiki.osdev.org/.
@ -8,7 +8,7 @@ Examples of operating systems are [Unix](unix.md) (one of the first and most inf
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.
**Which OS is the best?** Currently there seems to be almost no good operating system in existence, except perhaps for [Collapse OS](collapseod.md) and [Dusk OS](duskos.md) which may be the closest to [LRS](lrs.md) at the moment, but aren't widely used yet and don't have many programs running on them. Besides this there are quite a few relatively usable OSes, mostly [Unix](unix.md) like systems. For example [OpenBSD](openbsd.md) seems to be one of them, however it is [proprietary](proprietary.md) (yes, it contains some code without valid licenses, for example [this](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/microcode/tigon/tigon-license?rev=1.5&content-type=text/x-cvsweb-markup), [this](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/microcode/yds/yds-license?rev=1.3&content-type=text/x-cvsweb-markup) etc.) and too obsessed with MUH [SECURITY](security.md), and still a bit overcomplicated. [HyperbolaBSD](hyperbolabsd.md) at least tries to address the freedom issue of OpenBSD but suffers from many others. [Devuan](devuan.md) is pretty usable, [just werks](just_werks.md) and is alright in not being an absolute apeshit of consoomerist bloat. [FreeDOS](freedos.md) seemed nice too: though it's not Unix like, it is much more [KISS](kiss.md) than Unices, but it will probably only work on [x86](x86.md) systems.
**Which OS is the best?** Currently there seems to be almost no [good](good.md) operating system in existence, except perhaps for [Collapse OS](collapseod.md) and [Dusk OS](duskos.md) which may be the closest to [LRS](lrs.md) at the moment, but aren't widely used yet and don't have many programs running on them. Besides this there are quite a few relatively usable OSes, mostly [Unix](unix.md) like systems. For example [OpenBSD](openbsd.md) seems to be one of them, however it is [proprietary](proprietary.md) (yes, it contains some code without valid licenses, for example [this](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/microcode/tigon/tigon-license?rev=1.5&content-type=text/x-cvsweb-markup), [this](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/microcode/yds/yds-license?rev=1.3&content-type=text/x-cvsweb-markup) etc.) and too obsessed with MUH [SECURITY](security.md), and still a bit overcomplicated. [HyperbolaBSD](hyperbolabsd.md) at least tries to address the freedom issue of OpenBSD but suffers from many others. [Devuan](devuan.md) is pretty usable, [just werks](just_werks.md) and is alright in not being an absolute apeshit of [consoomerist](consumerism.md) bloat. [FreeDOS](freedos.md) seemed nice too: though it's not Unix like, it is much more [KISS](kiss.md) than Unices, but it will probably only work on [x86](x86.md) systems.
An OS, as a software, consists of two main parts: