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
- Introduction to OS and Hardware Concepts
- Input/Output Organization and OS Modules
- Process Concepts and Term Project
- Memory Management
- Virtual Memory , Program Behavior & Locality
- Processor Management
- Mid-term Examination
- Device Management
- Information Management/File Systems
- Information Management
- System Performance and Interdependencies
- Case Study
- Case Study
- 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