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
./outputname
Some 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! π