Dr. Erhard Henkes 09.09.2011
Operating System Development Portal
(1) = osdev.org
(2) = lowlevel.eu
(3) = brokenthorn.com/Resources/OSDevIndex.html
(4) = en.wikipedia.org
(5) = specification
(6) = others
CPU
vm86
(1)(2)(3)(4)(5)
x86-32
(1)(2)(3)(4)(5)
x86-64
(1)(2)(3)(4)(5)
GDT
(1)(2)(3)(4)(5)
IDT
(1)(2)(3)(4)(5)
TSS
(1)(2)(3)(4)(5)
A20
(1)(2)(3)(4)(5)
ARM
(1)(2)(3)(4)(5)
CPU
bugs (1)(2)(3)(4)(5)
CPUID
(1)(2)(3)(4)(5)(6)
FPU (1)(2)(3)(4)(5)(6)
Memory
Memory
Map (1)(2)(3)(4)(5)
Memory
Size (1)(2)(3)(4)(5)
Paging
(1)(2)(3)(4)(5)
Heap
(1)(2)(3)(4)(5)
DMA
(1)(2)(3)(4)(5)
I/O Ports (1)(2)(3)(4)(5)
Tasks, Threads,
Scheduling
Single
Tasking (1)(2)(3)(4)(5)
Multi
Tasking
(1)(2)(3)(4)(5)
Real
Time (1)(2)(3)(4)(5)
TLS
(1)(2)(3)(4)(5)
Process
Synchronization
spinlock
(1)(2)(3)(4)(5)
monitor (1)(2)(3)(4)(5)
mutex
(1)(2)(3)(4)(5)
semaphore
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Inter-Process
Communication
ipc
(1)(2)(3)(4)(5)
syscall
(1)(2)(3)(4)(5)
IRQs, Exceptions
PIC
(1)(2)(3)(4)(5)
APIC
(1)(2)(3)(4)(5)
IRQ
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Timer, Counter,
Clocks
CMOS
(1)(2)(3)(4)(5)
RTC
(1)(2)(3)(4)(5)
TSC
(1)(2)(3)(4)(5)
Video
VGA
(1)(2)(3)(4)(5)
VBE
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Sound, Gameport
PC-Speaker
(1)(2)(3)(4)(5)(6)
SB16
(1)(2)(3)(4)(5)
AC97
(1)(2)(3)(4)(5)
Gameport
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Storage
FDD
(1)(2)(3)(4)(5)
HDD
(1)(2)(3)(4)(5)(6)
CDROM
(1)(2)(3)(4)(5)
USB
MSD (1)(2)(3)(4)(5)(6)
...
(1)(2)(3)(4)(5)
Network
RTL8139
(1)(2)(3)(4)(5)(6)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
TCP
(1)(2)(3)(4)(5)
UDP
(1)(2)(3)(4)(5)
IP
(1)(2)(3)(4)(5)
ARP
(1)(2)(3)(4)(5)
Ethernet
(1)(2)(3)(4)(5)
DHCP
(1)(2)(3)(4)(5)
ICMP
(1)(2)(3)(4)(5)
Bootloaders
Boot
Process (1)(2)(3)(4)(5)(6)
GRUB
(1)(2)(3)(4)(5)
LILO
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Filesystems
FAT12
(1)(2)(3)(4)(5)
FAT16
(1)(2)(3)(4)(5)
FAT32
(1)(2)(3)(4)(5)
NTFS
(1)(2)(3)(4)(5)
CDFS/ISO9660
(1)(2)(3)(4)(5)
ext2 (1)(2)(3)(4)(5)
ext3
(1)(2)(3)(4)(5)
ReiserFS (1)(2)(3)(4)(5)
NTFS (1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
Executable File
Types
ELF
(1)(2)(3)(4)(5)
PE
(1)(2)(3)(4)(5)
Bussystems
ISA
(1)(2)(3)(4)(5)
EISA (1)(2)(3)(4)(5)
PCI (1)(2)(3)(4)(5)(6)
PCI EXPRESS (1)(2)(3)(4)(5)
AGP
(1)(2)(3)(4)(5)
USB
(1)(2)(3)(4)(5)(6)(7)
Serial
(1)(2)(3)(4)(5)(6)
USB
Device Classes
USB MSD
(1)(2)(3)(4)(5)(6)
USB-Hostcontroller
UHCI
(1)(2)(3)(4)(5)
OHCI (1)(2)(3)(4)(5)
EHCI (1)(2)(3)(4)(5)
xHCI (1)(2)(3)(4)(5)
Hardware
Keyboard
(1)(2)(3)(4)(5)
Mouse
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)
...
(1)(2)(3)(4)(5)