|
Sep 20, 2024
|
|
|
|
MS 300 - Principles of Operating Systems3 lecture hours 0 lab hours 3 credits Course Description This is an introductory course that covers the principles of operating systems from the user’s point of view. The four major components (scheduling, memory management, I/O management and file systems) are examined in detail along with how various hardware components of a computer system work together. (prereq: One course in computer programming) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Understand operating system history and motivation
- Understand hardware components controlled by an operating system
- Understand software elements that comprise an operating system
- Understand multiprocessing and synchronization problems and their solutions
- Understand the classic problems and solutions common to all operating systems
- Understand the solutions to the producer/consumer, readers/writers, and dining philosophers problems
- Conduct research and report on one area of interest in operating systems
Prerequisites by Topic
- Knowledge, understanding and familiarity with computer programming languages
- Knowledge of an object-oriented programming language
Course Topics
- Introduction to operating systems and history (3 classes)
- Introduction to computer architecture and software components (3 classes)
- The “process model” for workflow in an operating system (3 classes)
- Threads and process management (1 class)
- Process sychronization and semaphores (3 classes)
- Monitors and contition variables (2 classes)
- Producer/consumer problem (2 classes)
- Readers/writers problem (1 class)
- Dining philosophers problem (1 class)
- Memory management (paging systems) (2 classes)
- File systems management (2 classes)
- Student term paper presentations (6 classes)
- Tests, examinations and reviews (2 classes)
Coordinator Jeffrey Blessing
Add to Portfolio (opens a new window)
|
|