CS444 Operating Systems
Spring 2003

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

Office Hours: (SC375 or SC334)
MWF 1:00 - 2:00 pm
TuTh 11:00 am - 12:00 pm

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.

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 Textbooks:

Reference Book (recommended): The C Programming Language, ANSI C, Second Edition, by Kernighan & Ritchie, Prentice Hall, 2988, ISBN 0-13-110362-8.

TA: ����Bryan Clark � � � � E-mail: clarkbw@clarkson.edu
����������� COSI Lab (SC336) & ITL Lab (SC334)

Grading Policy:
2 Midterm Exams
(tentatively 2/20 & 3/27)
30%
Final Exam 30%
Written Homeworks 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