Welcome to the Operating Systems Lab open-source repository!
This project contains clean, beginner-friendly C implementations of core OS concepts taught in university labs such as VTU, Anna University, and others.
β¨ Made by students, for students. Learn by doing, and contribute as you grow.
| Category | Folder | Algorithms / Programs Included |
|---|---|---|
| CPU Scheduling | scheduling/ |
FCFS, SJF, Round Robin, Priority |
| Memory Management | memory_management/ |
First Fit, Best Fit, Worst Fit |
| Page Replacement | page_replacement/ |
FIFO, LRU |
| Deadlock Avoidance | deadlock/ |
Banker's Algorithm |
| Interprocess Comm. | ipc/ |
Producer-Consumer, Reader-Writer |
Each program is written in C and can be compiled using gcc:
gcc filename.c -o outputname
./outputnameSome programs use pthreads:
gcc thread_based_file.c -lpthread -o program- β
scheduling/fcfs/fcfs.c: First Come First Serve CPU scheduling - β
ipc/producer_consumer.c: Synchronization using semaphores - β
deadlock/bankers_algorithm.c: Avoid deadlocks using Banker's safety algorithm
- GeeksForGeeks β OS Concepts
- Little OS Book (Free)
- Operating System Concepts β Silberschatz et al.
Want to improve this repo?
- π΄ Fork this repo
- π₯ Clone your fork
- π οΈ Make your changes
- π€ Submit a Pull Request
Contributions can include:
- New algorithms
- Gantt chart visuals
- Bug fixes or cleaner explanations
- Translations or language ports (Python/Java)
This project is released under the MIT License β free to use, modify, and contribute.
Thanks to all contributors, batchmates, and the open-source OS community! π