/OS-Process-Scheduler

Visualize various scheduling operations for operating systems.

Primary LanguageC#MIT LicenseMIT

Operating System Process Scheduler

Visualize various scheduling operations for operating systems at realtime.

Development Tools

  • Unity Engine

Available Schedulers

  • First Come First Serve
  • Shortest Job First (Non-Preemptive)
  • Shortest Remaining Time First (Preemptive)
  • Round Robin
  • Priority (Non - Preemptive)
  • Priority (Preemptive)
For development it is recommended to use Unity 2019.3.1f1 download it here.

Dependencies:

  • Runtime GUI Table link
  • TextMesh Pro

How to use?

Project launcher

  • Create new project or load one.
  • Customerize themes. OS-Process-Scheduler

Schedulers

OS-Process-Scheduler

  • Upto six schedulers can be added, removed or renamed.

Scheduler Tab

Processes can be added at any time.

  • "R" button will randomize the values that each process has.
  • "x" button will delete the process.
  • Each Process name can be changed. Arrival time and Burst time can be set for each process and priority can be changed if the scheduler is set to priority scheduler.
  • Scheduler type can be changed from dropdown.
  • Realtime Speed can be adjusted on the top control bar. Below which a simple gantt chart will be available.
  • A summary of the processes will be shown right below.
Note: Currently the scheduler summary and gantt chart contains context switching time.