Skip to content

priyanshusharan-cmd/operating-system

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages