awesome-osdev
List of resources and projects for operating system development.
https://github.com/leap0x7b/awesome-osdev
Last synced: 6 days ago
JSON representation
-
Projects
-
Bootloaders
-
Libraries
- ACPICA - A reference ACPI library for operating systems.
- Sortix libc - The C standard library provided by Sortix. Even though it's designed for Sortix, it's easy to port and [supports over 70+ third-party software](https://gitlab.com/sortix/sortix/wikis/Ports).
- LAI - LAI is an interpreter for AML, the ACPI Machine Language.
- libheap - A simple heap allocation library for hobby operating systems.
- frigg - Lightweight C++ utilities and algorithms for system programming
- lil - A lightweight Intel GPU library
- mlibc - Portable C standard library
- chadlibc - A simple C standard library. Very incomplete and currently isn’t recommended for use in your operating system.
- libheap - A simple heap allocation library for hobby operating systems.
- lil - A lightweight Intel GPU library
- musl - A lightweight C standard library designed for Linux, but should work in other operating systems with some modifications.
-
Operating Systems
- 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
- 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.
- Managarm - Pragmatic microkernel-based OS with fully asynchronous I/O
- Lyre - Lyre is an effort to write a modern, fast, and useful operating system.
- μ - µ is a minimalist microkernel
- opuntiaOS - An operating system targeting x86, ARMv7, and Aarch64
- Aero - Aero is a new modern, experimental, unix-like operating system following the monolithic kernel design.
- FlorenceOS - The Renaissance of Operating Systems
- duckOS - A hobby UNIX-like OS with a graphical window manager for x86 computers.
- nyx - A simple operating system with a capability-based microkernel.
- Lemon OS - Lemon OS is a UNIX-like 64-bit operating system written in C++.
- Skylight - A clean, well-written minimalist operating system designed to be used as an educational material for operating system development.
- SnowflakeOS - "It is very special"
- skiftOS - A hobby operating system built from scratch in modern C++. Featuring a reactive UI library and a strong emphasis on user experience. (skiftOS is currently being rewritten so a lot of things might not work)
- nyx - A simple operating system with a capability-based microkernel.
-
-
Resources
-
Books
- Operating Systems: Three Easy Pieces
- Modern Operating Systems
- Operating System Concepts
- The Design of the UNIX Operating System
- Operating Systems: Principles and Practice
- Operating Systems: Design and Implementation
- Operating Systems: Design and Implementation
- Operating Systems: Design and Implementation
-
Manuals and Specifications
- Intel 8088 Datasheet
- Intel 80286 Datasheet
- Introduction to the 80386
- 80386 Hardware Reference Manual
- AMD x86-64/AMD64 Reference Manual
- ARM Architecture Reference Manual
- Aarch64 Instruction Set Reference Manual
- RISC-V Instruction Set Manual (Volume 1: Unprivileged ISA)
- RISC-V Instruction Set Manual (Volume 2: Privileged Architecture)
- Intel MMX Technology Overview - compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-mmx-technology.html?wapkw=mmx))
- AMD MMX Technology Manual
- AMD 3DNow! Technology Manual
- Intel AVX Extensions Programming Reference
- Intel AVX-512 - Instruction Set for Packet Processing
- ARM NEON Programmer’s Guide - sets/simd-isas/neon/intrinsics))
- BIOS Boot Specification
- "El Torito" Bootable CD-ROM Format
- Plug and Play BIOS Specification
- Advanced Power Management BIOS Interface Specification Revision 1.2
- Unified Extensible Firmware Interface Specifications
- UEFI Specification Version 2.0
- ACPI Specification Version 6.5
- PS/2 Mouse/Keyboard Protocol Specification
- PS/2 Keyboard Interface
- PS/2 Mouse Interface
- USB Interface Documentations
- USB EHCI Specification
- USB xHCI Specification
- USB OHCI Specification
- USB HID Specification
- NVM Express Specifications
- NVM Express Base Specification 2.0c
- NVMe Command Set Specification 1.0c
- T13 - The working group of the ATA/ATAPI standard
- PCI IDE Controller Specification
- Programming Interface for Bus Master IDE Controller
- ATA/ATAPI-8 Command Set
- ATA/ATAPI-8 Architecture Model
- Serial ATA Revision 3.2 Specification
- Serial ATA AHCI Specification Revision 1.3
- SCSI-1 Specification
- SCSI-2 Specification
- SCSI-3 Parallel Interface Specification
- CD-ROM Technical Summary
- Floppy Drive Controller Data Sheet
- The 8272A Floppy Disk Controller
- Floppy Media Type ID’s
- Second Extended File System (Ext2)
- Fourth Extended File System (Ext4)
- Btrfs Documentation
- FAT: General Overview of On-Disk Structure
- Long File Name Specification
- Notes on the structure of the VFAT Filesystem
- Inside the High Performance File System (HPFS)
- NFS Version 2 Protocol Specification (RFC 1094)
- NFS Version 3 Protocol Specification (RFC 1813)
- WebNFS Specification (RFC 2054)
- NFS Version 4 Protocol Specification (RFC 3530)
- NFS Version 4.1 Protocol Specification (RFC 5661)
- ISO 9660 File System Specification (ECMA-119)
- ISO 13346 Universal Disk Format Specification (ECMA-167)
- Joliet Specification
- Sound Blaster Series Hardware Programming Guide
- Standard MIDI-File Format Spec v1.1
- MIDI 1.0 Detailed Specification
- Audio Codec '97 Component Specifications Revision 2.3
- Intel High Definition Audio Specification Revision 1.0a
- Realtek RTL8139C Datasheet
- Realtek RTL8139D Datasheet
- Realtek RTL8139 Programmers Guide
- Realtek RTL8169S Datasheet
- Intel 8254x Family of GbE Controllers Reference Manual
- Intel i217 Ethernet Controller Datasheet
- National Semiconductor DP8390D/NS32490D Datasheet - The original reference design of the NE2000 standard.
- Realtek RTL8019AS Datasheet
- WinSystems PCM-NE2000 Datasheet
- WinSystems LPM-NE2000 Datasheet
- WinSystems MCM-NE2000 Datasheet
- IBM MDA Reference Manual
- IBM CGA Reference Manual
- IBM EGA Reference Manual
- IBM VGA/XGA Technical Reference Manual
- FreeVGA Project
- Super VGA BIOS Extensions 1.0 Specification
- VESA BIOS Extensions 1.2 Specification
- VESA BIOS Extensions 2.0 Specification
- VESA BIOS Extensions 3.0 Specification
- Executable and Linking Format Specification
- System V Application Binary Interface Edition 4.1
- System V ABI, Intel386 Architecture Processor Supplement
- System V ABI, AMD64 Supplement
- ELF for the ARM Architecture
- RISC-V ELF psABI Document
- System V ABI, MIPS RISC Processor Supplement
- Portable Executable Specification
- OS X ABI Mach-O File Format Reference
- DJGPP COFF File Format Specification
- DOS .com Specification
- DOS .sys Specification
- MZ File Format Specification
- a.out Specification
- Linear Executable Specification
- Ralf Brown’s Interrupt List
- Boot Sector Overview
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- AMD MMX Technology Manual
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- Introduction to the 80386
- AMD MMX Technology Manual
- Intel AVX-512 - Instruction Set for Packet Processing
- Plug and Play BIOS Specification
- PS/2 Keyboard Interface
- USB Interface Documentations
- SCSI-2 Specification
- OpenZFS Documentation
- ISO 13346 Universal Disk Format Specification (ECMA-167)
- Joliet Specification
- Audio Codec '97 Component Specifications Revision 2.3
- Realtek RTL8169S Datasheet
- IBM VGA/XGA Technical Reference Manual
- FreeVGA Project
- VESA BIOS Extensions 2.0 Specification
- VESA BIOS Extensions 3.0 Specification
- RISC-V ELF psABI Document
- DJGPP COFF File Format Specification
- MZ File Format Specification
- Standard MIDI-File Format Spec v1.1
- Realtek RTL8139D Datasheet
- IBM MDA Reference Manual
- IBM EGA Reference Manual
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- RISC-V ELF psABI Document
- Intel MMX Technology Overview - compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-mmx-technology.html?wapkw=mmx))
- "El Torito" Bootable CD-ROM Format
- CD-ROM Technical Summary
- Floppy Drive Controller Data Sheet
- The 8272A Floppy Disk Controller
- Floppy Media Type ID’s
- FAT: General Overview of On-Disk Structure
- Long File Name Specification
- Notes on the structure of the VFAT Filesystem
- Inside the High Performance File System (HPFS)
- ISO 9660 File System Specification (ECMA-119)
- System V ABI, Intel386 Architecture Processor Supplement
-
Categories
Sub Categories
Keywords
kernel
10
operating-system
10
osdev
10
os
7
hobby-os
5
x86-64
5
uefi
4
bootloader
4
cpp
3
x86
3
c
3
unix
3
c-library
2
posix-compatible
2
baremetal
2
operating-systems
2
aarch64
2
microkernel
2
c-plus-plus
2
system-programming
1
system-administration
1
programming
1
networking
1
filesystem
1
lemon
1
documentation
1
aero
1
rust
1
arm
1
arm64
1
data-structures-and-algorithms
1
computer-architecture
1
compilers
1
bash
1
window-manager
1
toaruos
1
text-editor
1
smp
1
compositor
1
cdrom
1
armv8
1
desktop-environment
1
modern-c
1
limine
1
lyre
1
lyre-os
1
hobby-kernel
1
opuntiaos
1
userland
1
doom
1