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.
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 |
Lecture |
|
Aug 28 |
Introduction; What is
an Operating System? |
1 |
||
Sept 1 |
Introduction to
Concurrency |
2.1 |
||
|
Processes in Unix,
Linux, and Windows |
10.3 |
||
Sept 4 |
Threads |
2.2 |
||
Sept 8 |
Digression on Stacks
and Heaps |
Not in |
||
Sept 11 |
Introduction to
Synchronization |
2.3 |
||
Sept 11 |
Application Design in a
Concurrent World |
Not in |
||
Sept 18 |
Scheduling |
2.4 |
||
Sept 22 |
Memory Management |
3.1 |
||
|
Linking and Loading
(study on your own) |
Not in |
||
|
Notes from chalk-talk on malloc() and |
Not in |
||
Sept 25 |
Paging |
3.3 |
||
Sept 29 |
Virtual Memory Management |
3.4-3.7 |
||
Oct 2 |
Review of Caching &
Cache Performance |
Not in |
||
Oct 6 |
Introduction to
protection and security |
9 |
||
|
Input and Output |
5 |
||
October 9 |
Disks, RAIDs, and
Stable Storage |
5.4 |