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