COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Fall 2022
Course Description : This course covers introduction to operating systems, which serve as an interface between computer hardware and the user. The operating system is responsible for the management and coordination of processes, sharing of limited resources of the computer. Students will be exposed to the techniques and algorithms that may be applied in designing an operating system. Topics covered include process management, concurrency and synchronization, deadlock, memory management, file management, secondary storage management and I/O management. At the end of the course, the student shall have a clear understanding on the general concepts that underlie of an operating system.
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 Sundus Munir
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) Operating Systems Concepts, 9th edition by Abraham Silberschatz
Reference Material o Modern Operating Systems, 4th edition by Andrew S. Tanenbaum o Operating Systems, Internals and Design Principles, 9th edition by William Stallings o Davis, W.S. and Rajkumar, T.M. (2004) Operating Systems: A Systematic View. 3rd Ed.Harlow, Addison-Wesley.
Course Goals At the end of the course the students will be able to: 1. Understand the characteristics of different structures of the Operating Systems and identify the core functions of the Operating Systems. Analyze and evaluate the algorithms of the core functions of the Operating Systems and explain the major performance issues regarding the core functions. Demonstrate the knowledge in applying system software and tools available in modern operating systems.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Understand the characteristics of different structures of the Operating Systems and identify the core functions of the Operating Systems. C 2
Analyze and evaluate the algorithms of the core functions of the Operating Systems and explain the major performance issues regarding the core functions. C 3
Demonstrate the knowledge in applying system software and tools available in modern operating systems. C 4
* 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
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, Round Robin)
Week 6 11 CPU Scheduling (Priority Non-Preemptive, Priority Preemptive)
12 CPU Scheduling (Multi-level Queues, Multi-level Queues Feedback)
Week 7 13 Thread Scheduling, Multiple Processor Scheduling
14 Real-Time Scheduling
Week 8 1 hours Mid Term
Week 9 15 CPU Scheduling Algorithms
16 Comparison of CPU Scheduling Algorithms
Week 10 17 Process Synchronization, Race Conditions, Critical Section Issues Critical Section Problem Algorithms
18 Bakery Algorithm,
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, FIFO, Optimal
Week 15 27 LRU, MRU, Thrashing Work Set
28 File System Management, File System Architecture, File Protection, Disk Structures, Directory Structures.
Week 16 29 Operating System Security, Security Issues,
30 Prevention, Detection, Correction,
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name Sundus Munir
Instructor Signature
Date