Course Title: Operating Systems

advertisement
Course Title: Operating Systems
Course Code: CMP-3621
Course Structure: Lectures: 3/ Labs: 1
Credit Hours: 4
Pre-requisites: None
Course Objectives:
To help students gain a general understanding of the principles and concepts governing the
functions of operating systems and acquaint students with the layered approach that makes
design, implementation and operation of the complex OS possible.
Course Syllabus:
Computing Environments.Types and Generation of Operating-System.Key Components.
Virtual Machines, System Calls, System Boot, System Programs. Processes, Process
Scheduling, Operations on Processes, Inter-process Communication, Communication in ClientServer Systems. Threads: Multithreading Models, Thread Libraries, Threading Issues. CPU
Scheduling, Scheduling Criteria, Scheduling Algorithms. Thread Scheduling, Algorithm
Evaluation. Process Synchronization, The Critical-Section Problem, Peterson‘s Solution,
Synchronization Hardware, Semaphores, Classic Problems of Synchronization. Deadlocks
Conditions & Handling.Main Memory Management.Virtual Memory Management.FileSystem
and Implementation. I/O Systems: STREAMS, Hardware, Performance, Application I/O
Interface, Kernel I/O Subsystem, Transforming I/O Requests to Bibliographical Notes,
Hardware Operations. Case studies: Linux, Windows Operating Systems.
* Labs are preferred in this cours. Lab assignments involving different single and multithreaded
OS algorithms.
Course Outline:
1. Introduction: Over view of: Operating Systems, Operating-System Structure,
Operating-System Operations, Process management, Memory Management, Storage
Management, Protection and Security, Protection and Security, Distributed Systems,
Special-Purpose Systems, Computing Environments. [TB: Ch1]
2. Operating-System Structures: Operating-System Services, Operating-System Structure,
User Operating-System Interface, Virtual Machines, System Calls, OperatingSystem
Generation, Types of System Calls, System Boot, System Programs. [TB:Ch2].
3. Processes: Process Concept, Process Scheduling, Operations on Processes, Interprocess Communication, Communication in Client- Server Systems. Threads:
Multithreading Models, Thread Libraries, Threading Issues. [TB: Ch. 3, 4]
4. CPU Scheduling: Basic Concepts, Scheduling Criteria, Scheduling Algorithms,
Multiple-Processor Scheduling, Thread Scheduling, Algorithm Evaluation. [TB: Ch. 5]
5. Process Synchronization: Background, Monitors, The Critical-Section Problem,
Peterson's Solution, Synchronization Hardware, Semaphores, Classic Problems of
Synchronization. [TB: Ch. 6]
6. Deadlocks: System Model, Deadlock Characterization, Methods for Handling
Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery
from Deadlock. [TB: Ch. 7]
7. Main Memory: Swapping, Contiguous Memory Allocation, Paging, Structure of the
Page Table, Segmentation, Example: The Intel Pentium. [TB: Ch.8]
8. Virtual Memory: Allocating Kernel Memory, Demand Paging, Copy-on-Write, Page
Replacement, Allocation of Frames, Thrashing. [TB: Ch. 9]
9. File-System Implementation: File-System Structure, Log-Structured File Systems,
File-System Implementation, Directory Implementation, Allocation Methods, FreeSpace Management, Efficiency and Performance, Recovery. [TB: Ch. 11]
10. I/O Systems: STREAMS, Hardware, Performance, Application I/O Interface, Kernel
I/O Subsystem, Transforming I/O Requests to Bibliographical Notes, Hardware
Operations. [TB: Ch. 13]
11. Security: The Security Problem, Computer-Security, Program Threats, Classifications,
System and Network Threats, Cryptography as a Security Tool, User Authentication,
Implementing Security Defenses, Firewalling to Protect Systems and Networks. [TB:
Ch. 15]
12. Case studies: Linux, Windows Operating Systems
Textbook(s):
• Operating System Concepts Essentials by Abraham Silberschatz, Peter B. Galvin and
Greg Agne, Wiley; 8th Edition (July 5, 2008). ISBN-10: 0470128720
Reference Material:
• Applied Operating Systems Concepts by Silberschatz A., Peterson, J.L., & Galvin P.C.
Wiley; 8th Edition (2011). ISBN-10: 1118112733
Modern Operating Systems by Tanenmaum A.S., Prentice Hall; 3rd Edition (2007). ISBN-13:
978-0136006633
Download