Tolles Betriebssystem-Zeug
Diese Liste enthält tolle Dinge rund um das Betriebssystem. Ziel ist es, alle möglichen Open-Source-Betriebssysteme zu sammeln, damit die Leute ihren Code studieren und daraus lernen können. Sammeln Sie außerdem hilfreiche Ressourcen, um Menschen den Einstieg in die Entwicklung gängiger Betriebssysteme zu erleichtern.
Open-Source-Betriebssysteme
- 9front – Eine Abzweigung von Plan 9, konzipiert für verteiltes, vernetztes Computing.
- AROS – Research Operating System ist ein leichtes, effizientes und flexibles Desktop-Betriebssystem, das Ihnen dabei hilft, das Beste aus Ihrem Computer herauszuholen. Es handelt sich um ein unabhängiges, portables und kostenloses Projekt, das darauf abzielt, auf API-Ebene mit AmigaOS kompatibel zu sein
- AlmeidaOS – x86-64-Betriebssystem mit eigenem Bootloader, Scheduler und eingeschränkter libc, alles von Grund auf neu geschrieben
- Animal – 32-Bit-Multithread-Betriebssystem (ehemals Gramado)
- AurixOS – Ein kleines Multiplattform-Betriebssystem für Entwickler und Entwickler
- AquilaOS – Betriebssystem, das POSIX-kompatibel und größtenteils ISA-transparent ist
- BareMetal, GitHub – 64-Bit-Betriebssystem, geschrieben in Assembly für x86-64
- Basekernel – Ein einfacher Betriebssystemkernel für Forschung, Lehre und Spaß
- BoneOS – Betriebssystem für alle, von allen entwickelt
- Bottlerocket OS – Linux-basiertes Betriebssystem zum Hosten von Containern.
- Brutal – Ein vom brutalistischen Design inspiriertes Betriebssystem, das die Ideale von UNIX aus den 1970er Jahren mit moderner Technologie und Ingenieurskunst verbindet
- cavOS – Amd64-Betriebssystem in C. Versucht, ein vollständiges Betriebssystem mit einer einfachen und lesbaren Codebasis zu erstellen
- Charlotte – CharlotteOS-Kernel in Rust
- ChibiOS – eine vollständige Entwicklungsumgebung für eingebettete Anwendungen, einschließlich RTOS, einem HAL, Peripherietreibern, Supportdateien und Tools
- Clive – Ein von Plan9 und Nix inspiriertes Unikernel-Betriebssystem, das an der Universidad Rey Juan Carlos in Madrid entwickelt wurde
- Cyjon – reines x64-Assembler-Betriebssystem (im Zusammenhang mit dem Fern-Night-Projekt).
- DragonOS – Ein x86-64-Betriebssystem, das von Grund auf neu erstellt wurde.
- Dreamos64 – Ein von Grund auf neu entwickeltes x86-64-Hobby-Betriebssystem
- Embox – Konfigurierbarer Betriebssystemkernel, der für ressourcenbeschränkte und eingebettete Systeme entwickelt wurde.
- ExectOS, GitHub – ExectOS ist ein modernes, EFI-fähiges Allzweckbetriebssystem, das von Grund auf neu geschrieben wurde und die XT-Architektur implementiert. Es läuft auf x86- und x86_64-Architekturen und bietet eine Kompatibilitätsschicht für NT-Treiber.
- Fern-Night – Betriebssystem in C-Sprache (im Zusammenhang mit dem Cyjon-Projekt).
- Fiwix, GitHub – Ein UNIX-ähnlicher Kernel für die i386-Architektur.
- Fomos – Experimentelles Betriebssystem, erstellt mit Rust.
- FreeRTOS, GitHub – IoT-Betriebssystem für Mikrocontroller, von Amazon.
- GarnOS – Hobby-Betriebssystem mit modularem Kernel.
- Genode – Ein FOSS-Betriebssystem-Framework, das aus einer Mikrokernel-Abstraktionsschicht und einer Sammlung von Userspace-Komponenten besteht
- Gloire – Ein Betriebssystem, das mit dem Ironclad-Kernel (ein teilweise formal verifizierter Kernel mit geringem Platzbedarf für allgemeine und eingebettete Betriebssysteme, geschrieben in SPARK und Ada) und GNU-Tools erstellt wurde.
- GreenteaOS, Github – Ein kostenloses Betriebssystem, das so konzipiert ist, dass es mit ausführbaren Windows-Dateien kompatibel ist
- HalideOS – experimentelles Betriebssystem, komplett von Grund auf neu geschrieben.
- HarveyOS – Ein verteiltes Betriebssystem
- HelenOS – Multikernel-Multiserver-Betriebssystem
- House – Betriebssystem und Umgebung des Haskell-Benutzers.
- Hubris – Hubris ist ein Betriebssystem für Mikrocontroller, das von der Oxide Computer Company in Rust entwickelt wurde
- Illumos – illumos ist ein Unix-Betriebssystem, das Funktionen der nächsten Generation für Downstream-Distributionen (wie OmniOS, OpenIndiana und Tribblix) bereitstellt.
- Interim – Minimalistisches Betriebssystem mit Konzepten von Lisp-Maschinen und Plan9
- JSD-OS – Ein kleines Betriebssystem für 32 Bit x86.
- Jehanne, GitHub – Betriebssystem inspiriert von Plan9, 9front und Harvey OS
- KiddieOS – UNIX-ähnliches 64-Bit-Betriebssystem, geschrieben in Assembly, C++.
- KnightOS – für z80-Rechner
- KolibriOS – MenuetOS-Fork
- L4re – Betriebssystem und Hypervisor für sicherheitskritische und virtualisierungsfähige Anwendungen.
- LemonOS, GitHub – UNIX-ähnliches 64-Bit-Betriebssystem, geschrieben in C++.
- Mako – Hobby OS für x86 von Grund auf, geschrieben in C
- MaslOS – Ein 64-Bit-GUI-Multitasking-Hobby-Betriebssystem, das größtenteils von Grund auf in C++ und etwas C/ASM geschrieben wurde.
- MeetixOS – Ein in modernem C++20 geschriebenes Hobby-Betriebssystem, das Unix-ähnlich sein soll.
- MentOS – Ein pädagogisches 32-Bit-Linux-ähnliches Betriebssystem.
- MenuetOS – Hobby-Betriebssystem, das 32 und 64 Bit unterstützt und in Assemblersprache geschrieben ist
- Mimiker, GitHub – Einfaches Unix-ähnliches Betriebssystem für Bildungs- und Forschungszwecke. MIPS-Mikrokernel.
- Mimosa, GitHub – Forschungsbetriebssystem, das Scheme auf Bare-Metal ausführt
- Minoca OS – Allzweck-Betriebssystem, geschrieben in C
- MollenOS – MollenOS/Vali ist ein modernes Betriebssystem, das mit Fokus auf Abstraktion und einem modularen Design entwickelt wurde und es jedem ermöglicht, es auf jede Architektur zu portieren. Derzeit ist es auf die Plattformen x86-32 und x86-64 ausgerichtet
- MyXomycota – Monolithischer Kernel in C
- NESOS – Ein Betriebssystem für das Nintendo Entertainment System!
- Nanos – Unikernel, der Linux-kompatibel ist, geschrieben in C
- NodeOS – Betriebssystem mit NodeJS und Linux
- Northport – Monolithischer Kernel und Unterstützungsbibliotheken für riscv64 und x86_64.
- PathOS – Hobby-Betriebssystem basierend auf MikeOS, geschrieben in Assemblersprache
- Pidi OS – Unabhängiges und minimalistisches Betriebssystem
- PonyOS, GitHub – ToaruOS-basiertes Betriebssystem im My Little Pony-Stil
- PouplyOS – Einfaches Betriebssystem für Spaß und Lernen, benannt nach dem ESISAR-Maskottchen Poulpy
- PureDarwin – PureDarwin ist ein Community-Projekt zur Erweiterung von Darwin zu einem vollständigen, nutzbaren Betriebssystem
- Qubes OS – Sicherheitsorientiertes Betriebssystem, das auf dem Xen-Hypervisor basiert und darauf ausgelegt ist, verschiedene Bereiche basierend auf der Vertrauensebene zu isolieren.
- RavynOS – Ein BSD-basiertes Betriebssystemprojekt, das darauf abzielt, ein Erlebnis wie und eine gewisse Kompatibilität mit macOS (früher bekannt als airyxOS) zu bieten.
- Redox – geschrieben in Rust
- RustyHermit – Ein auf Rust basierendes, leichtes Unikernel
- Sanos, GitHub – Sanos ist ein minimalistischer 32-Bit-x86-Betriebssystemkernel für Netzwerkserver-Appliances, die auf Standard-PC-Hardware laufen.
- SayoriOS – Hobby-Betriebssystem für x86-Computer, derzeit in aktiver Entwicklung, geschrieben in C
- Sculpt OS – Genode-basiertes Betriebssystem
- Serenity – Grafisches Unix-ähnliches Betriebssystem für x86-Computer
- SimpleOS – Einfaches Betriebssystem, codiert in C und Assembly
- Snowdrop OS – ein Homebrew-Betriebssystem von Grund auf, in Assemblersprache
- Sortix – Hobby-Betriebssystem in C und C++ von Jonas „Sortie“ Termansen
- Syllable – Nachfolger von AtheOS. Syllable wurde in der Tradition von Amiga und BeOS entwickelt, basiert jedoch auf vielen Teilen des GNU-Projekts und von Linux.
- SynestiaOS – 32/64-Bit-Betriebssystem, geschrieben in C für Arm-Plattform
- TempleOS – Religiöses Betriebssystem :-)
- Theseus – Ein modernes experimentelles Betriebssystem, das von Grund auf in Rust geschrieben wurde, um neuartige Betriebssystemstrukturen und Zustandsverwaltungstechniken zu erforschen.
- Thor – 64-Bit-Betriebssystem, größtenteils in C++ geschrieben
- ToaruOS – Hobby-Betriebssystem von Grund auf
- Týndur – Hobby-Betriebssystem, erstellt von der Lowlevel-Community. Geschrieben in C und Pascal
- Ultron OS – x86-Betriebssystem geschrieben in C++, High-School-Projekt
- Unikraft – Ein modularer Unikernel für Spezialisierung, hohe Effizienz, Leistung und Sicherheit; Linux/POSIX-kompatibel; meist in C
- Vinix – Vinix ist der Versuch, ein modernes, schnelles und nützliches Betriebssystem in der Programmiersprache V zu schreiben
- Visopsys – Open-Source-Hobby-Betriebssystem, entwickelt seit 1997
- Windows 95 in Electron - Hobby Windows 95-Implementierung in Electron
- Xv6 – Ein Lehrbetriebssystem, das im Sommer 2006 für den Betriebssystemkurs des MIT entwickelt wurde
- ZealOS – Das Zeal-Betriebssystem ist eine modernisierte, professionelle Abzweigung des 64-Bit-Temple-Betriebssystems TempleOS.
- ackOS – Ein einfaches 64-Bit-Betriebssystem.
- aurora_os – Geschrieben in Rust.
- dahliaOS – dahliaOS ist ein modernes, sicheres, leichtes und reaktionsschnelles Betriebssystem, das das Beste von GNU/Linux und Fuchsia OS kombiniert.
- duckOS – Ein Hobby-UNIX-ähnliches Betriebssystem mit einem grafischen Fenstermanager für x86-Computer.
- eggos – Ein Go-Unikernel, der auf x86-Bare-Metal läuft
- Emerald – Ein zum Spaß in C geschriebener Betriebssystemkernel
- gopher-os – Ein Proof-of-Concept-Betriebssystemkernel, geschrieben in Go
- hhuOS – hhuOS ist ein kleines, in C++ und Assembler geschriebenes Betriebssystem für die x86-Architektur. Der Hauptzweck dieses Projekts besteht darin, zu zeigen, wie verschiedene Aspekte der Betriebssystemtheorie implementiert und miteinander verknüpft werden können. Das System ist nicht als vollwertiges Betriebssystem für den täglichen Gebrauch gedacht.
- Wasserstoff - Spielzeug-Betriebssystem. 64-Bit-Kernel mit präemptivem Multitasking, der EFI, PCIe, SATA, Framebuffer-Grafikmodus und HFS+ unterstützt.
- lyre – x86-Kernel und -Distribution, unterstützt von Mlibc, GNU-Userland-Tools und anderer gängiger *nix-Software.
- managarm – Pragmatisches Mikrokernel-basiertes Betriebssystem mit vollständig asynchroner E/A
- menix – Ein minimales und erweiterbares Unix-ähnliches Betriebssystem.
- moros – MOROS ist ein in Rust geschriebenes Hobby-Betriebssystem für die x86-Architektur.
- mOS – Ein von Grund auf entwickeltes Hobby-Betriebssystem
- nopeos – Einfacher Betriebssystemkernel mit BASIC-Interpreter für x86
- octox – Unix-ähnliches Betriebssystem in Rust, inspiriert von xv6-riscv
- oneOS – x86-32- und ARMv7-Kernel mit präemptivem Multithreading, Fenstermanager und Editor
- opuntiaOS – ein Betriebssystem für x86, ARMv7, Aarch64.
- orange_slice – Ein Forschungskernel und Hypervisor, der versucht, eine vollständig deterministische Emulation mit minimalen Leistungskosten zu erreichen. In Rust
- pranaOS – Ein Unix-Betriebssystem, das von Grund auf in c / c++ geschrieben wurde
- quickOS – Ein von einem unabhängigen Entwickler erstelltes Betriebssystem, das sich noch in der Entwicklung befindet, wie MS-DOS, aber in qbasic. Es ist mit qb64 GEMACHT.
- r3 – Ein in Rust geschriebener Hobby-x86_64-Betriebssystemkernel – mit minimalen Funktionalitäten
- ravynOS – BSD-basiertes Betriebssystemprojekt, das ein Erlebnis wie und eine gewisse Kompatibilität mit macOS (früher bekannt als airyxOS) bieten soll.
- skiftOS, GitHub – Ein einfaches, handgemachtes Betriebssystem mit einer grafischen Benutzeroberfläche.
- soso – Einfaches Unix-ähnliches Betriebssystem, geschrieben in Nasm-Assembly und größtenteils in C
- tilck – Ein kleiner Linux-kompatibler Kernel.
- tock, GitHub – Ein sicheres eingebettetes Betriebssystem für Mikrocontroller
- unox-os – Unox ist ein unixähnliches Bildungsbetriebssystem
- willOS – Ein minimaler 64-Bit-Kernel (Betriebssystem, das viele Dinge nicht „bedienen“ kann)
Beliebte Betriebssysteme
- Darwin XNU – Der XNU-Kernel-Quellcode zur Verwendung in MacOS und iOS
- FreeBSD, Github – Unix-ähnliches Betriebssystem basierend auf BSD
- FreeDOS – DOS-kompatibles Betriebssystem
- Haiku – BeOS-inspiriertes Betriebssystem
- Linux – Linux-Kernel
- Minix, Github – Unix-ähnliches Betriebssystem basierend auf einer Mikrokernel-Architektur
- MS-DOS – Die Originalquellen von MS-DOS 1.25 und 2.0
- NetBSD, Github – Unix-ähnliches Betriebssystem basierend auf BSD
- OpenBSD, Github – Unix-ähnliches Betriebssystem basierend auf BSD
- Plan 9 von Bell Labs – Ein Betriebssystem der Unix-Entwickler, das die Unix-Philosophie „Alles ist eine Datei“ um ein netzwerkzentriertes Dateisystem, Namespaces und verteiltes Computing erweitert.
- ReactOS, Github – Ein kostenloses Windows-kompatibles Betriebssystem
- SystemV – AT&T UNIX System V-Quellcode
Bücher und Reiseführer
Online-Bücher
- So erstellen Sie ein Computer-Betriebssystem – in C++
- Intermezzos – Ein Folgebuch zum Erstellen von IntermezzosOS in Rust
- Linux-Kernel auf den Punkt gebracht – Deckt das gesamte Spektrum der Kernel-Aufgaben ab, verfügbar als Kapitel oder als PDF
- Das kleine Buch über Betriebssystementwicklung von Erik Helin und Adam Renberg
- Think OS – Eine kurze Einführung in Betriebssysteme von Allen B. Downey
- Betriebssystem-Entwicklungsreihe – Betriebssystem von Grund auf in C
- Betriebssysteme: Drei einfache Teile – Leicht lesbares Buch über Virtualisierung, Parallelität und Persistenz
- xv6: ein einfaches, Unix-ähnliches Lehrbetriebssystem – Buch für Xv6
- Betriebssysteme: Von 0 auf 1 – Starten Sie selbst, um ein Betriebssystem von Grund auf zu schreiben von Do Hoang Tu
- Osdev Notes – Wie man ein Betriebssystem von Grund auf schreibt von Ivan G. und Dean T.
Tutorials
- Baking Pi – Betriebssystementwicklung der University of Cambridge
- Erstellen Sie von Jim Huang einen minimalen Multitasking-Betriebssystemkernel für ARM von Grund auf
- Brans Kernel-Entwicklung von Brandon Friesen
- Wie man einen Linux-Kernel-Patch schreibt und einreicht von Greg Kroah-Hartman
- Präsentation zur Entwicklung des Linux-Kernels von Greg Kroah-Hartman
- os-tutorial – Wie man ein Betriebssystem von Grund auf erstellt von Carlos Fenollosa
- Rollen Sie Ihr eigenes Spielzeug-UNIX-Klon-Betriebssystem von James Molloy
- Ein Betriebssystem in Rust schreiben von Philipp Oppermann
- Erstellen eines RISC-V-Betriebssystems mit Rust von Stephen Marz
- Betriebssystementwicklung für Dummies von Leo Whitehead
- Kernel 101 – Schreiben wir einen Kernel von Arjun Sreedharan
- Kernels 201 – Schreiben wir einen Kernel mit Tastatur- und Bildschirmunterstützung von Arjun Sreedharan
- Schreiben eines kleinen x86-Bootloaders von Joe Bergeron
- Einen Bootloader schreiben von Alex Parker
- Erlernen der Betriebssystementwicklung mit Linux-Kernel und Raspberry Pi
- mya, ein unterhaltsames Projekt zur Erstellung eines Betriebssystems von Grund auf von Erfan
Websites
- Genodians – Geschichten rund um das Genode-Betriebssystem
- os-dev – Wiki mit allem, was Sie wissen müssen
- Lowlevel – Ein Wiki zum Erstellen eines Betriebssystems von Grund auf. Auf Deutsch
- POSIX – Standards zur Aufrechterhaltung der Kompatibilität zwischen Betriebssystemen
- Rust OSDev – Newsletter über Betriebssystementwicklung in Rust
- OSRTOS – Liste der Open-Source-Echtzeitbetriebssysteme
- Multicians – Die Multicians-Website präsentiert die Geschichte des Multics-Betriebssystems für Personen, die sich für die Geschichte des Systems interessieren
Papiere
- Die Vorteile und Kosten des Schreibens eines POSIX-Kernels in einer Hochsprache von Cody Cutler, M. Frans Kaashoek und Robert T. Morris, MIT CSAIL
- Running Scheme On Bare Metal von Samuel Yvon, Marc Feeley, Scheme 2020
- Unikraft: Fast, Specialized Unikernels the Easy Way von Kuenzer et al., EuroSys 2021
Video-Tutorials
- Schreiben Sie Ihr eigenes Betriebssystem
- Nanobyte
- Kernel-Entwicklung von Grund auf von Dragon Zap Education
- OSDev-Vorlesungsreihe von AptRock327
Linux-spezifisch
Ein Anfängerleitfaden zur Linux-Kernel-Entwicklung (LFD103)
Das Linux-Kernel-Modul-Programmierhandbuch
Die Linux-Kernel-Dokumentation
Zusammenarbeit mit der Kernel-Entwickler-Community
Linux-Kernel-Lehre
Linux-Insider
Linux-Kernel-Arbeitsbuch
Linux-Kernel-Lehre
Bootlins interaktive Linux-Kernel-Map
Linux-Kernel-Systemaufruftabelle für alle Archen von Marcin Juszkiewicz
OldLinux – Eine viel kommentierte Linux-Kernel-Quelle und mehr
sam4ks Linux-Kernel-Ressourcen
xairys Linux-Kernel-Ausnutzung
fibdrv Linux-Kernelmodul, das Fibonacci-Zahlen berechnet
Kernel-Sicherheitslernen
Syzbot-Fehler
Syzkaller-Kernel-Fuzzer
Mehr mit Lore und B4 machen, Folien
Der Linux Kernel Entwicklungs-Workflow (2023, Deutsch) von Rouven Czerwinski
Werkzeuge
- b4, docu, ein Tool zur Unterstützung bei E-Mail-basierten Patch-Workflows
- clang-extract ist ein Tool zum Extrahieren von Codeinhalten aus Quelldateien mithilfe der Clang- und LLVM-Infrastruktur.
- Hackermail ist ein E-Mail-Verwaltungstool für Hacker, die über Mailinglisten zusammenarbeiten
- kworkflow – Reduzieren Sie den Aufwand bei der Einrichtung der Infrastruktur für die Linux-Entwicklung
- virtme-ng – Erstellen Sie schnell Kernel und führen Sie sie in einem virtualisierten Snapshot Ihres Live-Systems aus
Blogbeiträge
Planetenkern
Werden Sie Linux-Kernel-Mitwirkender – Teil 1 von Javier Carrasco
Werden Sie Linux-Kernel-Mitwirkender – Teil 2 von Javier Carrasco
Werden Sie Linux-Kernel-Mitwirkender – Teil 3 von Javier Carrasco
Behebung von Fehlern im Linux-Kernel mit Syzbot, Qemu und GDB von Javier Carrasco
b4 für Linux-Kernel-Mitwirkende von Javier Carrasco
Verwenden Sie b4 für Kernel-Beiträge von Marcus Folkesson
Verwendung von Lei, B4 und Mutt zur Kernel-Entwicklung von Josef Bacik
netdev im Jahr 2023 von Jakub Kicinski
Fünf Befehle zum Absturz des Kernels von Marcos Paulo de Souza
Sie können ein Kernel-Hacker sein! von Julia Evans
4 Wege zum Kernel-Hacker von Julia Evans
Erraten von Linux-Kernel-Registern von Julia Evans
Wie ich von Ariel Miculas um meinen ersten Kernel-Beitrag gebracht wurde
Wenden Sie Linux-Kernel-Patches von LKML von Adam Young an (bevor er auf b4 aufmerksam wurde)
Mein Patch-Review-Workflow von Josef Bacik
Linux-Kernel-Entwicklungsworkflow von Tommaso Merciai
Wenden Sie einen Linux-Kernel-Patch auf den stabilen Baum an (2009) von Greg Kroah-Hartman
Patch-Workflow mit Mutt 2019 von Greg Kroah-Hartman
Debug-Kernel mit KGDB von Marcus Folkesson
Linux-Kernel-Debugging
Wie ich den E-Mail-Patch-Entwickler-Workflow lieben lernte von Emily Shaffer
Debuggen
- Insektenjagd
- Einen Käfer halbieren
- Dynamisches Debuggen
- Wer hat diese Änderung vorgenommen und wann: Verwendung von Cregit zum Debuggen von Shuah Khan
- Machen Sie die Stack-Dump-Ausgabe wieder nützlich
- Debugging-Analyse von Kernel-Paniken und Kernel-Oopses mithilfe der System Map von Sanjeev Sharma
- Einen Kernel verstehen Hoppla! von Surya Prabhakar
E-Mail
Erfahren Sie, wie Sie git+email verwenden: git-send-email
Erfahren Sie, wie Sie Patches per E-Mail überprüfen: git-am
Verwenden Sie Klartext-E-Mails
Die Vorteile eines E-Mail-gesteuerten Git-Workflows von Drew DeVault
Codeüberprüfung mit E-Mail-Geschwindigkeit durch Drew DeVault
Konferenzen / Präsentationen
- Linux Plumbers, YT
- Die Linux Foundation