Home | People | Curriculum | Projects | Resources | Media

CMSC 355: Operating Systems

NOTE: Starting in about Spring 2009, this course has been re-numbered and re-titled CMSC356: Concurrency and Co-Design in Operating Systems.

The course CMSC 355: Operating Systems remains on the Bryn Mawr course offerings, and counts toward the same requirements as CMSC 356. CMSC 355 emphasizes the "kernel design" and "security" aspects of an operating system, whereas CMSC 356 focuses more on general issues of concurrency and hardware/software co-design.

This page is now primarily for historical purposes.

Instructor: David Wonnacott

Semester : Spring 2007

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:


// 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.