JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
CS408ES: OPERATING SYSTEMS LAB
B.Tech II Year II Semester (R16)
Course Objectives:
To write programs in Linux environment using system calls.
To implement the scheduling algorithms.
To implement page replacement algorithms
To implement file allocation methods.
To understand and implement ipc mechanism using named and unnamed pipes.
To develop solutions for synchronization problems using semaphores.
Course Outcomes:
Ability to develop application programs using system calls in Unix.
Ability to implement interprocess communication between two processes.
Ability to design and solve synchronization problems.
Ability to simulate and implement operating system concepts such as scheduling, deadlock management, file management, and memory management. Use Linux operating system and GNU C compiler. List of Programs:
1. Write C programs to simulate the following CPU scheduling algorithms:
a) Round Robin b) SJF
2. Write C programs to simulate the following CPU scheduling algorithms:
a) FCFS b) Priority
3. Write C programs to simulate the following File organization techniques:
a) Single level directory b) Two level c) Hierarchical
4. Write C programs to simulate the following File allocation methods: a)Contiguous b)Linked c)Indexed
5. Write a C program to copy the contents of one file to another using system calls.
6. Write a C program to simulate Bankers Algorithm for Dead Lock Avoidance
7. Write a C program to simulate Bankers Algorithm for Dead Lock Prevention
8. Write C programs to simulate the following page replacement algorithms:
a) FIFO b) LRU c) LFU
9. Write C programs to simulate the following techniques of memory management:
a) Paging b) Segmentation
10. Write a C program to implement the ls | sort command. (Use unnamed Pipe)
11. Write a C program to solve the Dining- Philosopher problem using semaphores.
12. Write C programs to implement ipc between two unrelated processes using named pipe.
REFERENCE BOOKS:
1. An Introduction to Operating Systems, P.C.P Bhatt, 2 nd edition, PHI.
2. Unix System Programming Using C++, Terrence Chan, PHI/Pearson.
3. Modern Operating Systems, Andrew S Tanenbaum, 3rd Edition, PHI