/awesome-os

A list of operating systems and stuff

Awesome Operating System Stuff

This list contains awesome operating system related stuff. The goal is to collect all kinds of different open source OSs so people can study their code and learn from them. As well as collect helpful resources to help people getting started developing in popular operating systems.

Open Source Operating Systems

  • 9front - A fork of Plan 9, designed for distributed, networked computing.
  • AROS - Research Operating System is a lightweight, efficient, and flexible desktop operating system, designed to help you make the most of your computer. It's an independent, portable and free project, aiming at being compatible with AmigaOS at the API level
  • AlmeidaOS - x86-64 OS with its own bootloader, scheduler and limited libc all written from scratch
  • Animal - 32 bit multithreaded operating system (formerly Gramado)
  • AurixOS - A small multiplatform Operating System designed for developers and creators
  • AquilaOS - Operating System that is designed to be POSIX compliant and mostly ISA transparent
  • BareMetal, GitHub - 64 bit operating system written in Assembly for x86-64
  • Basekernel - A simple OS kernel for research, teaching, and fun
  • BoneOS- OS for everyone built by everyone
  • Bottlerocket OS- Linux-based OS meant for hosting containers.
  • Brutal - An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s with modern technology and engineering
  • cavOS - Amd64 operating system in C. Trying to make a full OS, with a simple and readable codebase
  • Charlotte - CharlotteOS kernel in Rust
  • ChibiOS - a complete development environment for embedded applications including RTOS, an HAL, peripheral drivers, support files and tools
  • Clive - A unikernel OS inspired by Plan9 and Nix developed at Universidad Rey Juan Carlos of Madrid
  • Cyjon - pure x64 assembly language operating system (related to Fern-Night project).
  • DragonOS - An x86-64 OS build from scratch.
  • Dreamos64 - An x86-64 hobby os built from scratch
  • Embox - Configurable operating system kernel designed for resource constrained and embedded systems.
  • ExectOS, GitHub - ExectOS is a modern, EFI-enabled, general purpose operating system written from scratch and implementing the XT architecture. It runs on x86 and x86_64 architectures and provides NT drivers compatibility layer.
  • Fern-Night - C language operating system (related to Cyjon project).
  • Fiwix, GitHub - A UNIX-like kernel for the i386 architecture.
  • Fomos - Experimental OS, built with Rust.
  • FreeRTOS, GitHub - IoT operating system for microcontrollers, by Amazon.
  • GarnOS - Hobby OS powered by a modular kernel.
  • Genode - A FOSS operating system framework consisting of a microkernel abstraction layer and a collection of userspace components
  • Gloire - An OS built with the Ironclad kernel (a partially formally verified kernel with a small footprint for general-purpose and embedded OSes, written in SPARK and Ada) and GNU tools.
  • GreenteaOS, Github - A free OS designed to be compatible with Windows executables
  • HalideOS - experimental operating system written entirely from scratch.
  • HarveyOS - A distributed operating system
  • HelenOS - multikernel multiserver OS
  • House - Haskell User's Operating System and Environment.
  • Hubris - Hubris is an operating system for microcontrollers developed by Oxide Computer Company in Rust
  • Illumos - illumos is a Unix operating system which provides next-generation features for downstream distributions (like OmniOS, OpenIndiana, and Tribblix)
  • Interim - Minimalist OS with concepts from Lisp machines and Plan9
  • JSD-OS - A small operating system for 32 bit x86.
  • Jehanne, GitHub - OS inspired by Plan9, 9front and Harvey OS
  • KiddieOS - UNIX-like 64-bit operating system written in Assembly, C++.
  • KnightOS - for z80 calculators
  • KolibriOS - MenuetOS fork
  • L4re - Operating system and hypervisor for security/safety-critical and virtualization-enabled applications.
  • LemonOS, GitHub - UNIX-like 64-bit operating system written in C++.
  • Mako - Hobby OS for x86 from scratch, written in C
  • MaslOS - A 64 bit GUI multitasking Hobby OS written mostly from scratch in C++ and a bit of C/ASM.
  • MeetixOS - A hobby OS written in modern C++20 which aims to be Unix-like.
  • MentOS - An educational 32-bit linux-like Operating System.
  • MenuetOS - Hobby OS supporting 32 and 64 bit, written in Assembly language
  • Mimiker, GitHub - Simple unix-like operating system for education and research purposes. MIPS microkernel.
  • Mimosa, GitHub - Research Operating System that runs Scheme on bare-metal
  • Minoca OS - General purpose OS, written in C
  • MollenOS - MollenOS/Vali is a modern operating system that is built with focus on abstraction and a modular design, allowing anyone to port it to any architecture. It currently targets the x86-32 and x86-64 platform
  • MyXomycota - Monolithic kernel in C
  • NESOS - An OS for the Nintendo Entertainment System!
  • Nanos - Unikernel that is linux-compatible, written in C
  • NodeOS - OS using NodeJS and Linux
  • Northport - Monolithic kernel and support libraries for riscv64 and x86_64.
  • PathOS - Hobby OS based on MikeOS, written in Assembly Language
  • Pidi OS - Independent and minimalistic OS
  • PonyOS, GitHub - ToaruOS-based, My Little Pony themed OS
  • PouplyOS - Simple OS for fun and learning, named after the ESISAR mascot Poulpy
  • PureDarwin - PureDarwin is a community project to extend Darwin into a complete, usable operating system
  • Qubes OS - Security-focused OS built on the Xen hypervisor, designed to isolate different compartments based on levels of trust.
  • RavynOS - A BSD-based OS project that aims to provide an experience like and some compatibility with macOS (formerly known as airyxOS)
  • Redox - written in Rust
  • RustyHermit - A Rust-based, lightweight unikernel
  • Sanos, GitHub - Sanos is a minimalistic 32-bit x86 operating system kernel for network server appliances running on standard PC hardware.
  • SayoriOS - Hobby OS for x86 computers, currently under active development, written in C
  • Sculpt OS - Genode based OS
  • Serenity - Graphical Unix-like operating system for x86 computers
  • SimpleOS - Simple Operating System coded in C and Assembly
  • Snowdrop OS - a homebrew operating system from scratch, in assembly language
  • Sortix - Hobby OS in C and C++ by Jonas 'Sortie' Termansen
  • Syllable - Successor of AtheOS, Syllable is designed in the tradition of the Amiga and BeOS, but built using many parts from the GNU project and Linux.
  • SynestiaOS - 32/64 bit operating system written in C for arm platform
  • TempleOS - Religious OS :-)
  • Theseus - A modern experimental OS written from scratch in Rust to explore novel OS structure and state management techniques.
  • Thor - 64bit operating system mostly written in C++
  • ToaruOS - Hobby operating system from scratch
  • Týndur - Hobby operating system build by the Lowlevel community. Written in C and Pascal
  • Ultron OS - x86 Operating System written in C++, High School Project
  • Unikraft - A modular unikernel for specialization, high efficiency, performance, and security; Linux/POSIX-compatible; mostly in C
  • Vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language
  • Visopsys - Open Source Hobby OS developed since 1997
  • Windows 95 in Electron - Hobby Windows 95 implementation in Electron
  • Xv6 - A teaching operating system developed in the summer of 2006 for MIT's operating systems course
  • ZealOS - The Zeal Operating System is a modernized, professional fork of the 64-bit Temple Operating System, TempleOS.
  • ackOS - A simple 64-bit operating system.
  • aurora_os - Written in Rust.
  • dahliaOS- dahliaOS is a modern, secure, lightweight and responsive operating system, combining the best of GNU/Linux and Fuchsia OS.
  • duckOS - A hobby UNIX-like OS with a graphical window manager for x86 computers.
  • eggos - A Go unikernel running on x86 bare metal
  • emerald - An operating system kernel written for fun in C
  • gopher-os - A proof of concept OS kernel written in Go
  • hhuOS - hhuOS is a small operating system written in C++ and Assembler for the x86-architecture. The main purpose of this project is to show how different aspects of operating systems theory can be implemented and linked together. The system is not aimed to be a full-featured operating system for daily use.
  • hydrogen - toy OS. 64-bit, preemptive multitasking kernel supporting EFI, PCIe, SATA, framebuffer graphics mode, HFS+.
  • lyre - x86 kernel and distribution powered by mlibc, GNU userland tools, and other common *nix software.
  • managarm - Pragmatic microkernel-based OS with fully asynchronous I/O
  • menix - A minimal and expandable Unix-like operating system.
  • moros - MOROS is a hobby operating system written in Rust for the x86 architecture.
  • mOS - A hobby operating system developed from scratch
  • nopeos - Simple OS kernel with BASIC interpreter for x86
  • octox - Unix-like OS in Rust inspired by xv6-riscv
  • oneOS - x86-32 and ARMv7 kernel with pre-emptive multi-threading, window manager and editor
  • opuntiaOS - an operating system targeting x86, ARMv7, Aarch64.
  • orange_slice - A research kernel and hypervisor attempting to get fully deterministic emulation with minimum performance cost. In Rust
  • pranaOS - A unix operating system written from scratch in c / c++
  • quickOS - An OS made by an independant developer, still in developement, like MS-DOS, but in qbasic. It's MADE with qb64.
  • r3 - A hobby x86_64 Operating System kernel written in Rust -- with minimal functionalities
  • ravynOS - BSD-based OS project that aims to provide an experience like and some compatibility with macOS (formerly known as airyxOS)
  • skiftOS, GitHub - A simple, handmade, operating system with a graphical user interface.
  • soso - Simple unix-like operating system written in Nasm assembly and mostly in C
  • tilck - A Tiny Linux-Compatible Kernel.
  • tock, GitHub - A secure embedded operating system for microcontrollers
  • unox-os - Unox is an educational unix-like operating system
  • willOS - A minimal 64 bits kernel (Operating System that cannot "operate" a lot of things)

