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)