Awesome Operating System Stuff
This list contains awesome OS related stuff. It contains open source operating sytems and hobby operating systems as one can study their code and learn from them.
Open Source Operating Systems
- BoneOS- OS for everyone built by everyone
- Clive - A unikernel OS inspired by Plan9 and Nix developed at Universidad Rey Juan Carlos of Madrid
- Genode - A FOSS operating system framework consisting of a microkernel abstraction layer and a collection of userspace components
- HelenOS - multikernel multiserver OS
- KnightOS - for z80 calculators
- L4re - Operating system and hypervisor for security/safety-critical and virtualization-enabled applications.
- Minoca OS - General purpose OS, written in C
- NodeOS - OS using NodeJS and Linux
- Redox - written in Rust
- Sculpt OS - Genode based OS
- Thor - 64bit operating system mostly written in C++
- Interim - Minimalist OS with concepts from Lisp machines and Plan9
- FreeRTOS, GitHub - IoT operating system for microcontrollers, by Amazon.
Hobby
- Animal - 32 bit multithreaded operating system (formerly Gramado)
- Cyjon - pure x64 assembly language operating system
- Mako - Hobby OS for x86 from scratch, written in C
- MyXomycota - Monolithic kernel in C
- nopeos - Simple OS kernel with BASIC interpreter for x86
- Serenity - Graphical Unix-like operating system for x86 computers
- Snowdrop OS - a homebrew operating system from scratch, in assembly language
- Sortix - Hobby OS in C and C++ by Jonas 'Sortie' Termansen
- ToaruOS - Hobby operating system from scratch
- Týndur - Hobby operating system build by the Lowlevel community. Written in C and Pascal
- TempleOS - Religious OS :-)
- Ultron OS - x86 Operating System written in C++, High School Project
- Visopsys - Open Source Hobby OS developed since 1997
- Xv6 - A teaching operating system developed in the summer of 2006 for MIT's operating systems course
Books and Guides
Online books
- How to Make a Computer Operating System - in C++
- Intermezzos - A follow along book to build IntermezzosOS in Rust
- The little book about OS development by Erik Helin and Adam Renberg
- Think OS - A Brief Introduction to Operating Systems by Allen B. Downey
- Operating System Development Series - OS from the ground up in C
- Operating Systems: Three Easy Pieces - Easy to read book covering virtualization, concurrency and persistence
- xv6: a simple, Unix-like teaching operating system - Book for Xv6
Tutorials
- Bran's Kernel Development by Brandon Friesen
- How to write a Linux kernel patch and submit it by Greg Kroah-Hartman
- Presentation on how the Linux kernel is developed by Greag Kroah-Hartman
- os-tutorial - How to create an OS from scratch by Carlos Fenollosa
- Writing an OS in Rust by Philipp Oppermann
- Kernels 101 – Let’s write a Kernel by Arjun Sreedharan
- Kernels 201 - Let’s write a Kernel with keyboard and screen support by Arjun Sreedharan
Website
- 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
Papers
- The benefits and costs of writing a POSIX kernel in a high-level language by Cody Cutler, M. Frans Kaashoek, and Robert T. Morris, MIT CSAIL