67808 – Operating Systems Course
Spring 2009

Course Plan

Date Material Reading Notes
1 09Mar09 11Mar09 PURIM: no exercises in first week!
Ex1: cost of trap DEADLINE: 26 Mar 2009
   
12Mar09 Introduction
What the operating system does
Hardware support for privileged execution
Stallings 2.1, 1.4
Silberschatz 1.1, 1.5, 2.3
PDF
Background on Architecture:
PDF
2 16Mar09 18Mar09 Administration and rules
Introduction to Unix and system calls
Explanation of ex1
Bach 1 PDF
PDF
19Mar09 Processes
What is a process
Processes vs. threads
Motivation for multiprogramming
Stallings 3.1, 3.4-5, 4.1
Silberschatz 3.1, 4.1-3
PDF
3 23Mar09 25Mar09 Signals
Signals in unix, signal races
Online guide: Signals
Online guide: Static C Libraries
PDF
PDF
26Mar09 CPU scheduling
Metrics and dependence on workload
Preemption and priority-based scheduling
Stallings 9
Silberschatz 5.1-3
PDF
4 30Mar09 01Apr09 User-Level Threads
Implementing threads with setjmp and longjmp
Explanation of Ex2
Ex2: a user-level thread library DEADLINE: 30 Apr 2009
Stallings 4.1
Bach 6.4
PDF
PDF
02Apr09 Concurrency
Problems with concurrent access to shared data
Mutual exclusion algorithms
Semaphores
  PDF
PESAH
5 20Apr09 22Apr09 PTHREADS
POSIX threads programming
Online guide: PThreads
cpp files
PDF
PDF
23Apr09 Deadlock
The problem of deadlock
Avoidance and prevention of deadlock
Stallings 6.1-6
Silberschatz 7.1-5
PDF
6 27Apr09 29Apr09 YOM HA'ATZMA'UT: no exercises!    
30Apr09 Memory management
Structure of the address space
Segmentation and contiguous allocation
Stallings 1.5, 7.1-2, 7.4
Silberschatz 8.1, 8.3, 8.6
PDF
7 04May09 06May09 Concurrent programming problems
Readers-writers lock
Ex3: concurrent programming DEADLINE: 21 May 2009
  PDF
PDF
07May09 Virtual memory
Paging concepts, hardware support, and page replacement algorithms
Thrashing and swapping
Stallings 7.3, 8.1-2
Silberschatz 8.2, 8.4-5, 9.1-6
PDF
8 11May09 13May09 Memory Management
Hardware support in real systems
Silberschatz 9 PDF
PDF
14May09 File Systems
What is a file
File naming and directories
Data access and caching
Stallings 12.1, 12.3-4, 16.2
Silberschatz 10.1, 10.3, 10.6, 14.4-5
PDF
PDF
Disk access:
PDF
9 18May09 20May09 Structure of the traditional Unix file system
Ex4: LRU replacements DEADLINE: 8 Jun 2009
Silberschatz 12, 14 PDF
PDF
21May09 YOM HASTUDENT: no lecture    
10 25May09 27May09 UNIX file system API Bach 4 PDF
PDF
28May09 SHAVU'OT: no lecture    
11 01Jun09 03Jun09 Internet Sockets API
Ex5: socket programming DEADLINE: 22 Jun 2009
Online guide
cpp files
PDF
PDF
04Jun09 Communication
Naming and name servers
Programming interfaces
Client-server systems
Stallings 14.1
Silberschatz 3.4-6
PDF
12 08Jun09 10Jun09 Inter Process Communication (IPC) Online guide PDF
PDF
11Jun09 Protocol stacks
Layered network model
TCP/IP
TCP congestion and flow control
Stallings 13.1-2
Silberschatz 16.6
PDF
ISO OSI:
PDF
13 15Jun09 17Jun09 Fun stuff
Random numbers
  PDF
PDF
18Jun09 Performance evaluation
Simulation, analysis, and workloads
Queueing theory and the M/M/1 queue
Open vs. closed systems
  PDF
Self Similarity:
PDF
14 22Jun09 24Jun09 Security   PDF
PDF
25Jun09 Advanced Topics
Distributed systems: principles, remote file access, and load balancing
Security and authentication
Operating system structure: layering and microkernels
Stallings 2.3, 4.3
Silberschatz 2.8
PDF

Books

  1. Dror Feitelson's OS course notes, linked to each week's lecture. Note that the individual chapters are updated just prior to the lectures, so it is best not to print the whole thing in advance. A copy of each week's lecture is also placed in the library for photocopying.
  2. Text Book: Andrew Tanenbaum, Modern Operating Systems 3rd ed., Pearson Education, 2009.
  3. Text Book: William Stallings, Operating Systems: Internals and Design Principles 5th ed., Prentice-Hall, 2005.
  4. Text Book: Abraham Silberschatz, Peter Baer Galvin and  Greg Gagne, Operating System Concepts,  7th ed., John Wiley & Sons, Inc., 2005.
  5. Advanced Programming in the UNIX Environment, W. Richard Stevens.