Operating Systems
Course Details
- Course Title: Operating Systems
- Course Code: SE-311
- Credit Hours: 3+1 (Theory + Lab)
- Pre-requisite: OOP
- Offered To: BS (SE), BS (IT), BS (CS)
- Level: Undergraduate
- Institution: Mohammad Ali Jinnah University, Karachi, Pakistan
- Faculty: Department of Computer Science
- Semester Offered: Spring 2018
Course Description
This course provides an overview of an Operating System’s various layers and functions. It elucidates the concepts of multiprocessing with a single processor and multithreading and how operating systems manage multiple tasks through techniques such as Mutual Exclusion, Scheduling, and Virtual Memory. Students will learn how Operating Systems interact with I/O devices for different processes and how they manage resource sharing when multiple processes require access to the same devices.
Learning Outcomes
The course helps students understand operating systems principles and concepts, including essential functions and layered approaches. Students learn to understand, design, and implement complex Operating Systems’ operations, including memory management, file structuring, and other core functionalities.
Course Outline
Lecture | Topic |
---|---|
1 | Introduction, Goals and Functions of Operating Systems |
2 | History, Evolution and Types of Operating Systems |
3 | Kernel, Shell Programming and System Architecture |
4 | Multiprogramming, Multiprocessing, and Multi-User OS Concepts |
5 | Process States and Management (2,3,5 and 7 States) |
6 | Inter Process Communication (IPC) and Process Control Block (PCB) |
7 | Threads: Concepts, Multi-threading and Thread Control Blocks |
8 | Dekker’s Algorithms for Mutual Exclusion (1,2,3) |
9 | Dekker’s Algorithms (4,5) and Peterson’s Algorithm |
10 | CPU Scheduling: Priority Based and SJF |
11 | CPU Scheduling: FCFS and Round Robin |
12 | Case Study: Process Management in Windows and Linux |
13 | Deadlocks: Introduction and Detection |
14 | Deadlock Prevention and Avoidance Strategies |
15 | Deadlock Avoidance Algorithms and Implementation |
16 | Memory Management: Concepts and Issues |
17 | Memory Organization: Logical and Physical |
18 | Memory Partitioning: Fixed and Dynamic |
19 | Protection, Security and External Fragmentation |
20 | Paging and Segmentation |
21 | Virtual Memory: Concepts and Implementation |
22 | Virtual Memory and Secondary Storage Management |
23 | I/O Systems: DMA and Buffering |
24 | File Systems: Introduction and Structure |
25 | File Organization, Directories and Management |
26 | File System Security and SSD Management |
27 | Distributed Operating Systems: Concepts and Architecture |
28 | Distributed OS: Implementation and Considerations |
29 | Process Scheduling in Distributed Systems |
30 | Concurrency: Concepts and Applications |
31 | Embedded Systems: Concepts and Applications |
32 | Open Source Operating Systems: Features and Considerations |
Assessment Criteria
Theory
- Quizzes, Assignments, Presentations: 20 Marks
- Mid-term Examination: 30 Marks
- Final Examination: 50 Marks
Lab
- Quizzes, Assignments, Presentations: 20 Marks
- Lab Manual: 12 Marks
- Viva Voice: 18 Marks
- Total: 50 Marks