FACULTY OF ENGINEERING & TECHNOLOGY
Effective from Academic Batch: 2022-23
Programme: Bachelor of Technology (Computer Engineering)
Semester: IV
Course Code: 202040402
Course Title: Operating Systems
Course Group: Professional Core Course
Course Objectives: The students will be able to understand the basic components of operating system,
and the interactions among the various components. The students will learn policies for scheduling,
deadlocks, memory management, synchronization, system calls, and file systems.
Teaching & Examination Scheme:
Contact hours per week Course Examination Marks (Maximum / Passing)
Credits Theory J/V/P*
Lecture Tutorial Practical Total
Internal External Internal External
3 0 2 4 50 / 18 50 / 17 25 / 9 25 / 9 150 / 53
* J: Jury; V: Viva; P: Practical
Detailed Syllabus:
Sr. Contents Hours
1 Introduction: 04
Computer system overview, Architecture, Goals & Structures of O.S, Basic functions,
Interaction of O.S. & hardware architecture, System calls, Batch, multiprogramming.
Multitasking, time sharing, parallel, distributed & real-time O.S.
2 Process and Thread Management: 07
Process Concept, Process states, Process control, Threads, Uni-processor
Scheduling: Types of scheduling: Preemptive, Non preemptive, Scheduling
algorithms: FCFS, SJF, RR, Priority, Thread Scheduling, Real Time Scheduling. System
calls like ps, fork, join, exec family, wait.
3 Inter Process Communication: 12
Race Conditions, Critical Section, Mutual Exclusion, Hardware Solution, Strict
Alternation, Peterson’s Solution, The Producer Consumer Problem, Semaphores,
Event Counters, Monitors, Message Passing, Classical IPC Problems: Reader’s &
Writer Problem, Dinning Philosopher Problem etc., Scheduling, Scheduling
Algorithms.
Principles of Concurrency, Mutual Exclusion: S/W approaches, H/W Support,
Semaphores, Pipes, Message Passing, Signals, and Monitors
Deadlock:
Principles of Deadlock, Starvation, Deadlock Prevention, Deadlock Avoidance,
Deadlock Detection, System calls.
4 Memory Management: 06
Memory Management requirements, Memory partitioning: Fixed and Variable
Partitioning, Memory Allocation: Allocation Strategies (First Fit, Best Fit, and Worst
Fit), Swapping, Paging and Fragmentation. Demand Paging, Security Issues.
Virtual memory concepts, VM management, Page Replacement Policies (FIFO, LRU,
Optimal, Other Strategies), Thrashing.
5 File Allocation Methods: 09
Continuous allocation, Linked list allocation, FAT allocation and indexed allocation
methods.
I/O Management & Disk scheduling:
I/O Devices, Organization of I/O functions, Operating System Design issues, I/O
Buffering, Disk Scheduling (FCFS, SCAN, C-SCAN, SSTF), RAID, Disk Cache.
6 Case Study: Window and Linux Operating Systems 02
Total 40
List of Practicals / Tutorials:
1 Study of Basic commands of Linux/UNIX
2 Study of Advance commands and filters of Linux/UNIX.
3 Write a shell script to generate marksheet of a student. Take 3 subjects, calculate and display
total marks, percentage and Class obtained by the student
4 Write a shell script to display multiplication table of given number
5 Write a shell script to find factorial of given number n.
6 Write a menu driven shell script which will print the following menu and execute the given
task.
a. Display calendar of current month
b. Display today’s date and time
c. Display usernames those are currently logged in the system
d. Display your name at given x, y position
e. Display your terminal number
7 Write a shell script to read n numbers as command arguments and sort them in descending
order
8 Shell programming using filters (including grep, egrep, fgrep)
9 Write a shell script to read n numbers as command arguments and sort them in descending
order.
10 Write a shell script to display all executable files, directories and zero sized files from current
directory
11 Write a shell script to check entered string is palindrome or not.
12 Write a shell script to validate the entered date. (eg. Date format is : dd-mm-yyyy).
13 Write an awk program using function, which convert each word in a given text into capital.
14 Write a program which demonstrate the use of fork, join, and exec and wait system calls.
15 Write a C program to simulate FCFS CPU scheduling algorithm.
Reference Books:
1 Modern Operating Systems-By Andrew S. Tanenbaum (PHI)
2 Operating Systems: Internals & Design Principles, 8th Edition, William Stallings, Pearson
Education India
3 Operating System Concepts, 9th edition Peter B. Galvin, Greg Gagne, Abraham Silberschatz,
John Wiley & Sons, Inc.
Supplementary learning Material:
1 Lecture Notes
2 NPTEL Courses
Pedagogy:
• Direct classroom teaching
• Audio Visual presentations/demonstrations
• Assignments/Quiz
• Continuous assessment
• Interactive methods
• Seminar/Poster Presentation
• Industrial/ Field visits
• Course Projects
Suggested Specification table with Marks (Theory) (Revised Bloom’s Taxonomy):
Distribution of Theory Marks in % R: Remembering; U: Understanding;
R U A N E C A: Applying; N: Analyzing;
20% 30% 30% 20% - - E: Evaluating; C: Creating
Note: This specification table shall be treated as a general guideline for students and teachers. The actual distribution of
marks in the question paper may vary slightly from above table.
Course Outcomes (CO):
Sr. Course Outcome Statements %weightage
CO-1 Understand the concepts, core structure of Operating Systems and basic
20
architectural components involved in operating systems design.
CO-2 Understand the process management policies and scheduling of processes
25
by CPU.
CO-3 Evaluate the requirement for process synchronization and coordination
25
handled by operating system.
CO-4 Describe and analyze the memory management and its allocation policies. 20
CO-5 Analyze various device and resource management techniques for
10
timesharing.
Curriculum Revision:
Version: 2.0
Drafted on (Month-Year): June-2022
Last Reviewed on (Month-Year): -
Next Review on (Month-Year): June-2025