This repository contains the solutions to the practical exercises related to Operating Systems. Each exercise involves implementing various operating system concepts such as memory allocation, CPU scheduling, file systems, and disk scheduling.
a. Installing a Linux-based operating system (e.g., Ubuntu, Fedora).
b. Understanding the booting process of Linux.
a. Basic Linux commands (e.g., file manipulation, directory navigation, etc.).
b. Filters (e.g., grep, sort, awk) and administrative commands (e.g., sudo, chmod).
- Write and execute basic shell scripts for automation of tasks.
- Program to demonstrate process creation and management using system calls like
fork()in Linux.
- Implement a C program to demonstrate multithreading using
pthread.
- Program to implement mutual exclusion using semaphores.
- Solve the Reader-Writer problem to avoid race conditions.
- Implement the dining philosopher problem using semaphores to avoid deadlock.
- Program to simulate CPU scheduling algorithms:
- First Come First Serve (FCFS)
- Shortest Job First (SJF)
- Program to simulate CPU scheduling algorithms:
- Priority Scheduling
- Round Robin Scheduling
- Implement the Banker's Algorithm for deadlock avoidance.
- Program to simulate memory allocation techniques:
- First Fit
- Best Fit
- Worst Fit
- Program to simulate page replacement algorithms:
- First In First Out (FIFO)
- Least Recently Used (LRU)
- Least Frequently Used (LFU)
- Program to simulate disk scheduling algorithms:
- First Come First Serve (FCFS)
- SCAN
- C-SCAN
- Program to simulate file allocation methods:
- Sequential Allocation
- Indexed Allocation