Instructor Information

John Noble

Work Phone: 443-778-6819
Home Phone: 410-740-8125
Cell Phone: 443-968-0233

Course Information

Course Description

The theory and concepts related to operating system design are presented from both developer and user perspectives. Core concepts covered include process management, memory management, file systems, I/O system management including device drivers, distributed systems, and multi-user concepts including protection and security. Process management discussions focus on threads, scheduling, and synchronization. Memory management topics include paging, segmentation, and virtual memory. Students will examine how these concepts are realized in several current open-source operating systems, including Linux. Students will complete several assignments that require the design and implementation of operating system programs using a high-level language.

Course Goal

After taking this course, a student should be prepared to design, modify, and/or build modern computer operating systems using the concepts presented throughout the semester.

Course Objectives

  • The student will be able to describe various operating system concepts as they are applied to memory, process, filesystem and I/O device management.
  • The student will be able to describe how the concepts covered in the course are implemented in some open source operating systems such as Linux.

  • The student will be able to design and implement the concepts covered in the course in either an existing open source operating system or an operating system simulation.

When This Course is Typically Offered

This course is typically offered online during the Spring term.

Syllabus

  • Operating systems introduction
  • System calls
  • Process Management
  • Memory Management
  • File System Management
  • I/O Systems
  • Distributed Processing
  • Security

Student Assessment Criteria

Discussions 25%
Problem Sets 25%
Projects 25%
Quizzes 25%

The assessments described above are an initial estimate, and are subject to change.

Computer and Technical Requirements

The student should have a working knowledge of C/C++, since that is the current language of choice for many open source operating systems of today.

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are no notes for this course.

Term Specific Course Website

http://blackboard.jhu.edu

(Last Modified: 07/08/2014 08:55:57 AM)