SWE2007 – Introduction to Operating Systems

Course Snapshot
  • Credits: 3-0-2 (Theory + Lab)
  • Theory Hours: 45
  • Lab Hours: 20
  • Lab Sessions: 20
  • Prerequisites: Data Structures
  • Anti-requisites: None
Evaluation Scheme
  • Theory (75%):
  • CAT-1: 15%
  • CAT-2: 15%
  • Digital Assignment: 10%
  • Quiz 1 & 2: 20%
  • Final Exam: 40%
  • Laboratory (25%): Practicals

Course Outcomes (COs)

CO Statement Module Coverage
CO1 Understand basic OS concepts and system calls Modules 1, 2
CO2 Apply modern OS calls and synchronization Modules 2, 3
CO3 Implement multithreading concepts Module 2
CO4 Design CPU scheduling algorithms Module 2
CO5 Analyze memory management schemes Module 4
CO6 Evaluate file allocation techniques Module 5
CO7 Implement deadlock concepts and solutions Module 3

Modules at a Glance

1. Introduction
5 hrs
2. Process & Threads
7 hrs
3. Coordination & Deadlock
10 hrs
4. Memory Management
9 hrs
5. I/O & File Management
8 hrs
6. Storage & Security
6 hrs

Module 1 – Introduction (5 Hours)

Session Title Learning Objectives Material Duration
1.1 Operating System Fundamentals What operating systems do, Computer System Organization Download 2 hrs
1.2 Operating System Types Batch, Multiprogrammed, Time-Sharing, Distributed, Real-Time Systems Download 1.5 hrs
1.3 System Calls & Virtualization System calls overview, Types, Virtualization concepts Download 1.5 hrs

Module 2 – Process and Threads (7 Hours)

Session Title Learning Objectives Material Duration
2.1 Process Fundamentals Process concept, states, PCB, Context switching Download 2 hrs
2.2 Process Scheduling CPU-I/O burst cycle, Scheduling queues, CPU scheduler Download 2 hrs
2.3 Operations on Processes Process creation, termination, hierarchy, IPC introduction Download 1.5 hrs
2.4 Concurrency and Threading Concurrency concepts, Multithreading models, Benefits Download 1.5 hrs

Module 3 – Process Coordination and Deadlock (10 Hours)

Session Title Learning Objectives Material Duration
3.1 Process Synchronization Fundamentals Process synchronization, Critical-section problem, Race conditions Download 2.5 hrs
3.2 Synchronization Solutions Peterson's solution, Synchronization hardware, Atomic operations Download 2.5 hrs
3.3 High-Level Synchronization Tools Semaphores, Mutex locks, Monitors, Classic synchronization problems Download 2.5 hrs
3.4 Deadlock Fundamentals System model, Deadlock characterization, Resource allocation graphs Download 1.5 hrs
3.5 Deadlock Handling Methods Deadlock prevention, avoidance, detection and recovery Download 1 hr

Module 4 – Memory Management (9 Hours)

Session Title Learning Objectives Material Duration
4.1 Memory Management Basics Memory hierarchy, Address spaces, Memory allocation Download 2 hrs
4.2 Contiguous Memory Allocation Partition allocation, Fit algorithms, Fragmentation, Compaction Download 2 hrs
4.3 Non-Contiguous Memory Allocation Paging concepts, Page tables, TLB, Page table structures Download 2.5 hrs
4.4 Segmentation Segmentation concepts, Segment tables, Segmentation with paging Download 1.5 hrs
4.5 Swapping and Relocation Swapping mechanisms, Dynamic relocation, Base and limit registers Download 1 hr

Module 5 – I/O and File Management (8 Hours)

Session Title Learning Objectives Material Duration
5.1 Virtual Memory Fundamentals Virtual memory basics, Demand paging, Page faults Download 2 hrs
5.2 Page Replacement Policies Page replacement algorithms, FIFO, Optimal, LRU, Clock algorithm Download 2 hrs
5.3 File System Concepts File and Directory structure, File attributes, Directory implementation Download 2 hrs
5.4 File Allocation Methods Contiguous, Linked, Indexed allocation, Free-space management Download 2 hrs

Module 6 – Storage Management and Security (6 Hours)

Session Title Learning Objectives Material Duration
6.1 Secondary Storage Structure Disk structure, Disk scheduling algorithms, Disk management Download 2 hrs
6.2 I/O System Management I/O hardware, Software layers, Device drivers, DMA Download 2 hrs
6.3 Protection and Security Protection mechanisms, Security threats, Authentication Download 2 hrs

Laboratory Sessions (25% of Course)

Lab Overview
  • Total Sessions: 20
  • Lab Modules: 7
  • Programming: C, Java, PTHREAD
  • Environment: Linux
Key Skills
  • System Programming
  • Process Management
  • Multithreading
  • Algorithm Implementation
Lab Module Sessions Topics Technologies
Lab 1 2 Basic Linux Environment
Linux Commands, Shell Programs
Linux, Shell Scripting
Lab 2 2 System Programming
System Calls, Process Management
C Programming
Lab 3 4 CPU Scheduling
FCFS, SJF, Priority, Round Robin
C Programming
Lab 4 2 Multithreading
Java Threads, PTHREAD
Java, C/PTHREAD
Lab 5 4 IPC Implementation
Semaphores, Classic Problems, Pipes
C Programming
Lab 6 3 Advanced Topics
Banker's Algorithm, Paging, Segmentation
C Programming
Lab 7 3 Page Replacement
FCFS, LRU, Optimal Algorithms
C Programming

Assessment & Outcome Matrix

Component Weight CO Coverage Details
CAT-1 15% CO1, CO2 Modules 1-2
CAT-2 15% CO3, CO4, CO7 Modules 2-3
Digital Assignment 10% All COs Comprehensive OS project
Quiz 1 10% CO1, CO2, CO3 Modules 1-3 coverage
Quiz 2 10% CO4, CO5, CO6 Modules 4-6 coverage
Final Exam 40% All COs Comprehensive coverage
Laboratory 25% All COs Practical implementations

Gradebook

Help & Resources

Textbooks & References
  • Primary: Silberschatz, Galvin, Gagne - "Operating System Concepts", 10th Edition
  • Tanenbaum - "Modern Operating Systems", 4th Edition
  • Stallings - "Operating Systems", 9th Edition
  • Linux Documentation & Man Pages
Support

Instructor: Dr.Guruprakash J

Office Hours: Mon - Fri 9AM – 5PM

Email: [guruprakash.j]@vitap.ac.in

Lab Support: Teaching Assistants