Skip to content

πŸ’» OS Lab Programs in C | CPU Scheduling, Memory Management, IPC, Deadlocks | Well-documented & beginner-friendly

Notifications You must be signed in to change notification settings

engineeringduration/Operating-System-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ Operating Systems Lab – Open Source Repository

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.


πŸ“š Contents

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

πŸ› οΈ How to Run

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

πŸ’» Example Projects

  • βœ… 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

πŸ“š Recommended Learning Resources


πŸ§‘β€πŸ’» Contributing

Want to improve this repo?

  1. 🍴 Fork this repo
  2. πŸ“₯ Clone your fork
  3. πŸ› οΈ Make your changes
  4. πŸ“€ Submit a Pull Request

Contributions can include:

  • New algorithms
  • Gantt chart visuals
  • Bug fixes or cleaner explanations
  • Translations or language ports (Python/Java)

πŸ“ License

This project is released under the MIT License – free to use, modify, and contribute.


πŸ™Œ Credits

Thanks to all contributors, batchmates, and the open-source OS community! πŸ’™

Releases

No releases published

Packages

No packages published

Languages