Operating System Design

Table of Contents



 * Preface
 * Introduction
 * Case studies
 * History

Kernel Architecture

 * Monolithic Kernel
 * Solaris
 * Linux
 * Windows 9x
 * BSD
 * Microkernel
 * GNU Hurd
 * MINIX
 * QNX
 * Exokernel
 * XOK
 * Hybrid Kernel
 * Mac OS X
 * Windows NT/XP
 * BeOS

Initialization

 * Bootloader
 * Hardware Initialization

Processes

 * Interrupts
 * Context Switching
 * Scheduling
 * First Come First Served
 * Shortest Process Next
 * Shortest Remaining Time
 * Round Robin Scheduling
 * Preemption
 * Priority Scheduling
 * Concurrent Processing
 * Deadlock
 * Livelock
 * Interprocess Communication
 * Locks
 * Signals
 * Semaphores
 * Monitors
 * Shared Memory
 * Threads (Lightweight Processes)
 * Fibers (Lightweight Threads)

Memory Management

 * Physical Memory
 * Segmentation
 * Virtual Memory
 * Paging
 * Swapping
 * Basics
 * Allocation Algorithms
 * Fault Tolerance

File Systems

 * Abstraction
 * Allocation Algorithms
 * Performance
 * Fault Tolerance
 * RAID
 * Journaling
 * Dealing with Bad Blocks
 * Case Studies
 * File Allocation Table (FAT)
 * NTFS
 * ext4
 * BTRFS
 * ReiserFS
 * HFS
 * ZFS

Security

 * Access Controls
 * Users
 * Resources
 * Privileges

Interface

 * Command line interfaces
 * Graphical user interfaces
 * Desktop environment
 * Configuration tools
 * User Ability