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:
|
|
|
|
|
Chapter 1: 1, 3, 5, 6, 9, 10 Chapter 2: 3, 4, 5, 9, 10 |
|
|
Chapter 3: 3, 7, 11, 12 Chapter 4: 1, 2, 4 |
|
|
Chapter 5: 1, 2, 4, 5 Chapter 6: 2, 3 |
|
|
Chapter 6: 4, 5, 8 |
|
|
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 |
|
|
Unix Stuff |
|
|
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:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.