Skip to content

Python project implementing FCFS and Round-Robin CPU scheduling with real-time shell control and socket-based task simulation

Notifications You must be signed in to change notification settings

justincordova/Min-OSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Min-OSS: CPU Scheduling Project

Project Overview

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.


File Structure

  • 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.

Features

  1. Scheduling Algorithms

    • FCFS: Processes are executed in the order they are received.
    • Round-Robin: Time-sliced execution based on a defined quantum.
  2. Shell Interface

    • pause: Pauses the scheduler, preventing task execution.
    • continue: Resumes the scheduler.
    • list: Displays all active processes (waiting or running).
  3. Logging

    • Logs process receipt, start times, completion events, and shell command usage.
    • Log files are uniquely named using timestamps for easy identification.
  4. Socket Communication

    • Sockets are used to receive task data from the external simulator.

Contributors

  • Roman Albano
  • Justin Cordova
  • Adhavan Swaminathan

Running the Project

  1. Start the Task Generator
    python3 task_generator.py
    
  2. Run with FCFS
    python3 fcfs.py
    

OR

  1. Run with RR
    python3 rr.py

About

Python project implementing FCFS and Round-Robin CPU scheduling with real-time shell control and socket-based task simulation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages