CS 537 Schedule (Spring 1998)

Note: there will be some adjustments to the schedule.

------------------ Introduction ------------

Lecture 1 (1/20): Introduction
Lecture 2 (1/22): Overview of Computer Organization

Lecture 3 (1/27): Introduction to Processes and Address Spaces
Lecture 4 (1/29): Hardware Protection and system calls, interrupt handling;

------------------ Synchronization and Concurrency ------------

Lecture 5 (2/3): Java for C++ Programmers;
Lecture 6 (2/5): The synchronization problem and simple solutions;

Lecture 7 (2/10): Semaphores and their implementations;
Lecture 8 (2/12): Semaphore examples;

2/17: Project 1 due.

Lecture 9 (2/17): More semaphore examples;
Lecture 10 (2/19): Monitors, monitor examples;

Lecture 11 (2/24): Deadlocks and solutions;

------------------ Process Scheduling -------------------------

Lecture 12 (2/26): CPU scheduling in batch and time-share systems;

Lecture 13 (3/3): Real-time scheduling disciplines, priority inverstion and solutions;

------------------ Memory Managment ---------------------------

Lecture 14 (3/5): Memory management: allocation and protection, secondary storage, address space revisited;

3/17: Project 2 due.

Lecture 15 (3/17): Segmentation and paging;

3/19: Midterm Exam.


Lecture 16 (3/24): Page table organizations, TLB;
Lecture 17 (3/26): Demand paging, page fault services;

Lecture 18 (3/31): Page replacement algorithms; Memory allocation in multitasking environments;

4/2: Project 3 due.

------------------ File System --------------------------------

Lecture 20 (4/2): I/O devices and disks;

Lecture 21 (4/7): File systems and disk management; Example implementation: FAT;
Lecture 22 (4/9): Disk access characteristics, block allocation, and scheduling;

Lecture 23 (4/14): UNIX file system implementation; directory structures;
Lecture 24 (4/16): File system interfaces, memory mapped files, file caching implementation;

4/16: Project 4 due.

---------------- Communciation and Distributed System ----------

Lecture 25 (4/21): Inter-Process communications: message passing and shared memory;
Lecture 26 (4/23): Multi-processor operating systems;

Lecture 27 (4/28): Overview of networking protocols and implementation;
Lecture 28 (4/30): Distributed system primer;

---------------- Security --------------------------------------

Lecture 29 (5/5): Operating system security overview;
Lecture 30 (5/7): UNIX security problems;

5/7: Project 5 due.