Computational Systems Lab

Deterministic
Scheduling
Analysis.

Queue up processes, run them through fifteen scheduling algorithms, and inspect the resulting execution timeline, per-process metrics, and CPU utilization — computed by a pure, dependency-free simulation engine.

0

Scheduling Algorithms

Non-preemptive → real-time

0

Shared Simulation Runners

From a single engine

0

Evaluative Metrics

Turnaround · waiting · response

0%

Deterministic Execution

Seeded PRNG, no surprises

FCFS·SJF·SRTF·PRIORITY·ROUND ROBIN·HRRN·MLQ·MLFQ·LOTTERY·STRIDE·GUARANTEED·FAIR SHARE·EDF·RMS·FCFS·SJF·SRTF·PRIORITY·ROUND ROBIN·HRRN·MLQ·MLFQ·LOTTERY·STRIDE·GUARANTEED·FAIR SHARE·EDF·RMS·

01. System Architecture

Multi-Heuristic Engine

Run comparative analysis across all fifteen scheduling models — FCFS through RMS — from a single pure, framework-independent simulation core.

Empirical Metrics

Every run resolves per-process completion, turnaround, waiting, and response — plus aggregate CPU saturation and makespan.

Tick-Accurate Timeline

Discrete, tick-by-tick Gantt visualization that makes context-switch overhead, idle gaps, and starvation vectors visible.

02. Methodology

COMPUTATIONAL
EXECUTION.

The simulator constructs a strictly governed single-core ready-queue environment. By introducing arbitrary arrival matrices and CPU burst requirements, researchers can empirically validate theoretical scheduling constraints — and compare algorithm trade-offs side by side.

arrival · burst · priority matrix

1ms preemption resolution

merged timeline → Gantt render

STEP 01

Define Global Constraints

Initialize the algorithmic model and establish global preemption variables, such as the requisite time quantum q for cyclical operations.

STEP 02

Populate Data Structures

Inject discrete processes into the queue array, defining chronological arrival constraints, required processing bursts, and hierarchical weights.

STEP 03

Compile and Execute

Run the analytical engine to resolve the queue structure into chronological sequence maps and final throughput calculations.

03. Algorithm Library

FIFTEEN SCHEDULING
DISCIPLINES.

Grouped by family — from the classic textbook disciplines to proportional-share and hard real-time schedulers. Every one of them runs in the same engine.

03.1

Classic Disciplines

FCFS, SJF, SRTF, HRRN and the priority variants — the textbook foundation of CPU scheduling.

FCFSNon-Preemptive

First Come First Served

Hands the CPU to the earliest arrival and keeps it there until the burst completes.

FIFO ready queueone-shot
SJFNon-Preemptive

Shortest Job First

Runs the shortest ready job next — provably optimal for average waiting time.

Burst-ordered selectionone-shot
SRTFPreemptive

Shortest Remaining Time First

The preemptive twin of SJF — preempts whenever a shorter remaining burst arrives.

Remaining-burst comparatorone-shot
PR-NPNon-Preemptive

Priority (Non-Preemptive)

Runs the highest-priority ready process to completion; lower numbers win.

Priority-ordered selectionone-shot
PR-PPreemptive

Priority (Preemptive)

Yields the CPU immediately when a higher-priority process arrives.

Priority comparatorone-shot
HRRNNon-Preemptive

Highest Response Ratio Next

Balances SJF efficiency with FCFS fairness via a climbing response ratio.

Response-ratio() selectionone-shot

03.2

Time-Slicing & Multilevel

Round Robin and its queue-based descendants, where a fixed time quantum bounds each dispatch.

RRQuantum

Round Robin

Gives every process one time quantum in rotation; preempted jobs return to the tail.

Circular ready queuequantum-driven
MLQQuantum

Multilevel Queue

Partitions processes into fixed priority bands, each with its own discipline.

Tiered queues (RR + FCFS)quantum-driven
MLFQQuantum

Multilevel Feedback Queue

Moves processes between bands based on observed CPU behavior — adaptive and fair.

Tiered queues with demotionquantum-driven

03.3

Proportional Share

Lottery, Stride, Guaranteed and Fair Share — entitlements instead of strict priority.

LOTQuantum

Lottery Scheduling

Allocates CPU by drawing winning tickets; shares are honored on average.

Ticket pool + seeded PRNGquantum-driven
STRQuantum

Stride Scheduling

Deterministic proportional share — the lowest pass value always runs next.

Pass / stride accountingquantum-driven
GUAQuantum

Guaranteed Scheduling

Promises each of n processes ~1/n of the CPU; the most under-served runs next.

Service-ratio accountingquantum-driven
FSHQuantum

Fair Share Scheduling

Divides CPU among groups first, then among members — no group can starve the rest.

Per-group share accountingquantum-driven

03.4

Real-Time Scheduling

EDF and RMS — predictability and deadline guarantees on a single core.

EDFPreemptive

Earliest Deadline First

Always runs the process whose absolute deadline is closest — optimal on a single core.

Deadline comparatorone-shot
RMSPreemptive

Rate Monotonic Scheduling

Static rate-based priorities for periodic tasks; schedulability is provable up front.

Fixed period prioritiesone-shot

04. Evaluative Metrics

MEASURED, NOT
ESTIMATED.

Turnaround Time

Ttr = Tcomplete − Tarrive

Span from submission to completion — the full time a process occupies the system.

Waiting Time

Twait = Ttr − Tburst

Time spent idle in the ready queue; the quantity scheduling policies most directly shape.

Response Time

Tresp = Tfirst − Tarrive

Delay until first CPU allocation — the key interactivity metric for time-sharing work.

CPU Utilization

U = Σ Tburst ÷ Tmakespan

Fraction of wall-clock time the core is busy — drops as context-switch and idle overhead grow.

Initialize Workspace

Run your first
schedule now.