CS-3013 Lecture Notes

A-Term 2009

Below are the lecture notes for CS-3013 (Operating Systems) for this term. Lecture notes will normally be posted shortly before or shortly after each class. Students are responsible for knowing and understanding all of the lectures, even those that they might miss.

Chapter numbers refer to the course textbook, Modern Operating Systems, 3rd edition, by Andrew S. Tanenbaum.

CS-3013 Course Home Page

Note that some topics in the list are not covered in the textbook. It is in the student’s interest to be sure to attend class and listen carefully to those particular topics.

Date

Topics

Text
Chapters

Lecture
Notes

Aug 28

Introduction; What is an Operating System?

1

.ppt

html

Sept 1

Introduction to Concurrency

2.1

.ppt

html

 

Processes in Unix, Linux, and Windows

10.3
11.4

.ppt

html

Sept 4

Threads

2.2

.ppt

html

Sept 8

Digression on Stacks and Heaps

Not in
text

.ppt

html

Sept 11

Introduction to Synchronization

2.3

.ppt

html

Sept 11
Sept 15

Application Design in a Concurrent World

Not in
text

.ppt

html

Sept 18

Scheduling

2.4

.ppt

html

Sept 22

Memory Management

3.1
3.2

.ppt

html

 

Linking and Loading (study on your own)

Not in
text

.ppt

html

 

Notes from chalk-talk on malloc() and
slab allocation

Not in
text

.ppt

html

Sept 25

Paging

3.3

.ppt

html

Sept 29

Virtual Memory Management
(includes paging performance – not in text)

3.4-3.7

.ppt

html

Oct 2

Review of Caching & Cache Performance

Not in
text

.ppt

html

Oct 6

Introduction to protection and security

9

.ppt

html

 

Input and Output

5

.ppt

html

October 9

Disks, RAIDs, and Stable Storage

5.4

.ppt

html