Skip to content

ha-re-ram/OS-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🐧 Operating Systems Lab Manual

A Complete Guide to OS Implementation in C

OS Lab Banner

License: MIT C Programming GCC Linux

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


πŸ“š Course Details

  • Subject Code: U21CS404
  • Course: Operating Systems Lab
  • Language: C (POSIX Compliant)
  • Environment: GCC on Linux / MacOS / WSL

πŸ§ͺ Experiments

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

βš™οΈ How to Compile and Run

Standard GCC tools are used for all experiments.

Clone the Repo

git clone https://github.com/ha-re-ram/OS-Lab.git
cd OS-Lab

Compile & Execute

# Example: Running the FCFS scheduler
cd Experiment-03-CPU-Scheduling
gcc 03a-fcfs.c -o fcfs
./fcfs

πŸ—‚οΈ Project Structure

OS-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

πŸ§‘β€πŸŽ“ Author

Hareram Kushwaha CSE Student at KPRIET

LinkedIn GitHub

"Exploring the foundation of computing, one system call at a time."


πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.


Don't forget to star ⭐ this repository if it helped you!

About

🐧 A complete Operating Systems Lab manual with C implementations for Scheduling, System Calls, IPC, Deadlock Avoidance, and Memory Management. POSIX compliant. πŸ’»

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages