Master the core concepts of Operating Systems through hands-on C implementations. This repository covers scheduling, memory management, file systems, and more.
Experiments β’ How to Run β’ Structure β’ Author
- Subject Code: U21CS404
- Course: Operating Systems Lab
- Language: C (POSIX Compliant)
- Environment: GCC on Linux / MacOS / WSL
| No. | Experiment Title | Description | Key Concept |
|---|---|---|---|
| 01 | UNIX Basics | Basics of UNIX commands & shell editors. | Linux-CLI, Shell |
| 02 | System Calls | Process and file-related system calls. | fork, exec, open |
| 03 | CPU Scheduling | FCFS, SJF, SRTF, Priority, & Round Robin. | Scheduling, Throughput |
| 04 | IPC (Communication) | Pipes and Shared Memory implementations. | Pipes, Shared Memory |
| 05 | ProducerβConsumer | Solve synchronization using semaphores. | Mutex, Semaphores |
| 06 | Banker's Algorithm | Deadlock avoidance using resource logic. | Deadlock, Safe Sequence |
| 07 | Page Replacement | FIFO, Optimal, and LRU algorithms. | Memory, Page Faults |
| 08 | Disk Scheduling | FCFS, SSTF, SCAN, and C-SCAN. | I/O Performance |
| 09 | File Organization | Sequential, Random, and Serial storage. | File Systems |
| 10 | File Allocation | Sequential, Indexed, and Linked. | Allocation Strategies |
Standard GCC tools are used for all experiments.
git clone https://github.com/ha-re-ram/OS-Lab.git
cd OS-Lab# Example: Running the FCFS scheduler
cd Experiment-03-CPU-Scheduling
gcc 03a-fcfs.c -o fcfs
./fcfsOS-Lab/
βββ Experiment-01-Basics-of-UNIX/
βββ Experiment-02-System-Calls/
βββ Experiment-03-CPU-Scheduling/
βββ Experiment-04-IPC/
βββ Experiment-05-Producer-Consumer/
βββ Experiment-06-Bankers-Algorithm/
βββ Experiment-07-Page-Replacement/
βββ Experiment-08-Disk-Scheduling/
βββ Experiment-09-File-Organization/
βββ Experiment-10-File-Allocation/
βββ assets/ # Project media & banners
βββ docs/ # Documentation & Manuals
βββ LICENSE # MIT Rights
βββ README.md # Documentation
Hareram Kushwaha CSE Student at KPRIET
"Exploring the foundation of computing, one system call at a time."
Distributed under the MIT License. See LICENSE for more information.
