Skip to content

About

⚙️ C implementations of Operating System algorithms including CPU scheduling, synchronization, deadlock handling, memory management, and disk scheduling.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🖥️ Operating System

BMS College of Engineering, Bengaluru


📚 Operating System Laboratory Programs

Complete collection of Operating System laboratory programs implemented in C Language as part of the Operating Systems Course at BMS College of Engineering (BMSCE).


👨‍🎓 Student & Course Information

👨‍🎓 Student Information Details 👩‍🏫 Course Information Details
Name Priyanshu Sharan Course Operating Systems Laboratory
USN 1WA24CS223 Faculty Dr. Seema Patil
Semester 4th Semester Department Computer Science and Engineering
Department Computer Science and Engineering Language Used C
Institution BMS College of Engineering Compiler GCC

🎯 Repository Highlights

✅ Complete Laboratory Program Collection

✅ All Programs Written in C

✅ Algorithm Included for Every Program

✅ Sample Output Included

✅ Clean and Well Documented Code

✅ Covers Operating Systems Laboratory Concepts


🧠 Topics Covered

🔹 CPU Scheduling Algorithms

  • First Come First Serve (FCFS)
  • Shortest Job First (SJF)
  • Priority Scheduling
  • Round Robin Scheduling
  • Multilevel Queue Scheduling
  • Earliest Deadline First Scheduling
  • Rate Monotonic Scheduling
  • Proportional (Lottery) Scheduling

🔹 Process Synchronization

  • Producer Consumer Problem
  • Dining Philosophers Problem

🔹 Deadlock Handling

  • Banker's Algorithm
  • Deadlock Detection Algorithm

🔹 Memory Allocation Techniques

  • First Fit
  • Best Fit
  • Worst Fit

🔹 Page Replacement Algorithms

  • FIFO
  • LRU
  • Optimal

🔹 File Allocation Techniques

  • Sequential Allocation
  • Indexed Allocation
  • Linked Allocation

🔹 File Organization Techniques

  • Single Level Directory
  • Two Level Directory
  • Hierarchical Directory

🔹 Disk Scheduling Algorithms

  • FCFS Disk Scheduling
  • SCAN Disk Scheduling
  • SSTF Disk Scheduling
  • C-LOOK Disk Scheduling

📂 Laboratory Programs

Lab No. Program Category Programs
1 CPU Scheduling FCFS, SJF, Priority, Round Robin
2 Multi Level Queue Scheduling Multilevel Queue
3 Real Time Scheduling EDF, RMS, Lottery Scheduling
4 Synchronization Producer Consumer, Dining Philosophers
5 Deadlock Handling Banker's Algorithm, Deadlock Detection
6 Memory Allocation First Fit, Best Fit, Worst Fit
7 Page Replacement FIFO, LRU, Optimal
8 File Allocation Sequential, Indexed, Linked
9 File Organization Single Level, Two Level, Hierarchical
10 Disk Scheduling FCFS, SCAN, SSTF, C-LOOK

📊 Repository Statistics

Category Count
CPU Scheduling Programs 6
Real Time Scheduling Programs 3
Synchronization Programs 2
Deadlock Programs 2
Memory Allocation Programs 3
Page Replacement Programs 3
File Allocation Programs 3
File Organization Programs 3
Disk Scheduling Programs 4

📌 Total Programs: 30


⚙️ Compilation

gcc filename.c -o output

▶️ Execution

Linux / macOS

./output

Windows

output.exe

🛠️ Technologies Used

  • C Programming Language
  • GCC Compiler
  • Visual Studio Code
  • Git
  • GitHub

📖 Learning Outcomes

  • Understanding CPU Scheduling Techniques
  • Process Synchronization Concepts
  • Deadlock Prevention and Detection
  • Memory Management Techniques
  • Page Replacement Policies
  • File Allocation Methods
  • File System Organization
  • Disk Scheduling Algorithms

📁 Repository Structure

Operating-System/
│
├── CPU-Scheduling/
│   ├── FCFS.c
│   ├── SJF.c
│   ├── Priority.c
│   └── RoundRobin.c
│
├── Real-Time-Scheduling/
│   ├── EDF.c
│   ├── RMS.c
│   └── Lottery.c
│
├── Synchronization/
│   ├── ProducerConsumer.c
│   └── DiningPhilosophers.c
│
├── Deadlock/
│   ├── BankersAlgorithm.c
│   └── DeadlockDetection.c
│
├── Memory-Allocation/
│   ├── FirstFit.c
│   ├── BestFit.c
│   └── WorstFit.c
│
├── Page-Replacement/
│   ├── FIFO.c
│   ├── LRU.c
│   └── Optimal.c
│
├── File-Allocation/
│   ├── Sequential.c
│   ├── Indexed.c
│   └── Linked.c
│
├── File-Organization/
│   ├── SingleLevelDirectory.c
│   ├── TwoLevelDirectory.c
│   └── HierarchicalDirectory.c
│
├── Disk-Scheduling/
│   ├── FCFS.c
│   ├── SCAN.c
│   ├── SSTF.c
│   └── CLOOK.c
│
└── README.md

⭐ Operating System Laboratory Repository ⭐

Developed By

Priyanshu Sharan

USN: 1WA24CS223

Department: Computer Science and Engineering

Institution: BMS College of Engineering, Bengaluru


🌟 If you found this repository useful, consider giving it a star! 🌟

About

⚙️ C implementations of Operating System algorithms including CPU scheduling, synchronization, deadlock handling, memory management, and disk scheduling.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages