😀
SerenityOS - Graphical Unix-like operating system for x86 computers.
🙂
BRUTAL - An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s with modern technology and engineering
😀
Managarm - Pragmatic microkernel-based OS with fully asynchronous I/O
😀
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.
🙁
SkiftOS - A hobby operating system built from scratch in modern C++. Featuring a reactive UI library and a strong emphasis on user experience.
😀
Vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language
😀
FlorenceOS - The Renaissance of Operating Systems
🙂
xtrix - xtrix is a unix-like microkernel designed with a minimal kernel interface.
😀
Lemon OS - Lemon OS is a UNIX-like 64-bit operating system written in C++.
🙂
nop - nop is a simple educational x86 kernel made to be as small and simple to understand as possible, while being a fully complete kernel.
😀
EggOS - A Go unikernel running on x86 bare metal
😀
Aero - Aero 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.
Resources
Tutorials
Stivale Bare Bones - Bare bones tutorial to make a 64-bit higher half kernel using the Limine bootloader and Stivale boot protocol.
Meaty Skeleton - A template operating system with a basic libc.
Bran's Kernel Tutorial - A very dated, but still often referenced, tutorial from the now-moribund "Bona Fide OS Development" site.
The Little OS Book - A third-party OS demonstrator hosted on GitHub. Goes through periods of updating, and known bugs which haven't yet been fixed are listed in the repo.
cfenollosa/os-tutorial - A tutorial to make a complete operating system from a bootloader to a basic shell.
Writing a Simple Operating System — From Scratch [PDF] - A 2010 tutorial based on course material from a class on operating systems at the University of Birmingham, UK, written by Dr. Nicholas Blundell, the original course instructor.
isometimes/rpi4-osdev - A tutorial to write a basic operating system for Raspberry Pi 4.
Author(s): Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau
Publication date: February 16th, 2015
Description: \nA book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.
Description: Modern Operating Systems, Fourth Edition, is intended for introductory courses in Operating Systems in Computer Science, Computer Engineering, and Electrical Engineering programs. It also serves as a useful reference for OS professionals.
Author(s): Abraham Silberschatz, Greg Gagne, and Peter B. Galvin
Publication date: May 4th, 2018
Description: The tenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student’s experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material.
Description: This book describes the internal algorithms and the structures that form the basis of the UNIX® operating system and their relationship to the programmer interface. The system description is based on UNIX System V Release 2 supported by AT&T, with some features from Release 3.
Description: Over the past two decades, there has been a huge amount of innovation in both the principles and practice of operating systems Over the same period, the core ideas in a modern operating system - protection, concurrency, virtualization, resource allocation, and reliable storage - have become widely applied throughout computer science. Whether you get a job at Facebook, Google, Microsoft, or any other leading-edge technology company, it is impossible to build resilient, secure, and flexible computer systems without the ability to apply operating systems concepts in a variety of settings. This book examines the both the principles and practice of modern operating systems, taking important, high-level concepts all the way down to the level of working code. Because operating systems concepts are among the most difficult in computer science, this top to bottom approach is the only way to really understand and master this important material.
Description: From one of the Netherland's leading authors of computer science books comes complete coverage of operating systems, plus all the design and implementation issues with a complete operating system — MINIX.
Author(s): Andrew S. Tannenbaum and Albert S. Woodhull
Publication date: January 15th, 1997
Description: Most books on operating systems deal with theory while ignoring practice. While the usual principles are covered in detail, the book describes a small, but real UNIX-like operating system: MINIX. The book demonstrates how it works while illustrating the principles behind it. Operating Systems: Design and Implementation Second Edition provides the MINIX source code. The relevant selections of the MINIX code are described in detail. When it first came out, MINIX caused something of a revolution. Within weeks, it had its own newsgroup on USENET, with 40,000 people. Most wanted to make MINIX bigger and fancier. Instead, Linux was created. That has become quite popular, very large, and complicated. MINIX, on the other hand, has remained small and suitable for instruction and example. The book has been revised to include updates in MINIX, which started out as a v7 unix clone for a floppy-disk only 8088. It is now aimed at 386, 486, and pentium machines and is based on the international posix standard instead of on v7. There are now also versions of MINIX for the Macintosh and SPARC available. Professional programmers will find this book to be a valuable resource and reference.
Author(s): Andrew S. Tannenbaum and Albert S. Woodhull
Publication date: January 4th, 2006
Description: Operating Systems Design and Implementation, 3e, is ideal for introductory courses on computer operating systems. Written by the creator of MINIX, professional programmers will now have the most up-to-date tutorial and reference available today. Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like operating system as a detailed example. It has been especially designed for high reliability, for use in embedded systems, and for ease of teaching.
Reference Projects
Linux 0.0.1 - The first version of Linux. This version is very simple compared to subsequent versions after it.
Xv6 (Book) - A modernized version of the classic Dennis Richie's and Ken Thompson's UNIX V6, written in ANSI C for the x86 and RISC-V.
MINIX 1.0 - The first version of MINIX for Intel 8088 long mode. First appeared in a book released in 1986 called "Operating Systems: Design and Implementation" written by Andrew S. Tanenbaum.
MINIX 1.7.0 - A revision of the first version of MINIX, now a 32-bit operating system.
MINIX 2.0.0 - The second version of MINIX for i386 protected mode. Appeared in the second edition of "Operating Systems: Design and Implementation" released in 1997, written by Andrew S. Tanebaum and Albert S. Woodhull.
Note: MINIX 3.0.0 isn't included because it's too complex to be an educational operating system compared to previous versions of MINIX.
Websites
OSDev Wiki - General OS development wiki where most of the resources OSDevers uses
General purpose GPU compute framework for cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases based on Vulkan compute. Backed by the Linux Foundation.
Colibri Core is software to quickly and efficiently count and extract patterns from large corpus data, to extract various statistics on the extracted patterns, and to compute relations between the extracted patterns.
Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package.