CS444 Operating Systems
Spring 2006
Tentative Syllabus

Instructor: Prof. Janice T. Searleman
                   Science Center 375
                   phone: 268-2377
                   email: mailto:%20jets@clarkson.edu

This course is an introduction to the concepts of operating systems, their structure and organization. Major topics include process management (asynchronous processes, interprocess communication adn 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.

Course Objectives:

  1. To introduce students to the abstractions and facilities provided by modern operating systems.

  2. To familiarize students with the issues that arise when implementing operation system services.

Learning Outcomes:

Required Textbook:

Reference Book (recommended):

TA:     Jason Herne        email: mailto:%20hernejj@clarkson.edu
            COSI Lab (SC336) & ITL Lab (SC334)

Grading Policy:
3 Midterm Exams 30%
Final Exam 30%
Written Homeworks & Quizzes 10%
Laboratory Projects 30%

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 Center 334.

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