The Min-OSS project focuses on implementing two fundamental CPU scheduling algorithms: First-Come-First-Serve (FCFS) and Round-Robin (RR). This project provides hands-on experience with process scheduling, synchronization, and inter-process communication through sockets. Additionally, a shell interface was developed to control the scheduler in real-time.
fcfs.py: Python implementation of the First-Come-First-Serve (FCFS) scheduler.rr.py: Python implementation of the Round-Robin (RR) scheduler.task_generator.py: Task simulator that generates and sends tasks to the scheduler.logs/: Directory containing timestamped log files for each run.
-
Scheduling Algorithms
- FCFS: Processes are executed in the order they are received.
- Round-Robin: Time-sliced execution based on a defined quantum.
-
Shell Interface
- pause: Pauses the scheduler, preventing task execution.
- continue: Resumes the scheduler.
- list: Displays all active processes (waiting or running).
-
Logging
- Logs process receipt, start times, completion events, and shell command usage.
- Log files are uniquely named using timestamps for easy identification.
-
Socket Communication
- Sockets are used to receive task data from the external simulator.
- Roman Albano
- Justin Cordova
- Adhavan Swaminathan
- Start the Task Generator
python3 task_generator.py
- Run with FCFS
python3 fcfs.py
OR
- Run with RR
python3 rr.py