Popular Operating Systems

  • Darwin XNU - The XNU kernel source code for use in MacOS and iOS
  • FreeBSD, Github - Unix-like operating system based on the BSD
  • FreeDOS - DOS compatible OS
  • Haiku - BeOS inspired OS
  • Linux - Linux kernel
  • Minix, Github - Unix-like operating system based on a microkernel architecture
  • MS-DOS - The original sources of MS-DOS 1.25 and 2.0
  • NetBSD, Github - Unix-like operating system based on the BSD
  • OpenBSD, Github - Unix-like operating system based on the BSD
  • Plan 9 from Bell Labs - An OS from the creators of Unix, extending the Unix philosophy of "everything is a file" with a network-centric file system, namespaces and distributed computing.
  • ReactOS, Github - A free Windows-compatible Operating System
  • SystemV - AT&T UNIX System V Source Code

Books and Guides

Online books

Tutorials

Websites

  • Genodians - Stories around the Genode Operating System
  • os-dev - Wiki with everything you need to know
  • Lowlevel - A wiki about creating an OS from scratch. In German
  • POSIX - Standards for maintaining compatibility between operating systems
  • Rust OSDev - Newsletter about OS development in Rust
  • OSRTOS - List of open source real-time operating systems
  • Multicians - The Multicians web site presents the story of the Multics operating system for people interested in the system's history

Papers

Video Tutorials

Linux specific

Tools

  • b4, docu, a tool to help with email-based patch workflows
  • clang-extract a tool to extract code content from source files using the clang and LLVM infrastructure.
  • hackermail a mails management tool for hackers who collaborate using mailing lists
  • kworkflow - reduce the overhead with infrastructure setup for Linux development
  • virtme-ng - quickly build and run kernels inside a virtualized snapshot of your live system

Blogposts

Debugging

Email

Conferences / Presentations