GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3141601
Semester – IV
Subject Name: Operating System and Virtulization
Type of course: Undergraduate
Prerequisite: Linear and non-liner data structures, working experience of any one structured programming
language
Teaching and Examination Scheme:
Teaching Scheme Credits Examination Marks Total
L T P C Theory Marks Practical Marks Marks
ESE (E) PA (M) ESE (V) PA (I)
4 0 2 5 70 30 30 20 150
Syllabus:
Sr. Content Total %
No. Hrs Weightage
1 Introduction: Computer system overview, Architecture, Goals & Structures of 5 10
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 Threads Management: Process Concept, Process states, Process 8 15
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 Concurrency: Principles of Concurrency, Mutual Exclusion: S/W approaches, 4 08
H/W Support, Semaphores, Pipes, Message Passing, Signals, and Monitors.
4 Inter Process Communication: 8 15
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.
5 Deadlock: Principles of Deadlock, Starvation, Deadlock Prevention, Deadlock 4 08
Avoidance, Deadlock Detection, System calls.
6 Memory Management: 8 15
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.
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3141601
7 I/O Management & Disk scheduling: 6 10
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.
8 Unix/Linux Operating System: 4 07
Development Of Unix/Linux, Role & Function Of Kernel, System Calls,
Elementary Linux command & Shell Programming, Directory Structure, System
Administration
Case study: Linux, Windows Operating System
9 Virtualization Concepts: 3 05
Virtual machines; supporting multiple operating systems simultaneously on a
single hardware platform; running one operating system on top of another. True or
pure virtualization.
10 Approaches to Virtualization: 5 8
Processor Issue, Memory Management, I/O Management, VMware ESXi,
Microsoft Hyper-V and Xen Variants, Java VM, Linux VServer Virtual Machine
Architecture, Android Virtual Machine.
Suggested Specification table with Marks (Theory):
Distribution of Theory Marks
R Level U Level A Level N Level E Level C Level
Legends: R: Remembrance; U: Understanding; A: Application, N: Analyze and E: Evaluate C: Create and
above Levels (Revised Bloom’s Taxonomy)
Course outcomes: Students will be able to
Sr. CO statement Marks %
No. weightage
CO-1 Learn and understand the concepts, core structure of Operating Systems and
basic architectural components involved in operating systems design.
CO-2 Understand the process management policies and scheduling of processes by
CPU.
CO-3 Evaluate the requirement for process synchronization and coordination
handled by operating system.
CO-4 Describe and analyze the memory management and its allocation policies.
CO-5 Analyze various device and resource management techniques for
timesharing
CO-6 Conceptualize the components involved in designing a contemporary
Operating Systems
Reference Books:
1. Operating Systems: Internals & Design Principles, 8th Edition, William Stallings, Pearson Education India
2. Operating System Concepts, 9th edition Peter B. Galvin, Greg Gagne, Abraham Silberschatz, John Wiley &
Sons, Inc.
3. Modern Operating Systems-By Andrew S. Tanenbaum (PHI)
Page 2 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3141601
1. List of Experiments: 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 shell script which will accept a number b and display first n prime numbers as output.
7. Write a shell script which will generate first n fibonnacci numbers like: 1, 1, 2, 3, 5, 13, …
8. 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
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. Shell programming using filters (including grep, egrep, fgrep)
13. Study of Unix Shell and Environment Variables.
14. Write a shell script to validate the entered date. (eg. Date format is : dd-mm-yyyy).
15. Write an awk program using function, which convert each word in a given text into capital.
16. Write a program for process creation using C. (Use of gcc compiler).
17. Study of Basic commands of Linux/UNIX.
18. Study of Advance commands and filters of Linux/UNIX.
19. 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.
20. Write a shell script to display multiplication table of given number
21. Write a shell script to find factorial of given number n.
22. Write a shell script which will accept a number b and display first n prime numbers as output.
23. Write a shell script which will generate first n fibonnacci numbers like: 1, 1, 2, 3, 5, 13, …
24. 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
25. Write a shell script to read n numbers as command arguments and sort them in descending order.
26. Write a shell script to display all executable files, directories and zero sized files from current directory.
27. Write a shell script to check entered string is palindrome or not.
28. Shell programming using filters (including grep, egrep, fgrep)
29. Study of Unix Shell and Environment Variables.
30. Write a shell script to validate the entered date. (eg. Date format is : dd-mm-yyyy).
31. Write an awk program using function, which convert each word in a given text into capital.
32. Write a program for process creation using C. (Use of gcc compiler).
List of Open Source Software/learning website:- [Link]
Page 3 of 3
w.e.f. AY 2018-19