Best Operating-System-Resources on the web
Open Source Operating Systems
- 9front A fork of Plan 9, designed for distributed, networked computing.
- AckOS A simple 64-bit operating system.
- Amiga OS 4.1 The new final edition extends Amiga 4.1 functionality with web browsing, etc..
- Aros Research Operating System 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
- BoneOS. An OS for everyone built by everyone.
- Bottlerocket A Linux-based OS meant for hosting containers.
- Cadex-OS A simple operating system kernel originally made by Prof. Douglas Thain at the University of Notre Dame and students
- 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
- Collapse OS Bootstrap post-collapse technology
- dahliaOS is a modern, secure, lightweight and responsive operating system, combining the best of GNU/Linux and Fuchsia OS.
- EGGOS A Go unikernel running on x86 bare metal
- embox Configurable operating system kernel designed for resource constrained and embedded systems.
- 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.
- Fiwix A UNIX-like kernel for the i386 architecture.
- Freertos IoT operating system for microcontrollers, by Amazon.
- Genode An FOSS operating system framework consisting of a microkernel abstraction layer and a collection of userspace components
- Gopher-os A proof of concept OS kernel written in Go
- GreenTeaOS A free OS designed to be compatible with Windows executables
- Haiku An open-source operating system that speficially targets personal computing.Inspired by BeOS
- HarveyOS A distributed operating system
- HelenOS A multikernel multiserver OS
- Helium A BSD-based OS project that aims to provide an experience like and some compatibility with macOS
- Hubris An operating system for microcontrollers developed by Oxide Computer Company and written in Rust
- Interim Minimalist OS with concepts from Lisp machines and Plan9
- Jehanne OS inspired by Plan9, 9front and Harvey OS
- KnightOS An OS for z80 calculators
- l4re-core Operating system and hypervisor for security/safety-critical and virtualization-enabled applications.
- Managarm Pragmatic microkernel-based OS with fully asynchronous I/O
- MentOS An educational 32-bit Linux-like Operating System.
- Menuet OS An OS in development for PC. Written entirely in Assembly (32 and 64 bit)
- Mimimiker A Simple, unix-like operating system for education and research purposes. MIPS microkernel.
- Minoca 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 platforms.
- Morphos Includes a high-performace just-in.time compiler that emulates the 68k family of processors and thereby allows to transparently execute legacy applications developed for the Commodore Ax00 seris of computers.
- Nanos Unikernel that is linux-compatible, written in C
- Nesos An OS for the Nintendo Entertainment System!
- NodeOS An OS using NodeJS and Linux
- Opuntia OS An operating system targeting x86, ARMv7, Aarch64.
- Orange Slice A research kernel and hypervisor attempting to get fully deterministic emulation with minimum performance cost. Written in Rust
- OS Free Operating system development project, aiming to replace eventually all OS/2 subsystems with Open source analogues.
- OSP Both an implementation of an OS and a flexible environment for generating implementation projects.
- Pidi OS Independent and minimalistic OS
- Ravynos -BSD-based OS project that aims to provide an experience like and some compatibility with macOS (formerly known as airyxOS)
- ReactOS Designed to run your favorite Windows applications in an environment you can trust.
- Redox Another one written in Rust
- Rusty Hermit A Rust-based, lightweight unikernel
- Sanos Sanos is a minimalistic 32-bit x86 operating system kernel for network server appliances running on standard PC hardware.
- Skiftos A simple, handmade, operating system with a graphical user interface.
- Sculpt OS - Genode based OS
- Snowdrop OS a homebrew operating system from scratch, written in X86 Assembly.
- Soso Simple Unix-like operating system written in Nasm assembly and mostly in C
- Syllable operating system Designed in the tradition of the Amiga and BeOS. but built using many parts from the GNU project and Linux.
- Synesthia OS 32/64 bit operating system written in C for arm platform
- TempleOS A Christian themed open-source OS written entirely in x86 Assembly language.
- Thor OS - 64bit operating system mostly written in C++
- Theseus A modern experimental OS written from scratch in Rust to explore novel OS structure and state management techniques.
- tilck A Tiny Linux-Compatible kernel.
- Tockos A secure embedded operating system for microcontrollers
- Unikraft A modular unikernel for specialization, high efficiency, performance, and security; Linux/POSIX-compatible; mostly in C
- Sigplan Research Operating System that runs Scheme on bare-metal
- hhuOS A small operating system written in C++ and Assembler for the x86-architecture.
Hobby
- AlmeidaOS - x86-64 OS with its own bootloader, scheduler and limited libc all written from scratch
- AquilaOS - Operating System that is designed to be POSIX compliant and mostly ISA transparent
- Animal - 32 bit multithreaded operating system (formerly Gramado)
- Basekernel - A simple OS kernel for research, teaching, and fun
- Brutal, GitHub - An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s with modern technology and engineering
- 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
- duckOS - A hobby UNIX-like OS with a graphical window manager for x86 computers.
- emerald - An operating system kernel written for fun in C
- Fern-Night - C language operating system (related to Cyjon project).
- 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.
- HalideOS - experimental operating system written entirely from scratch.
- hydrogen - toy OS. 64-bit, preemptive multitasking kernel supporting EFI, PCIe, SATA, framebuffer graphics mode, HFS+.
- JSD-OS - A small operating system for 32 bit x86.
- KripayaOS - x86 Kernel with it's own bootloader.
- KolibriOS - MenuetOS fork
- LemonOS, GitHub - UNIX-like 64-bit operating system written in C++.
- lyre - x86 kernel and distribution powered by mlibc, GNU userland tools, and other common *nix software.
- 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.
- MenuetOS - Hobby OS supporting 32 and 64 bit, written in Assembly language
- MeetixOS - A hobby OS written in modern C++20 which aims to be Unix-like.
- mOS - A hobby operating system developed from scratch
- moros - MOROS is a hobby operating system written in Rust for the x86 architecture.
- MyXomycota - Monolithic kernel in C
- nopeos - Simple OS kernel with BASIC interpreter for x86
- Northport - Monolithic kernel and support libraries for riscv64 and x86_64.
- oneOS - x86-32 and ARMv7 kernel with pre-emptive multi-threading, window manager and editor
- Orb - a web-based open source operating system
- pranaOS - A unix operating system written from scratch in c / c++
- PathOS - Hobby OS based on MikeOS, written in Assembly Language
- PonyOS, GitHub - ToaruOS-based, My Little Pony themed OS
- PouplyOS - Simple OS for fun and learning, named after the ESISAR mascot Poulpy
- r3 - A hobby x86_64 Operating System kernel written in Rust -- with minimal functionalities
- SayoriOS - Hobby OS for x86 computers, currently under active development, written in C
- 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
- TempleOS - Religious OS :-)
- TETRIS-OS - An operating system, but it only plays Tetris.
- 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
- unox-os - Unox is an educational unix-like operating system
- Visopsys - Open Source Hobby OS developed since 1997
- willOS - A minimal 64 bits kernel (Operating System that cannot "operate" a lot of things)
- 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
- BareMetal, GitHub - 64 bit operating system written in Assembly for x86-64
- ZealOS - The Zeal Operating System is a modernized, professional fork of the 64-bit Temple Operating System, TempleOS.
Popular Operating Systems
- Darwin XNU - The XNU kernel source code for use in MacOS and iOS
- FreeBSD , - Unix-like operating system based on BSD (Berkeley Software Distribution)
- FreeDoS DOS compatible OS
- Haiku A BeOS inspired OS
- -Linux The Linux kernel
- Minix3 - A Unix-like operating system based on a microkernel architecture developed by Andrew Tannenbaum for both educational and professional purposes.
- MS-DOS - The original sources of MS-DOS 1.25 and 2.0
- NetBSD Unix-like operating system also based on BSD
- OpenBSD Another Unix-like operating system based on BSD with a reputation for excellence in security
- Plan 9 from Bell Lanbs - 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 A free Windows-compatible Operating System
- SystemV - the classic AT&T UNIX System V Source Code
Books
- Operating Systems: Three Easy Pieces - Remzy H. Arpacci-Dusseau, Andrea C. Arpacci-Dusseau (pdf)
- Operating System Concepts - Silberschatz, Galvin, Gagne (pdf)
- Modern Operating Systems - - Tannenbaum, Bos (pdf)
- The Design of the Unix Operating System -Maurice J. Bach (pdf)
- Operating Systems - Prasantha Kumar Patra
- Operating Systems 1 - Dr. A S Sodiya
- Monograph on Operating Systems - Dr Mamta Bansal Rajshree
- Operating Systems An Ovewview - University of Kashmir
- Lecture I Operating Systems - University of Technology Iraq
- Computer and Operating System Structure - Bangladesh Open University
- Operating System Notes - Government of Rajasthan Education Portal
- Windows Operating Systems - Bihar Animal Sciences University
- Operating System Lecture Notes - K. Rohini
- Operating Systems (Presentation) - Steven Hand
- Operating Systems (Presentation) - FTMS College
- Types of Operating System (Presentation) - BMS College for Women Official Website
- Operating Systems (Presentation) - VLSI Signal Processing Lab
- Introduction (Article) - University of Babylon
- Operating Systems: An Introduction R. Garg, G Verna
- Introduction to Linux: A Hands on Guide Machtelt Garrells (pdf)
- Operating Systems: Principles and Practices (Volume 1) - Anderson, Dahlin (pdf)
- Operating Systems: Principles and Practices (Volume 2) - Anderson, Dahlin (pdf)
- The Linux Programming Interface - Micheal Kerrisk (pdf)
- Windows Internals 7th Edition (Part 1) - Russinovich, Solomon, Ionescu (pdf)
- Windows Internals (part 2) - Russinovic, Solomon, Ionuscu (pdf)
- Operating Systems Design and Implementation (The Minix book) - Andrew Tannenbaum, Albert Woodhull (pdf)
- Operating System Design: The Xinu Approach - Douglas Comer (pdf)
- Understanding Operating Systems Ida M. Flynn, Ann McIver McHoes (pdf)
- Linux Bible - Christopher Negus (pdf)
- Understanding the Linux Kernel - Daniel P. Bovet and Marco Cesati
- Design and Implementation of the FreeBSD kernrl HTML
- Unix and Linux System Administration Handbook - Nemeth, Snyder,Hein, Whaley, Makin (pfd)
- How to Make a Computer Operating System - in C++
- Intermezzos - A follow along book to build IntermezzosOS in Rust
- Linux in a Nutshell - Greg Kroah Hartman . Covers the entire range of kernel tasks, available as chapters or one PDF
- 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 Develpment Series OS from the ground up in C
- xv6: a simple, Unix-like teaching operating system - Book for Xv6
- Operating Systems: From 0 to 1 - Bootstrap yourself to write an OS from scratch by Do Hoang Tu
- Linux Device Drivers 4th Edition - Alessandro Rubini et al
- Essential Linux Device Drivers - Sreekrishnan Venkateswaran
Articles and Papers:
- A Comparative Analysis of Operating Systems: case study of Windows and Macintoch Operating Systems - Maryam Sarki Abubakar (pdf)
- Operating Systems: the past, present and future Konstantin Tsvetskov (pdf)
- The Google File System - Ghemawat, Gobiof, Leung (pdf)
- A Survey of Contempoary Real-Time Operating Systems - S. Baskiyar and M. Meghanathan (pdf)
- Xen and the Art of Virtualization - Barham, Dragovic, et al (pdf)
- Mobile Computing: the Next Decade - M. Satyanarayanan
- An Analysis of Operatins System Behavior on a Simultaneous Mulitthreaded Architecture -Redston, Eggers, Levy
- Proposed Challenges and Areas of Concern in Operating System Rsearch and Development - Plawam Kumar Rath, Anil G.N.
- The Distrubuted V Kernek and Its Peformance for Diskless Workstations -David R. Cherlton, Willy Zwanepoel
Tutorials
- Writing a Simple Operating System from Scratch - Nick Blundell
- Creating a Kernel from Scratch -Theo
- Learn Operating Systems Tutorialspoint
- Operating System Tutorial Guru99
- Operating System Tutorial - GeeksforGeeks
- Fundamentals of Operating Systems - Code Academy
- OS Development Wiki OSDEV.org covers all aspects of OS creation and design
- The Little Book about OS development Erik Helin, Adam Renberg
- JamesM's kernel development tutorial
- Baking Pi – Operating Systems Development by University of Cambridge
- Build a minimal multi-tasking OS kernel for ARM from scratch by Jim Huang
- 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 Greg Kroah-Hartman
- os-tutorial - How to create an OS from scratch by Carlos Fenollosa
- Roll your own toy UNIX-clone OS by James Molloy
- Writing an OS in Rust by Philipp Oppermann
- Making a RISC-V Operating System using Rust by Stephen Marz
- Operating systems development for Dummies by Leo Whitehead
- 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
- Writing a Tiny x86 Bootloader by Joe Bergeron
- Writing a Bootloader by Alex Parker
- Learning operating system development using Linux kernel and Raspberry Pi
- Making a RISC V Operating System Using RUST Stephen Marz blog
Videos
- Udacity course; Introduction to Operating Systems
- Udacity: Advanced Operating Systems
- Operating System Course for Beginners: ClayDesk E-Learning
- Operating System Engineering: MIT OpenCourseware
- Operating Systems: Jenny's Lectures in CS IT (full playlist)
- Introduction to Operatins Systenms NESO Academy (full playlist)
Linux specific material
- LPI Learning Free teaching materials for teachers and students developed by Linux Professional Institute. They serve as preparation for the exams and are continuously expanded and updated.
- Linux Kernel Module Programming Guide - Salzman, Buridan et al
- The Linux Kernel Documentation Top level of the kernel documentation tree
- Old Linux A heavily commented Old Linux kernel source
- bootlin's interactive kernel map
Programming language books essential to OS development and programming
- The C Programming Language - Kernighan and Ritchie
- C: A Reference Manual Harbison and Steele
- Asssembly Language for x-86 Processors Kip Irvine
- Assembly Language Programming and Organization of the IBM PC Ytha Yu and Charles Marut
- The Rust Programming Language - Steve Klabnik and Carol Nichols, with contributions from the Rust Community