THINK FIRST·CODE LATER

← All labs

Rate-monotonic analysis tool

Problem

Write a schedulability analyzer for periodic tasks under rate-monotonic scheduling (deadline = period, preemptive, one CPU).

Input: lines name C T until the end of input (integers).

Output:

Utilization: 0.8333
Liu-Layland bound for n=3: 0.7798
Utilization test: INCONCLUSIVE (above the bound, at most 1)
T1 (C=1, T=4, priority 1): R = 1  <= 4 OK
T2 (C=2, T=6, priority 2): R = 2 -> 3  <= 6 OK
T3 (C=3, T=12, priority 3): R = 3 -> 6 -> 7 -> 9 -> 10  <= 12 OK
Verdict: schedulable under RM
  • Utilization and bound with four decimals. Utilization test: PASS (schedulable by RM) if U ≤ bound; INCONCLUSIVE (above the bound, at most 1) if bound < U ≤ 1; FAIL (utilization above 1: impossible on one CPU) otherwise.
  • Then, for every task in priority order (shorter period first; ties in input order), run the response-time iteration Rᵢ = Cᵢ + Σ⌈Rᵢ/Tⱼ⌉·Cⱼ over higher-priority tasks, starting from Cᵢ, and print the sequence of distinct values joined by ->. Stop as soon as the value exceeds Tᵢ (print > T MISSES deadline) or stops changing (print <= T OK). Note the two spaces before <= or >.
  • Verdict: schedulable under RM if every task is OK, else Verdict: NOT schedulable under RM.

Write it here or in your IDE, then paste it. Compile and test it yourself before comparing. Your code stays in your browser — it is never sent to or stored on the server.