Operating Systems Book

From Rixort Wiki
Jump to navigation Jump to search

Notes

  • Monolithic vs microkernels, with examples
  • Bootstrapping process
  • Processes
  • Context switching
  • Threads and multithreading
  • User and kernel threads
  • Thread pools and their benefits
  • Signals: default and user-defined handlers
  • Scheduling: co-operative (Windows 3.x) or pre-emptive
  • Dispatcher and dispatch latency
  • Scheduling algorithms
  • Processor affinity
  • Starvation and aging in relation to process scheduling
  • Syncronisation and race conditions
  • Critical sections
  • Locking and deadlocks
  • Mutex locks and spinlocks
  • Semaphores
  • Dining philosophers problem
  • Memory management
  • Registers
  • Logical and physical addresses
  • Memory management unit
  • Swapping
  • Memory protection
  • Memory fragmentation - internal and external
  • Paging, page tables
  • Page Address Extensions
  • Virtual memory
  • Demand paging and lazy swapping
  • Page faults
  • Dirty bits
  • Page replacement algorithms
  • What is an operating system?
  • (Brief) history of operating systems
  • Page sizes - reasons for small vs large + compromise
  • Filesystems
  • File blocks and internal fragmentation