🗒️ Ben's Notes

CS 162: Operating Systems

CS162 Notes #

Here are my notes for the Fall 2021 offering of CS162, Berkeley’s OS course, based on Anderson and Dahlin’s textbook “Operating Systems: Principles and Practice”.

Table of Contents #

  • OS Basics - What is an OS, kernels, concurrency.
  • Processes - The process abstraction, fork/exec/wait/pipe.
  • Threads - Fork-join parallelism, multithreading, TCB, race conditions.
  • IO - Everything Is A File, streams, file descriptors, pipes, signals, sockets.
  • Synchronization - Locks, semaphores, condition variables, atomic operations.
  • Scheduling - Scheduling algorithms (FIFO, MLFQS, etc); deadlock.
  • Address Translation - Virtual memory, paging, page tables.
  • Caching - Everything you need to know about caches; page replacement policies.
  • File Systems - Storage, queuing theory, FFS, FAT, NTFS, RAID, 2PC, networks.
  • GDB Reference

How to contribute #

See the contributing guide for more details!

You might notice that some sections are empty (specifically, buffer management policies in Caching and most of Synchronization). Any contributions for these sections would be greatly appreciated!!

Credits #