Operating Systems: the tiny textbook

by: burt rosenberg
at: univ of miami


 
Dave, my mind is going.
I can feel it. I can feel it ...
 
... I am a HAL 9000 computer. I became
operational at the H.A.L. plant in Urbana,
Illinois on the 12th of January 1992.
My instructor was Mr. Langley,
and he taught me to sing a song.
  1. Introduction
    1. What is an operating system?
    2. What is a kernel?
    3. Virtual Machines and Hypervisors
    4. Microkernels
    5. A brief history
  2. Processes
    1. Syscalls and stack frames.
    2. The Process Abstraction
    3. The Thread Abstraction
    4. Virtual threads and the context switch
    5. The Process Lifecycle
    6. Signals and Interprocess Communication
    7. Ownership and permissions
    8. A new theory of processes (historical)
  3. Threads, Scheduling and Synchronization
    1. Synchronization: Principles and properties
    2. Synchronization: Algorithms
    3. Semaphores and Monitors
    4. From semaphores to locks
    5. Thread Scheduling
    6. Hardware interrupts
    7. Other scheduleable entities
    8. Deferred work and software interrupts
    9. Forks threads and schedulers (historical)
  4. Virtual Memory
    1. Overview
    2. Pages and page frames
    3. Demand paging and eviction
    4. Frame management and the swap cache
  5. Core services
    1. Linking and Loading
    2. Linking and Loading: An example
    3. Libraries and dynamic loading
    4. Kernel memory management (regions)
    5. User memory management
  6. Persistence and Consistency
    1. Block devices
    2. ACID properties
    3. The CAP theorem
    4. Relational databases
    5. Eventually consistent key stores
    6. Modern Datastores: Three case studies
    7. DNS and Eventual Consistency
    8. Amazon dynamo
  7. Filesystems
    1. A tale of three file systems
    2. The MS DOS FAT file system
    3. Deep dive into the unix filesystem
    4. Deep dive part 2
    5. Extensions in the "ext" filesystem
    6. The MS NT NTFS file system
  8. OS Development
    1. The software engineering process
    2. The mythical man-month
    3. The cathedral and the bazaar
    4. Linux and FreeBSD Release engineering and updates
    5. C Language

Creative Commons License
Operating Systems: the tiny textbook is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
First Release: 21 nov 2012
Revised: 23 sep 2020