# OPERATING-SYSTEMS-LAB
The course aims to offer students a hands-on experience on Operating System concepts using a constructivist approach and problem-oriented learning. Operating systems are the fundamental part of every computing device to run any type of software. 

<h1>Syllabus</h1>
<br><br>

<h3>
1. Basic Linux commands <br><br>
2. Shell programming  <br><br>
 -Command syntax  <br><br>
 -Write simple functions with basic tests, loops, patterns <br><br>
3. System calls of Linux operating system:* <br>
 fork, exec, getpid, exit, wait, close, stat, opendir, readdir <br><br>
4. Write programs using the I/O system calls of Linux operating system (open, read, write)<br><br>
5. Implement programs for Inter Process Communication using Shared Memory *<br><br>
6. Implement Semaphores*<br><br>
7. Implementation of CPU scheduling algorithms. <br>a) Round Robin b) SJF c) FCFS d)
Priority *<br><br>
8. Implementation of the Memory Allocation Methods for fixed partition*<br>
a) First Fit b) Worst Fit c) Best Fit<br><br>
9. Implement l page replacement algorithms<br> a) FIFO b) LRU c) LFU*<br><br>
10. Implement the banker’s algorithm for deadlock avoidance. *<br><br>
11. Implementation of Deadlock detection algorithm<br><br>
12. Simulate file allocation strategies.<br>
b) Sequential b) Indexed c) Linked<br><br>
13. Simulate disk scheduling algorithms. *<br>
c) FCFS b)SCAN c) C-SCAN <br><br>
* mandatory<br><br>
</h3>
<br>
<h2>OPERATING SYSTEMS LAB - PRACTICE QUESTIONS</h2><br><br>
<h3>
1. Write a program to create a process in linux.<br>
2. Write programs using the following system calls of Linux operating system:<br>
fork, exec, getpid, exit, wait, close, stat, opendir, readdir<br>
3. Write programs using the I/O system calls of Linux operating system (open, read, write)<br>
4. Given the list of processes, their CPU burst times and arrival times, display/print the
Gantt chart for FCFS and SJF. For each of the scheduling policies, compute and print the
average waiting time and average turnaround time<br>
5. Write a C program to simulate following non-preemptive CPU scheduling algorithms to
find turnaround time and waiting time.<br>
a)FCFS b) SJF c) Round Robin (pre-emptive) d) Priority<br>
6. Write a C program to simulate following contiguous memory allocation techniques<br>
 a) Worst-fit b) Best-fit c) First-fit<br>
7. Write a C program to simulate paging technique of memory management.<br>
8. Write a C program to simulate Bankers algorithm for the purpose of deadlock avoidance.<br>
9. Write a C program to simulate disk scheduling algorithms <br>a) FCFS b) SCAN c) C-SCAN<br>
10. Write a C program to simulate page replacement algorithms <br>a) FIFO b) LRU c) LFU<br>
11. Write a C program to simulate producer-consumer problem using semaphores.<br>
12. Write a program for file manipulation for display a file and directory in memory.<br>
13. Write a program to simulate algorithm for deadlock prevention.<br>
14. Write a C program to simulate following file allocation strategies.<br>
a)Sequential b) Indexed c) Linked <br></h3>
