Course Code |
CSC721 |
Course Title |
Advanced Operating System |
Credit Hours |
3 |
Prerequisites by Course(s) and Topics |
Data Structures and Algorithms |
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) |
SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
|
Course Coordinator |
Dr. M. Abubakar Qazi |
URL (if any) |
- http://43.225.99.59:8002/Moodle/course/view.php?id=1163 |
Current Catalog Description |
|
Textbook (or Laboratory Manual for Laboratory Courses) |
o Operating Systems Concepts, 9th edition by Abraham Silberschatz o http://elibrary.lgu.edu.pk/Home/Subcategories?id=6# |
Reference Material |
o Modern Operating Systems, 4th edition by Andrew S. Tanenbaum o Operating Systems, Internals and Design Principles, 9th edition by William Stallings |
Course Goals |
|
Course Learning Outcomes (CLOs): |
At the end of the course the students will be able to: | Domain | BT Level* |
Describe fundamental operating system abstractions such as processes, threads, files, semaphores, IPC abstractions, shared memory regions, etc. |
Cognitive |
2 |
Investigate important algorithms e.g., Process scheduling and synchronization |
Cognitive |
4 |
Categorize the operating system’s resource management techniques, dead lock management techniques, memory management algorithms, file management, virtual machines and distributed systems. |
Cognitive |
5 |
Demonstrate the knowledge in applying system software and tools available in modern operating systems. |
|
|
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain |
|
|
|
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures) |
Week | Lecture | Topics Covered |
Week 1 |
1 |
Operating System Basics |
|
2 |
Types of Operating System |
Week 2 |
3 |
System Calls, System Programs, System Structures |
|
4 |
Process Concept, Process State Diagram, Process Control Block |
Week 3 |
5 |
Operation on Processes, Cooperating Processes |
|
6 |
Inter Process Communication |
Week 4 |
7 |
Inter Process Communication |
|
8 |
Communication in Client-Server Systems |
Week 5 |
9 |
Thread’s Design, Multithreading Models, Threading Issues |
|
10 |
CPU Scheduling (FCFS Algorithms, SJF) |
Week 6 |
11 |
CPU Scheduling (SRTF, Round Robin) |
|
12 |
CPU Scheduling (Priority Non-Preemptive, Priority Preemptive) |
Week 7 |
13 |
CPU Scheduling (Multi-level Queues, Multi-level Queues Feedback) |
|
14 |
Thread Scheduling, Multiple Processor Scheduling, |
Week 8 |
1 hours |
Mid Term |
Week 9 |
15 |
Real-Time Scheduling |
|
16 |
Comparison of CPU Scheduling Algorithms |
Week 10 |
17 |
Process Synchronization, Race Conditions, Critical Section Issues Critical Section Problem Algorithms |
|
18 |
Critical Section Issues Critical Section Problem Algorithms |
Week 11 |
19 |
Classical Problems of Synchronization (Bounded Buffer Problem), Readers Writers Problem, Dining Philosophers Problem, |
|
20 |
Sleeping Barbers Problems, Counting Semaphores, Binary Semaphores, Monitors, Condition Variables |
Week 12 |
21 |
Deadlocks, Deadlocks Example, Deadlock Characterization |
|
22 |
Deadlocks Prevention and Avoidance, Safe and Unsafe States |
Week 13 |
23 |
Resource Allocation Graphs |
|
24 |
Bankers Algorithms, Deadlock Detection and Recovery |
Week 14 |
25 |
Memory Management Contiguous and Non-Contiguous Allocations, Swapping, Paging, Paging Tables, Segmentation |
|
26 |
Virtual Memory, Demand Paging, Page Faults |
Week 15 |
27 |
LRU, NRU, Thrashing Work Set |
|
28 |
Virtual Memory, Demand Paging, Page Faults |
Week 16 |
29 |
LRU, NRU, Thrashing Work Set |
|
30 |
Distributed Systems, Advantages of Distributed Systems, Types of Network based Operating Systems |
Week 17 |
2 hours |
Final Term |
|
Laboratory Projects/Experiments Done in the Course |
|
Programming Assignments Done in the Course |
|