Instructor: Prof. Janice T. Searleman
Science Center 375
This course is an introduction to the concepts of operating systems, their structure and organization. Major topics include process management (asynchronous processes, interprocess communication and synchronization, multithreading, deadlock and starvation, scheduling), storage management (paging/segmentation, virtual memory, file systems), protection and security issues and an introduction to distributed systems. To demonstrate these concepts, case studies of operating systems will be presented and programming project labs will be an integral part of the course.
Reference Book (recommended):
TA: Jason Herne
COSI Lab (SC336) & ITL Lab (SC334)
|3 Midterm Exams||30%|
|Written Homeworks & Quizzes||10%|
The written homework assignments are expected to be individual efforts; you
are encouraged to work on the laboratory projects in teams of two. The projects
will make use of VMware in the Internet Teaching Lab (ITL) located in Science
Tentative Course Outline:
|Introduction||Basic concepts and organization of operating systems.||Chapters 1 - 3|
|Concurrent Processes||Processes & multithreading. Symmetric multiprocessing
(SMP) and microkernels.
Process synchronization & critical sections.
Interprocess communication. Multithreading.
|Chapters 4 & 5|
|Scheduling||Scheduling algorithms. Multiprocessor & real-time scheduling.||Chapter 6|
|Process Synchronization||Critical sections. Semaphores. Monitors.
|Chapters 7 & 8|
|Memory Management||Multiprogramming and swapping. Virtual memory,
paging and segmentation.
|Chapters 9 & 10|
|File Systems||Directory structures. File Sharing. Protection.
File allocation. Free-space management. Performance.
|Chapters 11 & 12|
|I/O Systems||Devices, interrupt handlers and device drivers.
Secondary storage. Disk scheduling.
|Chapters 13 & 14|
|Protection and Security||Access control. Authentication. Threats.||Chapters 18 & 19|
|Networks & distributed operating systems.||Chapter 15|