CS 347/CS 333 Operating Systems
Autumn 2023

Schedule                 home                 references

  week 1  
  2/8, 4/8  

  course introduction, abstractions and interface, OS tasks and building blocks  
  introduction    lecture1     lecture2  
  ostep chapter: 2

  week 2  
  9/8, 11/8  

  the process abstraction, process related system calls
  lecture3     lecture4  
  ostep chapters: 4, 5 and 6

  week 3  
  16/8, 18/8  

  fork and exec, copy-on-write, signals, scheduling  
  lecture5     lecture6  
  ostep chapters: 6 and 7

  week 4  
  23/8, 25/8  

  the system call mechanism
  lecture7     lecture8  
  ostep chapters: 6

  week 5  
  30/8, 1/9  

  xv6 interrupt/trap handling, memory virtualization  
  lecture9     lecture10  
  book chapters:   xv6 book: 3   and   ostep book: 6

  week 6  
  6/9, 8/9  

  memory virtualization
  lecture11     lecture12  
  ostep chapters: 13, 14, 15, 16, 18

  week 7  
  13/9, 15/9  

  memory virtualization: paging, memory management, xv6 memory virtualization  
  lecture13     lecture14  
  book chapters:   xv6 book: 2   and   ostep chapters: 13, 14, 15, 16, 18

  week 8  
  16/9, 24/9  

  mid semester week
 
  week 9  
  27/9, 29/9  

  processes creation and scheduling redux (xv6 details), concurrency  
  lecture15     lecture16  
  book chapters:   xv6 book: 3 and 5   and   ostep chapters: 26

  week 10  
  4/10, 6/10  

  redux concurrency and synchronization primitives  
  lecture17     lecture18  
  book chapters:   xv6 book: 4   and   ostep chapters: 26, 28, 30, 31

  week 11  
  11/10, 13/10  

  condition variables, semaphores, reader-writer lock, sysncrhonization use cases 
  lecture19     lecture20  
  book chapters:   xv6 book: 4   and   ostep chapters: 26, 28, 30, 31

  week 12  
  18/10, 20/10  

  revision, the file abstaction and file system design 
  lecture21     lecture22  
  book chapters:   xv6 book: 4   and   ostep chapters: 36, 37, 39, 40

  week 13  
  25/10, 27/10  

  file system design and optimizations  
  lecture23     lecture24  
  book chapters:   xv6 book: 4   and   ostep chapters: 36, 37, 39, 40

  week 14  
  1/11, 3/11  

  data block mappings, devices and file systems, crash consistency, fsck, journaling 
  lecture25     lecture26  
  book chapters:   xv6 book: 4   and   ostep chapters: 36, 37, 39, 40, 42

  week 15  
  8/11, 10/11  

  RAID, xv6 file systems stack, summary  
  lecture27     lecture28  
  book chapters:   xv6 book: 4   and   ostep chapters: 36, 37, 38, 39, 40, 42