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. What is?
    1. What is an operating system?
    2. What is a kernel?
    3. Syscalls and stack frames.
    4. A brief history
  2. Processes
    1. The process and its life cycle
    2. Thread abstraction and physical threads
    3. Context switching
    4. Hardware interrupts
    5. Thread resource simulation and scheduling
    6. Deferred work and software interrupts
  3. Synchronization and IPC
    1. Synchronization: Principles and properties
    2. Synchronization: Algorithms
    3. Semaphores and Monitors
    4. Signals and interprocess communication
  4. Memory: physical and virtual
    1. Block devices
    2. RAM caches and multiprocessor consistency
    3. Virtual Memory
    4. Pages and page frames
    5. Demand paging and eviction
    6. Frame management and the swap cache
  5. Memory management
    1. Kernel memory management (regions)
    2. User memory management
    3. memcache, RAM disks, etc
  6. Linking and loading
    1. Overview
    2. An example
    3. Libraries and dynamic loading
  7. Persistence, distribution and consistency
    1. A tale of three file systems
    2. Deep dive into the unix filesystem
    3. Deep dive part 2
    4. Extensions in the "ext" filesystem
  8. The software engineering process
    1. The mythical man-month
    2. The cathedral and the bazaar
    3. Linux and FreeBSD Release engineering and updates
    4. Agile

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