Operating systems

From Things and Stuff Wiki
Revision as of 18:10, 3 April 2024 by Milk (talk | contribs) (→‎BeOS)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


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


  • Unix, Plan 9 and the Lurking Smalltalk - Stephen Kell. Abstract: High-level programming languages and their virtual machines have long aspired to erase operating systems from view. Starting from Dan Ingalls’ Smalltalk-inspired position that “an operating system is a collection of things that don’t fit inside a language; there shouldn’t be one”, I contrast the ambitions and trajectories of Smalltalk with those of Unix and its descendents, exploring why Ingalls’s vision appears not (yet) to have materialised. Firstly, I trace the trajectory of Unix’s “file”abstraction into Plan 9 and beyond, noting how its logical extrapolation suggests a surprisingly Smalltalk-like end-point. Secondly, I note how various reflection and debugging features of Smalltalk have many analogues in the fragmented world of Unix programming. Finally, I consider these how these two directions of change may yet be convergent within future Unix-derived systems, and what this might mean for programming languages.


Kernel

Monolithic

Microkernel





  • Genode - a novel OS architecture that is able to master complexity by applying a strict organizational structure to all software components including device drivers, system services, and applications. The Genode OS framework is an open-source tool kit for building highly secure component-based operating systems. It scales from embedded devices to dynamic general-purpose computing.

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.




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]


  • https://github.com/brutal-org/brutal - office An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s with modern technology and engineering



  • ToaruOS - A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.

Various

See also Computing#Operating system


TENEX

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.


TOPS-20

  • https://en.wikipedia.org/wiki/TOPS-20 - by Digital Equipment Corporation (DEC) was a proprietary OS used on some of DEC's 36-bit mainframe computers. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC PDP-10 and the DECSYSTEM-20). TOPS-20 began in 1969 as the TENEX operating system of Bolt, Beranek and Newman (BBN) and shipped as a product by DEC starting in 1976. TOPS-20 is almost entirely unrelated to the similarly named TOPS-10, but it was shipped with the PA1050 TOPS-10 Monitor Calls emulation facility which allowed most, but not all, TOPS-10 executables to run unchanged. As a matter of policy, DEC did not update PA1050 to support later TOPS-10 additions except where required by DEC software.

V

  • https://en.wikipedia.org/wiki/V_(operating_system) - sometimes written V-System, is a discontinued microkernel operating system that was developed by faculty and students in the Distributed Systems Group at Stanford University from 1981 to 1988, led by Professors David Cheriton and Keith A. Lantz.[1] V was the successor to the Thoth and Verex operating systems that Cheriton had developed in the 1970s. Despite very similar names and close development dates, it is unrelated to UNIX System V.

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.

Acorn MOS / BBC Micro





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."











  • 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.








  • https://github.com/forsyth/avr - Plan 9 C compiler za/zc/zl supporting AVR32, including a small OS to run on a clone of the Berkeley mote, with some extra audio hardware










Inferno


Minix


MS-DOS


  • https://github.com/charliesome/doslinux - A WSL alternative for users who prefer an MS-DOS environment. DOS Subsystem for Linux integrates a real Linux environment into MS-DOS systems, allowing users to make use of both DOS and Linux applications from the DOS command prompt.





  • https://github.com/dspinellis/dostrace - a system utility that produces a listing of the MS-DOS requests made by a process. It is a useful debugging tool that can be used on any executable program. Trace can also be used to provide a better understanding of the internal workings of many programs. A utility with the same name and similar functionality was provided with SunOS, and is currently available on modern versions of Unix and similar systems with names such as strace, ktrace, and dtrace.


  • https://github.com/haileys/doslinux - A WSL alternative for users who prefer an MS-DOS environment. DOS Subsystem for Linux integrates a real Linux environment into MS-DOS systems, allowing users to make use of both DOS and Linux applications from the DOS command prompt.

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!

GEOS

RISC OS

Redox


Genode


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.



to sort








  • 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. [31]










  • OS/2


http://gunkies.org/wiki/Gordon_Letwin_OS/2_usenet_post










Amstrad

C64

  • C64 OS - has one goal; make a Commodore 64 feel fast and useful in today’s modern world. [36]





  • https://github.com/frntc/RAD - a cartridge/expansion for the C64 and C128 using a Raspberry Pi 3A+, 3B+ or Zero 2 to implement the actual functionality. Currently it emulates a RAM Expansion Unit up to 16mb (compatible to CBM 1700/1750/1764 REU, CLD Super 1750 Clone, CMD 1750/1750XL, and a GeoRAM/NeoRAM memory expansion up to 4mb. It also features a menu to browse, manage and launch REU- and GeoRAM-images, NUVIEs, and PRGs. The RAD is designed to not only emulate existing extensions, other things that have already been tested (but not yet included here) are, for example, MOS 6510/8500 emulation (incl. turbo mode) or using the RAD as a (co-)processor (in fact the menu runs on the ARM CPU only).


  • https://github.com/frntc/RAD-Doom - replaces the MOS6510/8500/8502-CPU of your C64/C128 and natively runs DOOM on the ARM CPU. The purpose of the demo is to experiment with real-time graphics (on-the-fly color reduction and conversion from RGB-frame buffers), sound streaming to the SID, and using C64 peripherals such as keyboard, mouse and MIDI-interfaces. Note that it is currently set up for PAL machines only.

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. [37]



  • https://github.com/EtchedPixels/FUZIX - a fusion of various elements from the assorted UZI forks and branches beaten together into some kind of semi-coherent platform and then extended from V7 to somewhere in the SYS3 to SYS5.x world with bits of POSIX thrown in for good measure. Various learnings and tricks from ELKS and from OMU also got blended in

Uxn

  • Uxn - a portable 8-bit virtual computer capable of running simple tools and games programmable in its own little assembly language. It is also playground to learn basic computation skills.




Slitaz

  • Slitaz - a 50MB Lightweight Desktop Operating System - [39]

Essence

Embedded

Mbed

  • Mbed - a free open source IoT operating system with connectivity, security, storage, device management and machine learning. Build your next product with free development tools, thousands of code examples and support for hundreds of microcontroller development boards.