PROGRAM CORE
Credit Hour : 3
Synopsis
This course introduces the fundamentals of operating systems. It also covers theoretical and practical issues underlying operating system design and implementation. The topics include inter-process communication, process scheduling, deadlock, memory management, virtual memory, and file management system. Formal principles are illustrated with examples and case studies of modern operating systems. System commands, bash scripts, and other operating system management concepts are also introduced in this subject.
Course Content
Part 1 Computer System & Operating System Overviews
○ Computer systems organization
○ Computational logic
○ Introduction to Operating System
○ Operating system layers, application and kernel layer, RPC
○ Processor, Instruction and Memory
○ Modern Operating System
Part 2 Process Description and Control
○ Process: States, Descriptions and Control
○ Process Management
○ State machines and state diagram
○ Interrupt and context switching
Part 3 Threads, SMP, and Microkernels
○ Processes and Threads
○ Microkernels
○ Processes and Threads Managements
Part 4 Uniprocessor Scheduling
○ Sequential and parallel processing
○ Types of Processor Scheduling
○ Scheduling Algorithms
Part 5 Mutual Exclusion and Synchronization
○ Concurrency
○ Mutual Exclusion
○ Semaphore
○ Monitors
○ Message Passing
Part 6 Deadlock and Starvation
○ Deadlock
○ Deadlock Prevention, Avoidance and Detection
○ Deadlock Strategy
○ Dining Philosophers Problem
○ Concurrency Mechanisms
Part 7 Memory Management
○ Memory Management Requirements
○ Memory Partitioning
○ Paging
○ Segmentation
Part 8 Virtual Memory
○ Hardware and Control Structures
○ Operating System Software
○ Memory Managements
○ Docker and container
Part 9 Multiprocessor Scheduling
○ Multiprocessor Scheduling
○ Real-Time Scheduling
○ Linux Scheduling
○ Windows Scheduling
Part 10 Security and Protection
○ Access control
○ Mechanism and layer separation
Part 11 Input/Output Management and Disk Scheduling
○ I/O Devices
○ Organization of I/O Function
○ Operating System Design Issues
○ I/O Buffering
○ Disk Scheduling
References
Modern Operating Systems 4th Edition (Andrew S. Tanenbaum), Prentice Hall, 2014.
Operating Systems Design and Implementation 3/E (Andrew S Tanenbaum, Albert S Woodhull), Prentice Hall, 2006.
Operating Systems: Internals and Design Principles 7/E (William Stallings), Prentice Hall, 2012.
Operating System Concepts 9/E (Avi Silberschatz, Peter Baer Galvin, Greg Gagne), Wiley, 2012.
Operating Systems 3/E (Deitel, Deitel & Choffnes), Prentice Hall, 2003.
Prepared By
Dr. Shuhaizar Daud