CS544 Operating Systems
Spring 2002

Instructor: Prof. Janice T. Searleman
Office: Science Center 375
Phone: 268-2377
E-mail: jets@clarkson.edu

Office Hours:

If you cannot come during these scheduled office hours, feel free to contact me to set up an appointment.

Course Objectives:

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 projects and labs will be an integral part of the course.

Textbook:

Operating System Concepts, Sixth Edition, by Silberschatz, Galvin, and Gagne, John Wiley & Sons, 2002, ISBN 0-471-41743-2.

TA:     Dwight Tuinstra
Office: Science Center 369
Phone: 268-2307
E-mail: tuinstra@clarkson.edu

Grading Policy:

Midterms

30%

Final Exam

30%

Homework & Quizzes

10%

Labs & Projects

30%

(Tentative dates for the exams are: 2/27 and 4/03.)

The written homework assignments are expected to be individual efforts; however, you are encouraged to work on the programming projects in teams of two. You are required to make an appointment with me during the last week of the semester to discuss your course projects.

Tentative Course Outline:

Topic Description Readings
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.
Deadlock handling.
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

Advanced Topics

Networks & distributed operating systems. Chapter 15