Assignments, Exams, and Readings
Graded Assignments
| Assignment |
Due Date |
| Homework 1: Familiarization with Unix |
January 26, 2022 |
| Project 1: Writing a User Shell, Part 1 |
February 9th, 2022 |
| Project 1: Writing a User Shell, Part 2 |
February 23rd, 2022 |
| Homework 2: Problems posted to Canvas |
March 2nd, 2022 |
| Midterm Exam |
In class, March 16th, 2022 |
| Project 2: Scheduling Algorithm Simulation |
March 30 April 6, 2022 |
| Project 3: Paging Algorithm Simulation |
April 20, 2022 |
| Homework 3: Problems posted to Canvas |
April 27th, 2022 |
| Final Exam |
May 6th, 2022, 12:30 to 2:30 - BUT CHECK RESGISTRAR SCHEDULE |
Resources
Textbooks
There are two books for this course. Both are available for
free, at least to Georgetown Students.
Accounts
You will be given an account on a server named mclovin.cs.georgetown.edu. This will be the
official machine for programming assignments. You can work on your
own computer, but your code must work on and be readable on
mclovin. Please note: mclovin is not always backed up properly, so you must
make sure to keep copies of your code in a safe place.
Instructor and Course Information
Instructor
Clay Shields
Office: 323 St Mary's Hall
Office Hours: Wednesday 2:00-4:00 PM, or just knock on my
door or email and we can arrange a time.
Contact information here.
Course 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, concurrent access to
hardware resources, file systems, memory management and virtual
memory, job scheduling, and system modeling and performance
evaluation. A variety of example operating systems of different
types will be examined and their characteristics compared.
Classroom Location
ICC 106
Policies
All of my courses are conducted under the same set of policies,
described
on this page.