Semester.ly

Johns Hopkins University | EN.600.318

Operating Systems

3.0

credits

Average Course Rating

(4.21)

This course covers fundamental topics related to operating systems theory and practice. Topics include processor management, storage management, concurrency control, multi-programming and processing, device drivers, operating system components (e.g., file system, kernel), modeling and performance measurement, protection and security, and recent innovations in operating system structure. Course work includes the implementation of operating systems techniques and routines, and critical parts of a small but functional operating system. Students may receive credit for EN.600.318 or EN.600.418 but not both. Recommended Course Background: EN.600.211

Spring 2014

Professor: Peter Froehlich

(4.21)

The best aspects of this course were the hands-on programming assignments, reading through the entire source code of an OS, and the deep understanding and knowledge gained through the class. Students mentioned weekly projects with a partner were an efficient way to learn and retain knowledge. The worst aspects of the course were the amount of documentation to read weekly, the lack of feedback on graded assignments, and the frustrating debugging. The workload for the course is high and the time for many assignments can be overwhelming at times. Suggestions to improve the course included having a better textbook that was connected to the lectures, feedback on graded assignments, and a more balanced assignment schedule. Prospective students should have a firm background in C and programming in general, and be ready for the jump from 200 to 300 level classes. This class is challenging and requires a lot of time and effort, but is highly recommended.