Course Plan and Resources

Bibliography for lectures

Previous editions of the first two are also OK, but some chapter/section numbers may be different.

Bibliography for exercises

All OS books are on shelf 243.5 in the library.

Course Plan

The class notes will often be updated the week before the lecture, so it is recommended not to print them all in advance. Moreover, they total about 200 pages, which is practically all your print quota, so consider reading them on-line, photocopying the hardcopy available in the library, or using psnup to print multiple pages on each sheet of paper.
Week Lecture material Exercise material
1 17/10/02 Introduction:
what the operating system does
hardware support for priviledged execution
class notes (11 pages)
class slides (PowerPoint)
class slide handouts (PostScript)
Stal 1.4, Silb/Gal 2.1, 2.5-6
Old EX Slides that may still be used

Administation, Debugger, Electric Fence, trace



Slides
Slides (3 in a page)
2 24/10/02 Performance evaluation:
simulation and analysis
workloads and fat-tailed distributions
queueing theory and the M/M/1 queue
class notes (21 pages)
class slides (PowerPoint)
class slides handouts (PostScript)
Stal app A
Unix process-control: fork, exec, wait*, signals
explanation of ex1
Stevens 8.1 .. 8.8
Slides(handouts)
Slides(3 in a page)
Slides(6 in a page)
3,4 31/10/02-
7/11/02
Processes:
what is a process
threads (light weight processes)
motivation for multiprogramming
process state graph

Class material partially covering the next week (not final):
class notes (28 pages)
class slides (PowerPoint)
handouts (PostScript)
Slides revised on: Wed Nov 6 23:59:11 IST 2002
Stal 3.1, 4.1, Silb/Gal 4.1-2

More material about signals
File I/O

Slides(handouts)(pdf)
Slides(3 in a page)(pdf)
Slides(6 in a page)(pdf)
5 14/11/02 Concurrency:
problems with concurrent access to shared data
mutual exclusion algorithms
semaphores
Class notes for this topic are under revision:
Please, use the slides instead.

class slides (PowerPoint)
handouts (PostScript)
Slides revised on: Thu Nov 24 18:24:34 IST 2002
Stal 5.1-5, Silb/Gal 6.1-4, 6.7

User-level multithreading through non-local jump.
Demo of non-preemptive u-level multithreading (tip1.c)
Demo of rudimentary preemptive u-level multithreading (tip2.c)
It may help if you print these examples, and bring them to the class
Also read more about setjmp()/longjmp(), stack, and process memory layout in Richard W. Stevens "Advanced UNIX programming", pp. 161-184
Linux scheduling (PPT slides)
Linux scheduling (PostScript)
7 28/11/02 Principles of deadlock:
Class material:
class slides (PowerPoint)
handouts (PostScript)
Slides revised on: Thu Nov 28 11:00:58 IST 2002
Stal 6

See next week

8
5/12/02
Memory Management
Class material:
class notes (20 pages)
Stal 7.1-2, 7.4, Silb/Gal 8.1-2, 8.4, 8.6
class slides (PowerPoint)
handouts (PostScript)
Slides revised on: Thu Dec 5 15:14:12 IST 2002

Working with files and directories
Stevens chapter 4
Slides(handouts)(pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)

9
12/12/02
Virtual memory:
Basic principles, address translation, page table organization
Class material:
class notes (20 pages)
Stal 7.1-2, 7.4, Silb/Gal 8.1-2, 8.4, 8.6
class slides (PowerPoint)
handouts (PostScript)
Slides revised on: Thu Dec 12 17:37:56 IST 2002


The Linux Kernel Locking mechanism
(How to define critical sections in a real life OS)

Slides (handouts) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)

10
19/12/02
Virtual memory:
Page replacement policies, resident set management, working set model
Class material (revised on Sun Dec 22 15:39:17 IST 2002):
class notes (20 pages)
Stal 7.1-2, 7.4, Silb/Gal 8.1-2, 8.4, 8.6
class slides (PowerPoint)
handouts (PostScript)

Hardware support for memory management
Linux memory management

Slides (handouts) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)

11
26/12/02
File Systems
Class material (revised on Sun Dec 26 11:00:17 IST 2002):
class notes
class slides (PowerPoint)
handouts (PostScript)
Stal 12, Silb/Gal 10.1, 10.3

Memory Management in Linux (continued)
Loading of a program to memory
The Linux kernel (a demo)
The path of a system call (a demo)

The slides are similar to the previous week slides
(But there are some changes)

Slides (handout) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)


12
02/01/03
File Systems
Class material (revised on Thu Jan 2 10:57:27 IST 2003):
class notes
class slides including the previous week (PowerPoint)
handouts including the previous week(PostScript)
handouts today's portion(PostScript)

Unix File System

Slides (handout) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)
13
09/01/03
Introduction to Networking
Class material (revised on Sun Dec 26 11:00:17 IST 2002):
class notes
class slides (PowerPoint)
handouts (PostScript)
Stal 13.1-4

Unix File System

Slides (handout) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)
14
16/01/03
Modern Storage Architectures
Not for the exam.

NFS (Network File System)

Slides (handout) (pdf)
Slides (3 in a page) (pdf)
Slides (6 in a page) (pdf)