COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Spring 2023
Course Description :
Course Code CSC351
Course Title Operating Systems
Credit Hours 3+1
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 Khola Farooq
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) oOperating Systems Concepts, 9th edition by Abraham Silberschatz .
Reference Material oModern Operating Systems, 4th edition by Andrew S. Tanenbaum oOperating Systems, Internals and Design Principles, 9th edition by William Stallings oDavis, W.S. and Rajkumar, T.M. (2004) Operating Systems: A Systematic View. 3rd Ed.Harlow, Addison-Wesley.
Course Goals To help students gain a general understanding of the principles and concepts governing the functions of operating systems. To extend students understating of layered approach that makes design, implementation and operation of the complex OS possible.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Describe the core concepts and components of operating system C 2
Compare various scheduling and swapping algorithms C 4
Comprehend how an operating system virtualises CPU and memory C 2
Demonstrate the knowledge in applying system software and tools available in modern operating systems. C 3
* 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)
WeekLectureTopics Covered
Week 1 1 Operating System Basics (History of OS from Legacy to current) MS-DOS, Windows, Unix, Linux, Android, OS2, Mac OS
2 Types of Operating System
Week 2 3 System Calls, System Programs, System Structures
4 Process Concept, Process State Diagram, Process Control Block, Schedulers (Long, Short, Medium)
Week 3 5 Operation on Processes, Inter Process Communication
6 Communication in Client-Server Systems (Sockets, RPCs, Pipes)
Week 4 7 Thread Concepts, Thread Types, Thread Control Block
8 Thread’s Design, Multithreading Models, Threading Issues
Week 5 9 CPU Scheduling (FCFS Algorithms, SJF)
10 CPU Scheduling (SRTF, Priority Non-Preemptive, Priority Preemptive)
Week 6 11 CPU Scheduling (Round Robin, Multi-level Queues, Multi-level Queues Feedback)
12 Thread Scheduling, Multiple Processor Scheduling, Real-Time Scheduling
Week 7 13 Comparison of CPU Scheduling Algorithms
14 Process Synchronization, Race Conditions, Critical Section Issues Critical Section Problem Algorithms
Week 8 1 hours Mid Term
Week 9 15 Bakery Algorithm, Synchronization Hardware (hardware-based Solution) Test & Set
16 Mutex Locks, Counting Semaphores, Binary Semaphores, Monitors, Condition Variables, Sleeping Barbers Problems
Week 10 17
18
Week 11 19 Classical Problems of Synchronization (Bounded Buffer Problem), Readers Writers Problem, Dining Philosophers Problem
20 Deadlocks, Deadlocks Example, Deadlock Characterization.
Week 12 21 Resource Allocation Graphs, Bankers Algorithms, Deadlock Detection and Recovery.
22 Deadlocks Prevention and Avoidance, Safe and Unsafe States.
Week 13 23 Memory Management Contiguous and Non-Contiguous Allocations, Swapping.
24 Paging, Paging Tables, Segmentation.
Week 14 25 Virtual Memory, Demand Paging, Page Faults.
26 FIFO, Optimal algorithm, LRU.
Week 15 27 MRU, Thrashing Work Set.
28 File System Management, File System Architecture.
Week 16 29 File Protection, File Operations.
30 Directory Structure, Disk Structures.
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course Implementing Commands on Linux
Programming Assignments Done in the Course Yes
Instructor Name Khola Farooq
Instructor Signature
Date