Operating systems
Operating system
See also *nix, Virtualisation, Distros, Android, Windows, Apple
- OSDev.org - wiki that provides information about the creation of operating systems and serves as a community for those people interested in OS creation
Kernel
Monolithic
Microkernel
Hybrid
Exokernel
- https://en.wikipedia.org/wiki/Exokernel - force as few abstractions as possible on developers, enabling them to make as many decisions as possible about hardware abstractions. Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolithic kernels' implementation of abstractions.
Unikernels
- Mirage OS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS such as Linux or MacOS X, and then compiled into a fully-standalone, specialised unikernel that runs under the Xen hypervisor.
- includeOS - allows you to run your application in the cloud without an operating system. IncludeOS adds operating system functionality to your application allowing you to create performant, secure and resource efficient virtual machines. IncludeOS applications boot in tens of milliseconds and require only a few megabytes of disk and memory.
- https://github.com/solo-io/unik - A platform for automating unikernel compilation and deployment
Nanokernel
- https://en.wikipedia.org/wiki/GNOSIS - a capability-based operating system that was researched during the 1970s at Tymshare, Inc. It was based on the research of Norman Hardy, Dale E. Jordan, Bill Frantz, Charlie Landau, Jay Jonekait, et al. It provided a foundation for the development of future operating systems such as KeyKOS, EROS, CapROS and Coyotos. After the acquisition of Tymshare, Inc. by McDonnell Douglas in 1984 GNOSIS was sold to Key Logic.
- https://en.wikipedia.org/wiki/KeyKOS - a persistent, pure capability-based operating system for the IBM S/370 mainframe computers. It allows emulating the VM, MVS, and POSIX environments. It is a predecessor of the Extremely Reliable Operating System (EROS), and its successors, the CapROS and Coyotos operating systems. KeyKOS is a nanokernel-based operating system.
- https://en.wikipedia.org/wiki/EROS_(microkernel) - an operating system developed beginning in 1991 by The EROS Group, LLC., the Johns Hopkins University, and the University of Pennsylvania. Features include automatic data and process persistence, some preliminary real-time support, and capability-based security. EROS is purely a research operating system, and was never deployed in real world use. As of 2005, development has stopped in favor of two successor systems, CapROS and Coyotos.
- https://en.wikipedia.org/wiki/CapROS - an open source operating system. It is a pure capability-based system that features automatic persistence of data and processes, even across system reboots. Capability systems naturally support the principle of least authority, which improves security and fault tolerance. CapROS is an evolution of the EROS system. While EROS was purely a research system, CapROS is intended to be a stable system of commercial quality. CapROS currently runs on Intel IA-32 and ARM microprocessors.
to sort
- https://en.wikipedia.org/wiki/Language-based_system - a type of operating system that uses language features to provide security, instead of or in addition to hardware mechanisms. In such systems, code referred to as the trusted base is responsible for approving programs for execution, assuring they cannot perform operations detrimental to the system's stability without first being detected and dealt with.
- McKernel - a light-weight multi kernel operating system designed specifically for high performance computing. It runs Linux and McKernel, a lightweight kernel (LWK), side-by-side on compute nodes primarily aiming at the followings: Provide scalable and consistent execution of large-scale parallel applications and at the same time rapidly adapt to exotic hardware and new programming models; Provide efficient memory and device management so that resource contention and data movement are minimized at the system level; Eliminate OS noise by isolating OS services in Linux and provide jitter free execution on the LWK; Support the full POSIX/Linux APIs by selectively offloading system calls to Linux [11]
Various
See also Computing#Operating system
- Open Source RTOS - List of open source real-time operating systems[12]
CP/M
- https://en.wikipedia.org/wiki/CP/M - originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors. The combination of CP/M and S-100 bus computers was loosely patterned on the MITS Altair, an early standard in the microcomputer industry. This computer platform was widely used in business through the late 1970s and into the mid-1980s. CP/M increased the market size for both hardware and software by greatly reducing the amount of programming required to install an application on a new manufacturer's computer. An important driver of software innovation was the advent of (comparatively) low-cost microcomputers running CP/M, as independent programmers and hackers bought them and shared their creations in user groups. CP/M was displaced by DOS soon after the 1981 introduction of the IBM PC.
Oberon
- https://en.wikipedia.org/wiki/Oberon_(operating_system) - a modular, single-user, single-process, multitasking operating system written in the programming language of the same name. It was originally developed in the late 1980s at ETH Zürich. The Oberon System has an unconventional visual Text User Interface instead of a conventional CLI or GUI. This "TUI" was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system.The Oberon System is still maintained, but also subsequently developed into the multi-process, SMP-capable Bluebottle operating system, with a zooming user interface.
Plan 9
Unix done 'better'. Ideas from Plan 9 made it into Linux, like more things being files.
See also Storage/Files#9P
- https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs - a distributed operating system, originating in the Computing Sciences Research Center (CSRC) at Bell Labs in the mid-1980s, and building on UNIX concepts first developed there in the late 1960s; until the Labs' final release at the start of 2015. UNIX's 'everything is a file' metaphor was to be extended via a pervasive network-centric filesystem, and graphical user interface assumed as a basis for almost all functionality, though retaining a heavily text-centric ideology. Authoring of source code was made as close to platform-agnostic as possible, while the physical login location of a user was also to be considered arbitrary and irrelevant, as far as practical within the limits of available hardware and laws of physics. The name Plan 9 from Bell Labs is a reference to the Ed Wood 1959 cult science fiction Z-movie Plan 9 from Outer Space. Also, Glenda, the Plan 9 Bunny, is presumably a reference to Wood's film Glen or Glenda. The system continues to be used and developed by operating system researchers and hobbyists.
"In Plan 9, each process has its own filesystem tree, and other programs can expose themselves to this process as file servers, meaning that data internal to the programs can be accessed via the same read, write, delete, etc. calls as files. For example, when running under rio, the Plan 9 window system, the current window contents are available at /dev/window and you can write draw calls to /dev/draw to do graphics."
- YouTube: Narrated Plan 9 Demo
- Plan 9 from User Space - a port of many Plan 9 programs from their native Plan 9 environment to Unix-like operating systems.
- Rc - a command interpreter for Plan 9 that provides similar facilities to UNIX’s Bourne shell, with some small additions and less idiosyncratic syntax. This paper uses numerous examples to describe rc’s features, and contrasts rc with the Bourne shell, a model that many readers will be familiar with. Rc is similar in spirit but different in detail from UNIX’s Bourne shell. This paper describes rc’s principal features with many small examples and a few larger ones. It assumes familiarity with the Bourne shell.
- The Use of Name Spaces in Plan 9 - The Use of Name Spaces in Plan 9 [14]
- https://github.com/aiju/jsdrawterm - Javascript 9P/drawterm implementation. Yes, Javascript. (Also some C compiled to WebAssembly)
- http://en.wikipedia.org/wiki/9P - networking
- http://sam.cat-v.org/ - text editor
- http://www.glendix.org/ - plan9 on linux [16] dead?
Inferno
- https://github.com/bhgv/Inferno-OS_Android - an Android port of Inferno OS. it works as a regular Android (> 4.0) app. to build it needs only Android Studio (>3.0) and NDK
Minix
MS-DOS
- https://github.com/Microsoft/MS-DOS - The original sources of MS-DOS 1.25 and 2.0, for reference purposes
FreeDOS
- FreeDOS is a free DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems. FreeDOS is basically like MS-DOS, but better!
- http://www.fdos.org/ - boot images, kernel plus related builds
GEOS
Redox
Genode
- http://genode.org/ - security with sandboxes
BeOS
TempleOS
- https://en.wikipedia.org/wiki/TempleOS - formerly J Operating System, SparrowOS and LoseThos) is a biblical-themed lightweight operating system designed to be the Third Temple prophesied in the Bible. It was created by American programmer Terry A. Davis, who developed it alone over the course of a decade after a series of episodes that he later described as a revelation from God.The system was characterized as a modern x86-64 Commodore 64, using an interface similar to a mixture of DOS and Turbo C. Davis proclaimed that the system's features, such as its 640x480 resolution, 16-color display and single audio voice, were explicitly instructed to him by God. It was programmed with an original variation of C (named HolyC) in place of BASIC, and included an original flight simulator, compiler and kernel .TempleOS was released in 2013 and last updated in 2017. It was received with largely favorable reviews in tech communities and Davis amassed a small online following. He died on August 11, 2018.
- https://github.com/obecebo/erythros - An operating system based on TempleOS
- https://github.com/obecebo/redseafs - FUSE implementation of TempleOS RedSea file system
to sort
- http://www.osv.io/ - for cloud containers
- http://mailman.cs.huji.ac.il/pipermail/linux-il/2013-September/010649.html
- https://github.com/cloudius-systems/osv
- https://github.com/cloudius-systems/osv/wiki/Running-OSv-under-KVM-QEMU
- https://docs.google.com/presentation/d/11mxUl8PBDQ3C4QyeHBT8BcMPGzqk-C8bV1Fw8xLgwSI/preview?pli=1&sle=true#slide=id.g104154dae_12
- http://lwn.net/SubscriberLink/567222/d02ddd1c4e25ae22/ [22]
- Sortix - a small self-hosting operating-system aiming to be a clean and modern POSIX implementation. It is a hobbyist operating system written from scratch with its own base system, including kernel and standard library, as well as ports of third party software. It has a straightforward installer and can be developed under itself. Releases come with the source code in /src, ready for tinkering. It has been in development since February 08 2011 by a single developer and contributors. Though the system is stable and capable right now, it is still early in development, and a number of crucial features haven't been made yet. Releases are made yearly and future releases will add features such as networking, SMP, and USB that were skipped in favor of becoming self-hosting now. [26]
- https://en.wikipedia.org/wiki/Singularity_%28operating_system%29 - microsoft microkernel
- OS/2
http://gunkies.org/wiki/Gordon_Letwin_OS/2_usenet_post
- http://www.nuttx.org - microcontrollers
- https://github.com/rsta2/circle - A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit)
Amstrad
C64
- https://github.com/mist64/cbmsrc - Original source code of various Commodore computers and peripherals.
Z80
- https://en.wikipedia.org/wiki/Zilog_Z80 - an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were delivered in March 1976, and it was officially introduced on the market in July 1976. With the revenue from the Z80, the company built its own chip factories and grew to over a thousand employees over the following two years. The Zilog Z80 was a software-compatible extension and enhancement of the Intel 8080 and, like it, was mainly aimed at embedded systems. Although used in that role, the Z80 also became one of the most widely used CPUs in desktop computers and home computers from the 1970s to the mid-1980s. It was also common in military applications, musical equipment, such as synthesizers, and in the computerized coin operated video games of the late 1970s and early 1980, the arcade machines or video game arcade cabinets.
- Collapse OS - Bootstrap post-collapse technology. A z80 kernel and a collection of programs, tools and documentation that allows you to assemble an OS that can: Run on minimal and improvised machines. Interface through improvised means (serial, keyboard, display). Edit text files. Compile assembler source files for a wide range of MCUs and CPUs. Read and write from a wide range of storage devices. Replicate itself. Additionally, the goal of this project is to be as self-contained as possible. With a copy of this project, a capable and creative person should be able to manage to build and install Collapse OS without external resources (i.e. internet) on a machine of her design, built from scavenged parts with low-tech tools. [32]