COSC 374
Operating Systems
Spring 2003
Monday and Wednesday 11:40 - 12:55
St Mary G40

Instructor: Clay Shields
Email:clay at cs dot georgetown dot edu
Phone: (202) 687-2004
Office: Reiss 222
Mailbox: Reiss 240
Office Hours: Monday and Wednesday 2:15 - 3:30, Friday by appointment

Homework Assignments:
 
Homework
Due Date
Problems
1
January 22
Chapter 1: 1, 3, 5, 6, 9, 10
Chapter 2: 3, 4, 5, 9, 10
2
January 29
Chapter 3: 3, 7, 11, 12
Chapter 4: 1, 2, 4
3
February 5
Chapter 5: 1, 2, 4, 5
Chapter 6: 2, 3
4
February 12
Chapter 6: 4, 5, 8
5
February 26
Chapter 7: 1, 2, 6, 8 (for problem 8 you may just describe the algorithm)
6
April 7
Chapter 9: 3, 5, 8, 10, 16
7
April 16
Chapter 10: 3, 9, 11, 16, 20
8
April 28
Chapter 11: 3, 4, 12
Chapter 12: 1, 2, 10, 14

Projects:
Project Number
Due Date
Project
1
February 10, 2003
Unix Stuff
2 - part 1
March 20
Writing a User Shell
2 - part 2
April 2 Writing a User Shell, part 2
2 - part 3
April 25, 5PM
Writing a User Shell, part 3

Readings:
Book Chapter
Sections
1
1 - 11
2
1-5
3
1-7
4
1-4
5
1-3
6
1-5
7
1-6
8
1-8
9
1-7
10
1-6
11
1-7
12
1-8
18
1-5



General Information

Description:

This course studies the software systems that provide the interface between the computer system hardware resources and the users of the system. This interface is composed of a large collection of programs that provide simplified and uniform access to information storage (data and programs on tape, disk, and in memory), processing elements (CPUs and remote computers), input/output devices (telecommunications, keyboards, mice, video displays, printers, etc.), and data acquisition and equipment control devices. Topics include processes and threads of execution, concurrent process synchronization,  oncurrent access to hardware resources, file systems, memory management and virtual memory, job scheduling, system modeling and performance evaluation, network communication and  rotocols, and computer and network security. A variety of example operating systems of different types will be examined and their characteristics compared.

Texts:

Readings and homeworks will be assigned from the primary text, which also has a website:

Operating System Concepts, by Silberschatz, Galvin, and Gagne.
 
 

The recommended text is an invaluable reference that will help you with the projects for the class and for the rest of your programming life. I really do recommend that you get a copy, even though there will be no readings assigned:

Advanced Programming in the UNIX Environment, by W.R. Stevens.

Grading:
 
Homework 10%
Projects 40%
Midterm 25%
Final 25%

Policies:

All of my courses are conducted under the same policies, available here.