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
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.
First Come First Served
Hands the CPU to the earliest arrival and keeps it there until the burst completes.
Shortest Job First
Runs the shortest ready job next — provably optimal for average waiting time.
Shortest Remaining Time First
The preemptive twin of SJF — preempts whenever a shorter remaining burst arrives.
Priority (Non-Preemptive)
Runs the highest-priority ready process to completion; lower numbers win.
Priority (Preemptive)
Yields the CPU immediately when a higher-priority process arrives.
Highest Response Ratio Next
Balances SJF efficiency with FCFS fairness via a climbing response ratio.
03.2
Time-Slicing & Multilevel
Round Robin and its queue-based descendants, where a fixed time quantum bounds each dispatch.
Round Robin
Gives every process one time quantum in rotation; preempted jobs return to the tail.
Multilevel Queue
Partitions processes into fixed priority bands, each with its own discipline.
Multilevel Feedback Queue
Moves processes between bands based on observed CPU behavior — adaptive and fair.
03.3
Proportional Share
Lottery, Stride, Guaranteed and Fair Share — entitlements instead of strict priority.
Lottery Scheduling
Allocates CPU by drawing winning tickets; shares are honored on average.
Stride Scheduling
Deterministic proportional share — the lowest pass value always runs next.
Guaranteed Scheduling
Promises each of n processes ~1/n of the CPU; the most under-served runs next.
Fair Share Scheduling
Divides CPU among groups first, then among members — no group can starve the rest.
03.4
Real-Time Scheduling
EDF and RMS — predictability and deadline guarantees on a single core.
Earliest Deadline First
Always runs the process whose absolute deadline is closest — optimal on a single core.
Rate Monotonic Scheduling
Static rate-based priorities for periodic tasks; schedulability is provable up front.
04. Evaluative Metrics
MEASURED, NOT
ESTIMATED.
Turnaround Time
Span from submission to completion — the full time a process occupies the system.
Waiting Time
Time spent idle in the ready queue; the quantity scheduling policies most directly shape.
Response Time
Delay until first CPU allocation — the key interactivity metric for time-sharing work.
CPU Utilization
Fraction of wall-clock time the core is busy — drops as context-switch and idle overhead grow.