Skip to main content

Syllabus

Lecture notes

Links

  • Introduction
  • What is an OS?
  • User mode / kernel mode / hardware hierarchy from machine language to applications
  • OS in action and Interrupts
  • Interrupts (continued)
  • Exceptions and system calls; Operating system today

Lecture notes

Links

  • Processes & Threads in Operating Systems
  • Process in memory; Processes VS threads; Multithreading
  • UNIX processes - state machine, scheduling, creation, collaboration, IPC
  • All about processes: creation via fork/exec, termination via exit(), and wait()
  • From Single-threaded programs to Multithreaded applications
  • Scheduling
  • First-Come, First-Served (FCFS) scheduling
  • Round Robin (RR) scheduling
  • First-Come, First-Served (FCFS) VS Round Robin (RR) scheduling comparison
  • Shortest-Job First (SJF) scheduling
  • Other scheduling policies (priority-based, multilevel queue, lottery); Summary

Lecture notes

Links

  • Introduction to concurrency and synchronization
  • Multithreaded programs and atomic operations
  • Too much milk! example
  • Correctness conditions; Synchronization summary
  • How to implement locks?
  • Implementation of the locks
  • Locks: basic spin-lock, Test-and-Set lock, Test-and-Test-and-Set lock

Lecture notes

Links

  • Conditional Synchronization
  • Bounded Buffer
  • Conditional Variable
  • Semphaphore
  • Monitors and Sempahores
  • Monitors Part 2
  • Reader/Writer
  • Reader/Writer
  • Reader/Writer

Lecture notes

Links

  • Deadlocks 1
  • Deadlocks 2
  • Deadlocks 3

Lecture notes

Links

  • VM Intro
  • Virtual memory layout
  • Segments
  • Page tables 1
  • Page tables 2
  • Page table entry
  • Address translation
  • Page table data structure
  • Translation Lookaside Buffer
  • TLB Miss
  • Caches, TLB and VM
  • Demand Paging
  • Design

Lecture notes

Links

  • Page replacement 1
  • Page replacement 2
  • Page replacement 3

Lecture notes

Links

  • Memory mapped I/O 1
  • Memory mapped I/O 2
  • Memory mapped I/O 3

Lecture notes

Links

  • Filesystems