Computer_Science
 Home | People | Curriculum | Projects | Resources | Media

CMSC 355: Operating Systems

Instructor: David Wonnacott

Semester : Spring 2005

Schedule: MWF 2:30-4:00 (2 lectures and one lab)

Texts:
Operating System Concepts with Java, 6th Edition (a.k.a. OSC-J), by Silberschatz, Galvin, and Gagne

Concurrent Programming in Java: Design Principles and Patterns, by Doug Lea

selections from Computer Engineering: Hardware Design, by M. Morris Mano

Requirements: Two exams (each 25% of the total grade), weekly homework or lab assignments in the first 12 weeks of the semester (45%), and one in-class presentation in the last two weeks (5%).

Collaboration: You are encouraged to discuss the lecture material, labs, and written work with other students, subject to the following restriction: the only "product" of your discussion should be your memory of it - you may not write up solutions together, or exchange written work or computer files.

Collaboration is not allowed on exams.

Prerequisites: CMSC 240

Description: A practical introduction to modern operating systems with a substantial laboratory component, primarily using Java and HERA. Topics covered in this course include:


Schedule:

// In the first half of the course, we will focus on principles of concurrent programming, drawing primarily from Doug Lea's book, and hardware/software co-design for simple I/O:

((

) & (
));

// In the second half of the course, we will apply these principles to classic operating system data structures and algorithms:

(

)


Lab Assignments:

 

Haverford College Page maintained by John Dougherty, David Wonnacott, and Rachel Heaton.
Computer Science Department, Haverford College.