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! ๐