The OS Scheduler is a simulation of various CPU scheduling algorithms, implemented in Python. This project helped me understand how operating systems manage processes, allocate CPU time, and optimize performance using different scheduling strategies.
Purpose: Simulate and compare the performance of different scheduling algorithms.
Technology Used: Python
Key Features:
Supports multiple scheduling algorithms (e.g., FIFO, SJF, Round Robin)
Process management and execution simulation
Performance analysis based on turnaround time, waiting time, and CPU utilization
The OS Scheduler takes a list of processes with their arrival time, burst time, and priority (if applicable). It then applies the selected scheduling algorithm to simulate CPU execution.
First-Come-First-Serve (FCFS): Processes are executed in the order of their arrival.
Shortest Job First (SJF): The process with the smallest burst time is executed next.
Round Robin (RR): Each process gets a fixed time slice for execution, ensuring fairness.
Priority Scheduling: Processes with higher priority are executed first.
The output includes detailed statistics like average waiting time, turnaround time, and Gantt charts for visual representation.
Algorithm Implementation: Carefully followed theoretical concepts to ensure accurate algorithm simulation.
Edge Case Management: Handled cases such as process starvation and overlapping arrivals.
Performance Analysis: Developed functions to calculate and compare the efficiency of each algorithm.
Add additional algorithms like Multilevel Queue Scheduling.
Develop a graphical interface to visualize the scheduling process.
Implement real-time process scheduling simulation.
This project enhanced my understanding of operating system concepts and Python programming. It was a hands-on way to apply what I learned in class to a practical application.