hello friends! new(ish)!
/aosg/ Alternative Operating System General: Difference between revisions
>Ljnb No edit summary |
(Add new section on real-time OS) |
||
(64 intermediate revisions by 6 users not shown) | |||
Line 9: | Line 9: | ||
* [https://desuarchive.org/g/thread/90929121 third thread] | * [https://desuarchive.org/g/thread/90929121 third thread] | ||
* [https://desuarchive.org/g/thread/90959148 fourth thread], and OP is getting there and things are shaping up | * [https://desuarchive.org/g/thread/90959148 fourth thread], and OP is getting there and things are shaping up | ||
* [https://desuarchive.org/g/thread/90981190 fifth thread], and OP lapses back to missing title | |||
* [https://desuarchive.org/g/thread/91025448 sixth thread], and OP is still missing title | |||
* [https://desuarchive.org/g/thread/91043406/ seventh thread] still missing the title. | |||
* [https://desuarchive.org/g/thread/91065889/ eight thread] still missing the title. At least OP is systematic... | |||
* [https://desuarchive.org/g/thread/91194210 nineth thread], and OP is getting the title done and things are shaping up | |||
* [https://desuarchive.org/g/thread/91227214 tenth thread], and OP again gets the title done and things are shaping up | |||
* [https://desuarchive.org/g/thread/91223656 thread 11], and OP fails spectacularly. | |||
* [https://desuarchive.org/g/thread/91269861 thread 12], and OP fails totally. | |||
* [https://desuarchive.org/g/thread/91289845 thread 13], and OP does good and also combines /aosg/ with /aig/ | |||
* [https://desuarchive.org/g/thread/91335279 thread 14], and OP stays the course. Sadly thread washes out under a flood the mods never saw. | |||
* [https://desuarchive.org/g/thread/91416736 thread 15], and OP stays the course. Sadly thread washes out during night in Europe. | |||
* [https://desuarchive.org/g/thread/91526884 SerenityOS hate thread] - OP was filtered out by missing ISO. | |||
* [https://desuarchive.org/g/thread/91468068 thread 16], and OP stays the course. | |||
* [https://desuarchive.org/g/thread/91580864 RISC-V thread], which didn't last long. | |||
* [https://desuarchive.org/g/thread/91547471 RISC-V and Arduino], didn't last long either. | |||
* [https://desuarchive.org/g/thread/91602550 thread 17], and OP delivers the complete OP text, wherein also an OS library is started. | |||
* threads [https://desuarchive.org/g/thread/91694115 18], [https://desuarchive.org/g/thread/91776271 19], [https://desuarchive.org/g/thread/91901199 20], [https://desuarchive.org/g/thread/91996963 21], [https://desuarchive.org/g/thread/92024443 21], [https://desuarchive.org/g/thread/92093824 22], [https://desuarchive.org/g/thread/92130458 23], [https://desuarchive.org/g/thread/92146643 24], [https://desuarchive.org/g/thread/92241764 25], [https://desuarchive.org/g/thread/92276556 26], and OP stays the course. | |||
Some more recent threads also got washed out due to a big cross-board flood. A complete, updated list can always be found at [https://desuarchive.org/g/search/subject/aosg/type/op/ Desuarchive]. | |||
== List of Notable Alternative Operating Systems == | == List of Notable Alternative Operating Systems == | ||
* https://templeos.org/ TempleOS, the operating system built by it's sole developer, Terry A. Davis in HolyC over the course of several decades. | * https://templeos.org/ TempleOS, the operating system built by it's sole developer, Terry A. Davis in HolyC over the course of several decades. | ||
* https://github.com/Zeal-Operating-System/ZealOS ZealOS, modernized fork of TempleOS | |||
* http://collapseos.org/ the OS for the end of the world | * http://collapseos.org/ the OS for the end of the world | ||
* https://git.sr.ht/~vdupras/duskos is a 32-bit Forth and big brother to Collapse OS. Its primary purpose is to be maximally useful during the first stage of civilizational collapse | * https://git.sr.ht/~vdupras/duskos is a 32-bit Forth and big brother to Collapse OS. Its primary purpose is to be maximally useful during the first stage of civilizational collapse | ||
* http://phantomos.org/ | * http://phantomos.org/ | ||
* TRON - killed by a Hollywood grade conspiracy | * TRON - killed by a Hollywood grade conspiracy | ||
* Midori and Singularity from Microsoft, a managed kernel written in a variant of C# called Sing# [https://github.com/feel-the-dz3n/Singularity-OS Github archive] | * Midori and Singularity from Microsoft, a managed kernel written in a variant of C# called Sing# [https://github.com/feel-the-dz3n/Singularity-OS Github archive]. Also see [https://joeduffyblog.com/2015/11/03/blogging-about-midori/ these blog entries] for more information. | ||
* https://www.serenityos.org/ SerenityOS, an operating system that also is therapeutic and doesn't release ISOs, thus filtering trolls ([https://github.com/SerenityOS Github archive]) | * https://www.serenityos.org/ SerenityOS, an operating system that also is therapeutic and doesn't release ISOs, thus filtering trolls ([https://github.com/SerenityOS Github archive]) | ||
* http://users.atw.hu/gerigeri/DawnOS/index.html Dawn, an operating system complete with a GUI and userspace programs designed for the SUBLEQ single instruction architecture | * http://users.atw.hu/gerigeri/DawnOS/index.html Dawn, an operating system complete with a GUI and userspace programs designed for the SUBLEQ single instruction architecture | ||
Line 24: | Line 44: | ||
* https://en.wikipedia.org/wiki/OS/2 OS/2, a now discontinued historical operating system initially developed by IBM and Microsoft, notable for it's DOS compatibility and similarities to NT | * https://en.wikipedia.org/wiki/OS/2 OS/2, a now discontinued historical operating system initially developed by IBM and Microsoft, notable for it's DOS compatibility and similarities to NT | ||
* https://www.arcanoae.com/arcaos/ ArcaOS, a modern continuation of OS/2 | * https://www.arcanoae.com/arcaos/ ArcaOS, a modern continuation of OS/2 | ||
* https://github.com/froggey/Mezzano Mezzano is written in Lisp | * https://github.com/froggey/Mezzano Mezzano is written in Lisp | ||
* https://github.com/vygr/ChrysaLisp Another Lisp based OS | |||
* https://toaruos.org/ ToaruOS is heavily manga inspired where 100 Yen coins are routinely launched at relativistic velocities. ( [https://github.com/klange/toaruos Github]) | * https://toaruos.org/ ToaruOS is heavily manga inspired where 100 Yen coins are routinely launched at relativistic velocities. ( [https://github.com/klange/toaruos Github]) | ||
* https://www.ponyos.org/ PonyOS trots out the forbidden beast on 1st of April, much to the horror of most people | * https://www.ponyos.org/ PonyOS trots out the forbidden beast on 1st of April, much to the horror of most people | ||
* http://www.helenos.org/ HelenOS is a research focused operating system based on a microkernel written by Helen Keller | * http://www.helenos.org/ HelenOS is a research focused operating system based on a microkernel written by Helen Keller | ||
* https://sizeof.cat/project/hoshi/ Hoshi is an operating system built by a sole anon | * https://sizeof.cat/project/hoshi/ Hoshi is an operating system built by a sole anon | ||
* https://eltaninos.org/ minimal linux distro assembled and partly written by an anon | |||
* https://www.freertos.org/ FreeRTOS, a real-time operating system for microcontrollers | |||
* https://vmssoftware.com/ OpenVMS, the decendant of VMS that ran on big VAX machines, famous for uptimes measured in decades, especially when running VAXcluster. A [http://sanyalnet-openvms-vax.freeddns.org:82/ public OpenVMS server] is available for testing. | |||
* https://github.com/jnode/jnode Jnode, a semi dead Java based OS. | |||
* http://www.cse.psu.edu/~deh25/cmpsc473/assignments/HW234/cucs-470-89.pdf The Synthesis Operating System, where parts of the kernel is synthesized on demand, also see [https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871], [https://wiki.c2.com/?SynthesisOs] and [https://blog.regehr.org/archives/1676]. One thread [https://desuarchive.org/g/thread/92024443/#q92079724 expanded on the idea], and it was [https://desuarchive.org/g/thread/92276556/#q92305104 proposed] to do some defensive publications on what is tentatively called [[ShimOS]]. | |||
* https://www.gnu.org/software/hurd/ HURD, a GNU project that was overtaken by Linux; Stallman is still cross. | |||
* https://visopsys.org/ VisOpsys is an alternative operating system for PC compatible computers, in development since 1997, this system is small, fast, and open source. | |||
* http://www.projectoberon.com/ Project Oberon delivers the processor, OS and software. | |||
* https://github.com/vvaltchev/tilck is a Tiny Linux-Compatible Kernel | |||
* SunOS - started as a BSD style but transitioned painfully into SysV based Solaris, at the time compared unfavourably to the slow moving movie of the same name and also known as "Slowaris"; later turned into OpenSolaris. | |||
* https://illumos.org/ illumos is a decendant of Solaris, and is found in seveal distributions, including OmniOS, OpenIndiana, and Tribblix | |||
* CP/M was a popular OS for Z-80 computers in the 70s | |||
* https://fuchsia.dev/ Fuchsia is a microkernel based OS made by Google for unknown reasons, slowly developed | |||
* https://dahliaos.io/ dahliaOS is a modern, secure and lightweight operating system, combining GNU/Linux and Fuchsia OS. It [https://www.omgubuntu.co.uk/2022/02/a-quick-look-at-dahliaos-pangolin-desktop can run on either the Linux or Zircon kernels]. | |||
* https://www.cl.cam.ac.uk/~mr10/index.html TRIPOS is old, but influential, especially for Amiga OS. | |||
* https://www.fiwix.org/ FiwixOS 3.2 is a Fiwix distribution, an operating system made from a software collection that is based upon the Fiwix kernel. ([https://github.com/mikaku/Fiwix Github]) | |||
* https://ares-os.org/ The Ares Operating System is based on the Helios micro kernel (see below), and with Luna will also have a POSIX programming environment. | |||
* https://www.monaos.org/ MonaOS is a new, small, simple, open source and well structured, according to the author ([https://github.com/higepon/mona Github]). | |||
* https://lemonos.org/ Lemon OS is a hobbyist UNIX-like operating system for the x86_64 platform ([https://github.com/LemonOSProject/LemonOS Github]). | |||
* http://toastytech.com/guis/alto.html Xerox Alto, the very first OS with a GUI, quite extraordinary | |||
* http://www.jbox.dk/sanos/ SanOS an extremely small OS to do one thing: run a single java server application | |||
* http://cap-lore.com/CapTheory/KK/ Keykos | |||
* https://resea.org/ Resea ([https://github.com/nuta/resea source] on Github) | |||
* https://nakst.gitlab.io/essence Essence is a new desktop OS | |||
* https://aero.andypy.dev/aero_kernel/index.html Aero] (source on Github) is a new modern, experimental, UNIX-like operating system following the monolithic kernel design. Supporting modern PC features such as long mode, 5-level paging, and SMP (multicore), to name a few. | |||
* https://www.freedos.org/ Freedos is an open source DOS-compatible OS (source on Github). There are several GUIs to chose from, such as OpenGEM. | |||
* https://axleos.com/ AxleOS is a hobby microkernel x86_64 OS with userspace (source on Github). | |||
* https://artilleryos.org/ ArtilleryOS describes itself as a unique graphical operating system that combines the simplicity and power of Unix-like systems with a tiling window management environment. Featuring a custom-designed kernel, ArtilleryOS offers an efficient and user-friendly computing experience. (source on GitHub). | |||
* https://gitlab.com/sortix/sortix Sortix describes itself as 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. | |||
=== Object Oriented OS === | |||
These are written in an object oriented language and everything is an object. | |||
* http://www.o3one.org/ OZONE is from 2004 and is described by the author as ''So what makes it object-oriented? Well, just about everything in the kernel is an object. Threads, processes, devices, files, logical names, event flags are all objects. You can assign an logical name to objects. So for example, you could create an event flag and assign a logical name to it. Then other processes can access that event flag and synchronize between them.'' | |||
=== Embedded OS === | |||
* https://blackberry.qnx.com/en QNX, a compact micro kernel based OS for embedded use. It used to have a GUI but that is gone, and Photon was replaced by Qt, a QNX engineer even made a [https://membarrier.wordpress.com/2017/04/12/qnx-7-desktop/ desktop-like OS with QNX]. While QNX not advertises there is a hobbyst/education program, just contact a QNX sales rep, they can provide you free license. tdelellis at blackberry dot com can probably help you. There are builds for x86/64, arm and even for riscv aswell. | |||
* https://github.com/MannyPeterson/HeliOS Helios | |||
=== Real-Time OS === | |||
These are quite common in embedded systems. There is an extensive list and discussion over in [https://hackaday.com/2024/11/13/making-sense-of-real-time-operating-systems-in-2024/ Hackaday] ([https://archive.is/wZBQs Archive]) | |||
=== Operating Systems for Amiga === | === Operating Systems for Amiga === | ||
Line 36: | Line 95: | ||
* https://www.morphos-team.net/ MorphOS, a closed source Amiga-like operating system targeting the PowerPC architecture | * https://www.morphos-team.net/ MorphOS, a closed source Amiga-like operating system targeting the PowerPC architecture | ||
* https://aros.sourceforge.io/ AROS Research Operating System, another Amiga-like operating system designed around the AmigaOS 3.1 API | * https://aros.sourceforge.io/ AROS Research Operating System, another Amiga-like operating system designed around the AmigaOS 3.1 API | ||
* https://github.com/h5n1xp/CuriOS CuriOS is closely modelled upon the original AmigaOS architecture with a few modern twists like enforced policies and better suppor for multicore processors. | |||
There is also the Icaros Desktop, which describes itself as an Amiga-like operating system for the PC platform, with a full desktop environment, distributed on a bootable media. | |||
=== Plan 9 Family === | === Plan 9 Family === | ||
* https://9p.io/ Plan 9 - a research project from ATT by the founders of Unix | * https://9p.io/ Plan 9 - a research project from ATT by the founders of Unix | ||
* https://www.vitanuova.com/inferno/ Inferno - based on Plan 9, by many of the same people | |||
* https://9front.org/ 9front is a continuation | * https://9front.org/ 9front is a continuation | ||
* https://harvey-os.org/ HarveyOS is | * https://harvey-os.org/ HarveyOS is another continuation | ||
* http://jehanne.h--k.it/ JehanneOS takes most of userland tools and some kernel modules from 9front and other code from Harvey OS | * http://jehanne.h--k.it/ JehanneOS takes most of userland tools and some kernel modules from 9front and other code from Harvey OS | ||
Line 46: | Line 108: | ||
* https://www.menuetos.net MenuetOS, an operating system written entirely in assembly complete with a GUI. Not all is open source | * https://www.menuetos.net MenuetOS, an operating system written entirely in assembly complete with a GUI. Not all is open source | ||
* http://www.kolibrios.org/en/ KolibriOS is a free fork of MenuetOS. KolibriOS is very small - The kernel and most of the programs fit on a 1.44MB floppy disk. | * http://www.kolibrios.org/en/ KolibriOS is a free fork of MenuetOS. KolibriOS is very small - The kernel and most of the programs fit on a 1.44MB floppy disk. | ||
* http://dex-os.github.io/ DexOS is a x86 32-bit console like operating system, coded in 100% ASM | |||
* http://sebastianmihai.com/snowdrop/ Snowdrop OS is a homebrew operating system project with bootloader and GUI. | |||
* https://mikeos.sourceforge.net/ MikeOS is an operating system for x86 PCs, written in assembly language. It is a learning tool to show how simple 16-bit, real-mode OSes work, with well-commented code and extensive [https://mikeos.sourceforge.net/write-your-own-os.html documentation]. | |||
* https://github.com/ReturnInfinity Baremetal OS, one of many that are inspired by MikeOS | |||
=== Educational OS === | |||
* https://minix3.org/ [[MINIX]] is more widely used than first expected... | |||
* https://pdos.csail.mit.edu/6.828/2016/xv6.html a simple Unix-like teaching operating system | |||
* https://web.stanford.edu/class/cs140/projects/pintos/pintos.html is another simple Unix-like teaching operating system, used at Stanford. | |||
* https://github.com/yhzhang0128/egos-2000 implements every component of an operating system for education with only 2000 lines of code. It can run on a RISC-V board and the QEMU software emulator. There is a [https://egos.gitbook.io/egos-projects/ set of 6 course projects designed around the OS] available. | |||
=== Microkernels === | |||
The idea is to minimise the kernel and have all services running as services at lower privileges and in a way that the services can be restarted after a crash. Microkernels often work by message passing, and that can cause an overhead. Mach had major performance issues. Some resources: | |||
* https://fosdem.org/2023/schedule/event/microkernel2023/attachments/slides/5837/export/events/attachments/microkernel2023/slides/5837/2023_02_05_Decky_Microkernel_Landscape_2023.pdf The Microkernel Landscape in 2023 | |||
* http://www.microkernel.info/ Overview of microkernels | |||
Microkernels can roughly be divided into 3 families (Mach, GNOSIS, L4) and categories (capability-based, pure vs. impure, traditional vs. direct message passing). | |||
List of microkernels by generation: | |||
*First generation: RC 4000, Accent, Mach, Exec, MINIX, GNOSIS/KeyKOS, EROS, CapROS | |||
*Second generation: L3, L4 and reimplementations (Hazelnut, Pistachio, UNSW/NICTA ports, etc.) | |||
*Third generation: OKL4, Fiasco, seL4, NOVA | |||
List of microkernels: | |||
* Exec (Amiga) - the Executive at the deepest level of Amiga OS is a microkernel. | |||
* Minix is famously microkernel based and the author, Tanenbaum, slogged it out with Linux Torvalds and his decision to make Linux a monolithic kernel rather than a microkernel based OS. | |||
* Magenta, based on Little Kernel and later renamed into Zircon - this powers [https://fuchsia.dev/ Fuchsia]. | |||
* Mach, later GNU Mach - chosen to power HURD. | |||
* https://drewdevault.com/2022/06/13/helios.html Helios draws inspiration from seL4, and uses a capability-based design for isolation and security. It is used in The Ares Operating System (see above). | |||
* https://managarm.org/ Managarm is a pragmatic microkernel-based OS with fully asynchronous I/O. ([https://github.com/managarm Github]) | |||
* L4 is a family of microkernels | |||
==== L4 Family of Microkernels ==== | |||
L4 is [http://www.cse.unsw.edu.au/~cs9242/02/lectures/01-l4/01-l4.html comprehensibly explained in these lecture notes]. | |||
There are many members, the most important are: | |||
* L4 - can run Linux variants such as L4Linux | |||
* seL4 - high security microkernel | |||
* [https://l4re.org/ L4re] AKA Fiasco.OC, used by [https://www.kernkonzept.com/ Kernkonzept]. | |||
== Emulators == | |||
A full install, or even a live CD, is not necessarily needed, sincfe there are emulators. | |||
* https://copy.sh/v86/ JS VM with lots of OS, including one for Serenity OS. | |||
* http://simh.trailing-edge.com/ SimH (History Simulator) is a collection of simulators for historically significant or just plain interesting computer hardware and software from the past. Of special note is VAX/VMS where a [http://www.openvmshobbyist.com/ hobbyist license] is provided by Hewlett-Packard Corporation. | |||
== Misc == | == Misc == | ||
* http://doc.cat-v.org/bell_labs/utah2000/utah2000.pdf OS research is dead | * http://doc.cat-v.org/bell_labs/utah2000/utah2000.pdf OS research is dead | ||
* https://youtube.com/watch?v=36myc8wQhLo Some hope | * https://youtube.com/watch?v=36myc8wQhLo Some hope | ||
* https://archiveos.org/others/ An archive of various operating systems | * https://archiveos.org/others/ An archive of various operating systems | ||
* https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf Why some people don't like fork/exec | |||
== Resources for OSDEV == | == Resources for OSDEV == | ||
Line 61: | Line 166: | ||
* https://youtu.be/36myc8wQhLo A key note talk on OS | * https://youtu.be/36myc8wQhLo A key note talk on OS | ||
* https://github.com/MobSlicer152/ntdesign/blob/main/dwintro.docx.txt The NT Kernel design workbook from Microsoft | * https://github.com/MobSlicer152/ntdesign/blob/main/dwintro.docx.txt The NT Kernel design workbook from Microsoft | ||
* https://eylenburg.github.io/os_comparison.htm Comparison of Operating Systems | |||
* http://www.bitsavers.org/ A huge archive of documentation, especially for old systems | |||
* https://faculty.cc.gatech.edu/~calton/publications/sosp95.pdf Optimistic Incremental Specialization: Streamlining a Commercial Operating System | |||
* https://faculty.cc.gatech.edu/~calton/publications/specializationTOCS.pdfSpecialization Tools and Techniques for Systematic Optimization of System Software | |||
* http://www.cse.unsw.edu.au/~cs9242/current/ Lectures on operating systems | |||
== /aosg/ Book Club == | == /aosg/ Book Club == | ||
Line 68: | Line 178: | ||
* [https://www.goodreads.com/en/book/show/46247667-windows-kernel-programming Windows Kernel Programming] | * [https://www.goodreads.com/en/book/show/46247667-windows-kernel-programming Windows Kernel Programming] | ||
* [https://www.amazon.com/Linux-Kernel-Development-Cookbook-programming-ebook/dp/B07RW915K4 Linux Kernel Development] | * [https://www.amazon.com/Linux-Kernel-Development-Cookbook-programming-ebook/dp/B07RW915K4 Linux Kernel Development] | ||
* [https://littleosbook.github.io The little book about OS development (free)] | |||
* [https://greenteapress.com/thinkos/ Think OS] A Brief Introduction to Operating Systems (free) ([https://github.com/AllenDowney/ThinkOS Github source]) | |||
== /aosg/ News == | |||
* [https://www.osnews.com/ OS News] | |||
[[Category:Generals]] | [[Category:Generals]] | ||
[[Category:Software]] | [[Category:Software]] |
Latest revision as of 22:07, 13 November 2024
After a thread on /g/, one anon expressed an interest to turn this into a general, and here are some notes to keep to build up a FAQ.
Threads
OP has not yet mastered 4chan posting, so there is as yet no easy way to locate old threads. Manual list:
- initial thread
- second thread
- SerenityOS thread
- third thread
- fourth thread, and OP is getting there and things are shaping up
- fifth thread, and OP lapses back to missing title
- sixth thread, and OP is still missing title
- seventh thread still missing the title.
- eight thread still missing the title. At least OP is systematic...
- nineth thread, and OP is getting the title done and things are shaping up
- tenth thread, and OP again gets the title done and things are shaping up
- thread 11, and OP fails spectacularly.
- thread 12, and OP fails totally.
- thread 13, and OP does good and also combines /aosg/ with /aig/
- thread 14, and OP stays the course. Sadly thread washes out under a flood the mods never saw.
- thread 15, and OP stays the course. Sadly thread washes out during night in Europe.
- SerenityOS hate thread - OP was filtered out by missing ISO.
- thread 16, and OP stays the course.
- RISC-V thread, which didn't last long.
- RISC-V and Arduino, didn't last long either.
- thread 17, and OP delivers the complete OP text, wherein also an OS library is started.
- threads 18, 19, 20, 21, 21, 22, 23, 24, 25, 26, and OP stays the course.
Some more recent threads also got washed out due to a big cross-board flood. A complete, updated list can always be found at Desuarchive.
List of Notable Alternative Operating Systems
- https://templeos.org/ TempleOS, the operating system built by it's sole developer, Terry A. Davis in HolyC over the course of several decades.
- https://github.com/Zeal-Operating-System/ZealOS ZealOS, modernized fork of TempleOS
- http://collapseos.org/ the OS for the end of the world
- https://git.sr.ht/~vdupras/duskos is a 32-bit Forth and big brother to Collapse OS. Its primary purpose is to be maximally useful during the first stage of civilizational collapse
- http://phantomos.org/
- TRON - killed by a Hollywood grade conspiracy
- Midori and Singularity from Microsoft, a managed kernel written in a variant of C# called Sing# Github archive. Also see these blog entries for more information.
- https://www.serenityos.org/ SerenityOS, an operating system that also is therapeutic and doesn't release ISOs, thus filtering trolls (Github archive)
- http://users.atw.hu/gerigeri/DawnOS/index.html Dawn, an operating system complete with a GUI and userspace programs designed for the SUBLEQ single instruction architecture
- https://reactos.org/ ReactOS, an open source implementation of the Microsoft NT Kernel and userspace
- https://genode.org/ Genode, an operating system framework with a focus on stability and security
- https://www.haiku-os.org/ HaikuOS, an open source operating system inspired by BeOS and designed to achieve compatibility with the discontinued BeOS
- https://en.wikipedia.org/wiki/OS/2 OS/2, a now discontinued historical operating system initially developed by IBM and Microsoft, notable for it's DOS compatibility and similarities to NT
- https://www.arcanoae.com/arcaos/ ArcaOS, a modern continuation of OS/2
- https://github.com/froggey/Mezzano Mezzano is written in Lisp
- https://github.com/vygr/ChrysaLisp Another Lisp based OS
- https://toaruos.org/ ToaruOS is heavily manga inspired where 100 Yen coins are routinely launched at relativistic velocities. ( Github)
- https://www.ponyos.org/ PonyOS trots out the forbidden beast on 1st of April, much to the horror of most people
- http://www.helenos.org/ HelenOS is a research focused operating system based on a microkernel written by Helen Keller
- https://sizeof.cat/project/hoshi/ Hoshi is an operating system built by a sole anon
- https://eltaninos.org/ minimal linux distro assembled and partly written by an anon
- https://www.freertos.org/ FreeRTOS, a real-time operating system for microcontrollers
- https://vmssoftware.com/ OpenVMS, the decendant of VMS that ran on big VAX machines, famous for uptimes measured in decades, especially when running VAXcluster. A public OpenVMS server is available for testing.
- https://github.com/jnode/jnode Jnode, a semi dead Java based OS.
- http://www.cse.psu.edu/~deh25/cmpsc473/assignments/HW234/cucs-470-89.pdf The Synthesis Operating System, where parts of the kernel is synthesized on demand, also see [1], [2] and [3]. One thread expanded on the idea, and it was proposed to do some defensive publications on what is tentatively called ShimOS.
- https://www.gnu.org/software/hurd/ HURD, a GNU project that was overtaken by Linux; Stallman is still cross.
- https://visopsys.org/ VisOpsys is an alternative operating system for PC compatible computers, in development since 1997, this system is small, fast, and open source.
- http://www.projectoberon.com/ Project Oberon delivers the processor, OS and software.
- https://github.com/vvaltchev/tilck is a Tiny Linux-Compatible Kernel
- SunOS - started as a BSD style but transitioned painfully into SysV based Solaris, at the time compared unfavourably to the slow moving movie of the same name and also known as "Slowaris"; later turned into OpenSolaris.
- https://illumos.org/ illumos is a decendant of Solaris, and is found in seveal distributions, including OmniOS, OpenIndiana, and Tribblix
- CP/M was a popular OS for Z-80 computers in the 70s
- https://fuchsia.dev/ Fuchsia is a microkernel based OS made by Google for unknown reasons, slowly developed
- https://dahliaos.io/ dahliaOS is a modern, secure and lightweight operating system, combining GNU/Linux and Fuchsia OS. It can run on either the Linux or Zircon kernels.
- https://www.cl.cam.ac.uk/~mr10/index.html TRIPOS is old, but influential, especially for Amiga OS.
- https://www.fiwix.org/ FiwixOS 3.2 is a Fiwix distribution, an operating system made from a software collection that is based upon the Fiwix kernel. (Github)
- https://ares-os.org/ The Ares Operating System is based on the Helios micro kernel (see below), and with Luna will also have a POSIX programming environment.
- https://www.monaos.org/ MonaOS is a new, small, simple, open source and well structured, according to the author (Github).
- https://lemonos.org/ Lemon OS is a hobbyist UNIX-like operating system for the x86_64 platform (Github).
- http://toastytech.com/guis/alto.html Xerox Alto, the very first OS with a GUI, quite extraordinary
- http://www.jbox.dk/sanos/ SanOS an extremely small OS to do one thing: run a single java server application
- http://cap-lore.com/CapTheory/KK/ Keykos
- https://resea.org/ Resea (source on Github)
- https://nakst.gitlab.io/essence Essence is a new desktop OS
- https://aero.andypy.dev/aero_kernel/index.html Aero] (source on Github) is a new modern, experimental, UNIX-like operating system following the monolithic kernel design. Supporting modern PC features such as long mode, 5-level paging, and SMP (multicore), to name a few.
- https://www.freedos.org/ Freedos is an open source DOS-compatible OS (source on Github). There are several GUIs to chose from, such as OpenGEM.
- https://axleos.com/ AxleOS is a hobby microkernel x86_64 OS with userspace (source on Github).
- https://artilleryos.org/ ArtilleryOS describes itself as a unique graphical operating system that combines the simplicity and power of Unix-like systems with a tiling window management environment. Featuring a custom-designed kernel, ArtilleryOS offers an efficient and user-friendly computing experience. (source on GitHub).
- https://gitlab.com/sortix/sortix Sortix describes itself as 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.
Object Oriented OS
These are written in an object oriented language and everything is an object.
- http://www.o3one.org/ OZONE is from 2004 and is described by the author as So what makes it object-oriented? Well, just about everything in the kernel is an object. Threads, processes, devices, files, logical names, event flags are all objects. You can assign an logical name to objects. So for example, you could create an event flag and assign a logical name to it. Then other processes can access that event flag and synchronize between them.
Embedded OS
- https://blackberry.qnx.com/en QNX, a compact micro kernel based OS for embedded use. It used to have a GUI but that is gone, and Photon was replaced by Qt, a QNX engineer even made a desktop-like OS with QNX. While QNX not advertises there is a hobbyst/education program, just contact a QNX sales rep, they can provide you free license. tdelellis at blackberry dot com can probably help you. There are builds for x86/64, arm and even for riscv aswell.
- https://github.com/MannyPeterson/HeliOS Helios
Real-Time OS
These are quite common in embedded systems. There is an extensive list and discussion over in Hackaday (Archive)
Operating Systems for Amiga
- https://www.amigaos.net/ AmigaOS, the original Amiga operating system, now targets the PowerPC architecture
- https://www.morphos-team.net/ MorphOS, a closed source Amiga-like operating system targeting the PowerPC architecture
- https://aros.sourceforge.io/ AROS Research Operating System, another Amiga-like operating system designed around the AmigaOS 3.1 API
- https://github.com/h5n1xp/CuriOS CuriOS is closely modelled upon the original AmigaOS architecture with a few modern twists like enforced policies and better suppor for multicore processors.
There is also the Icaros Desktop, which describes itself as an Amiga-like operating system for the PC platform, with a full desktop environment, distributed on a bootable media.
Plan 9 Family
- https://9p.io/ Plan 9 - a research project from ATT by the founders of Unix
- https://www.vitanuova.com/inferno/ Inferno - based on Plan 9, by many of the same people
- https://9front.org/ 9front is a continuation
- https://harvey-os.org/ HarveyOS is another continuation
- http://jehanne.h--k.it/ JehanneOS takes most of userland tools and some kernel modules from 9front and other code from Harvey OS
OS Written in Assembly
- https://www.menuetos.net MenuetOS, an operating system written entirely in assembly complete with a GUI. Not all is open source
- http://www.kolibrios.org/en/ KolibriOS is a free fork of MenuetOS. KolibriOS is very small - The kernel and most of the programs fit on a 1.44MB floppy disk.
- http://dex-os.github.io/ DexOS is a x86 32-bit console like operating system, coded in 100% ASM
- http://sebastianmihai.com/snowdrop/ Snowdrop OS is a homebrew operating system project with bootloader and GUI.
- https://mikeos.sourceforge.net/ MikeOS is an operating system for x86 PCs, written in assembly language. It is a learning tool to show how simple 16-bit, real-mode OSes work, with well-commented code and extensive documentation.
- https://github.com/ReturnInfinity Baremetal OS, one of many that are inspired by MikeOS
Educational OS
- https://minix3.org/ MINIX is more widely used than first expected...
- https://pdos.csail.mit.edu/6.828/2016/xv6.html a simple Unix-like teaching operating system
- https://web.stanford.edu/class/cs140/projects/pintos/pintos.html is another simple Unix-like teaching operating system, used at Stanford.
- https://github.com/yhzhang0128/egos-2000 implements every component of an operating system for education with only 2000 lines of code. It can run on a RISC-V board and the QEMU software emulator. There is a set of 6 course projects designed around the OS available.
Microkernels
The idea is to minimise the kernel and have all services running as services at lower privileges and in a way that the services can be restarted after a crash. Microkernels often work by message passing, and that can cause an overhead. Mach had major performance issues. Some resources:
- https://fosdem.org/2023/schedule/event/microkernel2023/attachments/slides/5837/export/events/attachments/microkernel2023/slides/5837/2023_02_05_Decky_Microkernel_Landscape_2023.pdf The Microkernel Landscape in 2023
- http://www.microkernel.info/ Overview of microkernels
Microkernels can roughly be divided into 3 families (Mach, GNOSIS, L4) and categories (capability-based, pure vs. impure, traditional vs. direct message passing).
List of microkernels by generation:
- First generation: RC 4000, Accent, Mach, Exec, MINIX, GNOSIS/KeyKOS, EROS, CapROS
- Second generation: L3, L4 and reimplementations (Hazelnut, Pistachio, UNSW/NICTA ports, etc.)
- Third generation: OKL4, Fiasco, seL4, NOVA
List of microkernels:
- Exec (Amiga) - the Executive at the deepest level of Amiga OS is a microkernel.
- Minix is famously microkernel based and the author, Tanenbaum, slogged it out with Linux Torvalds and his decision to make Linux a monolithic kernel rather than a microkernel based OS.
- Magenta, based on Little Kernel and later renamed into Zircon - this powers Fuchsia.
- Mach, later GNU Mach - chosen to power HURD.
- https://drewdevault.com/2022/06/13/helios.html Helios draws inspiration from seL4, and uses a capability-based design for isolation and security. It is used in The Ares Operating System (see above).
- https://managarm.org/ Managarm is a pragmatic microkernel-based OS with fully asynchronous I/O. (Github)
- L4 is a family of microkernels
L4 Family of Microkernels
L4 is comprehensibly explained in these lecture notes. There are many members, the most important are:
- L4 - can run Linux variants such as L4Linux
- seL4 - high security microkernel
- L4re AKA Fiasco.OC, used by Kernkonzept.
Emulators
A full install, or even a live CD, is not necessarily needed, sincfe there are emulators.
- https://copy.sh/v86/ JS VM with lots of OS, including one for Serenity OS.
- http://simh.trailing-edge.com/ SimH (History Simulator) is a collection of simulators for historically significant or just plain interesting computer hardware and software from the past. Of special note is VAX/VMS where a hobbyist license is provided by Hewlett-Packard Corporation.
Misc
- http://doc.cat-v.org/bell_labs/utah2000/utah2000.pdf OS research is dead
- https://youtube.com/watch?v=36myc8wQhLo Some hope
- https://archiveos.org/others/ An archive of various operating systems
- https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf Why some people don't like fork/exec
Resources for OSDEV
- https://wiki.osdev.org/Expanded_Main_Page Landing page for the OSDev Wiki and Forums
- https://sizeof.cat/links/#osdev List of links to resources for developers and hobbyists
- https://digital.library.txstate.edu/bitstream/handle/10877/3226/fulltext.pdf?isAllowed=y&sequence=1 - FMI/OS: A Comparative Study, by Dimitri Hammond
- https://www.csc.kth.se/~edalen/9pfmios.pdf Converting FMI/OS to the 9P2000 distributed file system protocol, by Erik Dalen
- https://sources.vsta.org:7100/vsta/wiki?name=Root - VSTa documentation, by Andy Valencia
- https://youtu.be/36myc8wQhLo A key note talk on OS
- https://github.com/MobSlicer152/ntdesign/blob/main/dwintro.docx.txt The NT Kernel design workbook from Microsoft
- https://eylenburg.github.io/os_comparison.htm Comparison of Operating Systems
- http://www.bitsavers.org/ A huge archive of documentation, especially for old systems
- https://faculty.cc.gatech.edu/~calton/publications/sosp95.pdf Optimistic Incremental Specialization: Streamlining a Commercial Operating System
- https://faculty.cc.gatech.edu/~calton/publications/specializationTOCS.pdfSpecialization Tools and Techniques for Systematic Optimization of System Software
- http://www.cse.unsw.edu.au/~cs9242/current/ Lectures on operating systems
/aosg/ Book Club
- Operating Systems 0 to 1 (incomplete)
- Operating Systems: Internals and Design Principles
- Operating System Concepts
- Windows Kernel Programming
- Linux Kernel Development
- The little book about OS development (free)
- Think OS A Brief Introduction to Operating Systems (free) (Github source)