Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

Principles of Operating Systems
605.431


Course Description
The theory and principles related to operating system design are presented from both developer and user perspectives, with emphasis on understanding and developing alternative approaches to resource management policies. Parallelism or concurrency aspects are explained using the concepts of process management, synchronization, deadlocks, and job and process scheduling. Detailed techniques of real and virtual storage management are discussed for a variety of processing environments such as multi-programming, multi-processing, etc. An overview of information management and device management is provided, leading to relevant optimization techniques. Resource management interdependencies and tradeoffs are outlined from a performance optimization perspective. The implementation of principles is shown through a discussion of several contemporary operating systems. Students design a simulation of operating system components and implement it using a high-level language.

Syllabus

  1. Introduction to OS and Hardware Concepts
  2. Input/Output Organization and OS Modules
  3. Process Concepts and Term Project
  4. Memory Management
  5. Virtual Memory , Program Behavior & Locality
  6. Processor Management
  7. Mid-term Examination
  8. Device Management
  9. Information Management/File Systems
  10. Information Management
  11. System Performance and Interdependencies
  12. Case Study
  13. Case Study
  14. Final Examination/ Term Project

The course presents fundamentals of Operating System Functions as a Resource Manager, Process Manager and extension of Hardware for usability. Term Project requires programming capability in a higher level language.

Instructor
Dinesh Kumar is a recognized leader in the fields of computer and telecommunication systems design, applications and management. He has a wide range of experience in systems evaluation and as a designer, planner, implementor and user. He has held senior technical and management positions both in private industry and in government. He has provided consulting to various federal agencies. He has taught courses and seminars for the Johns Hopkins University and DEC training institute. He has been a frequent speaker and has several publications to his credit.

Computer Lab Requirements
Computer lab facilities available at APL, utilizing Sun/MP Unix and Software C++.   Students are free to select any language and computer of their choice for the term project.

Textbook
Operating Systems by Harvey M. Deitel


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

August 1998