Why 32 Priorities?

“Rate monotonic scheduling requires at least 32 priorities.” That assertion has become almost part of real-time folklore. The POSIX real-time specification calls for no fewer than 32 distinct priorities, and the Real Time Specification for Javarequires at least 28. Most real-time operating systems support at least 256 distinct priorities, and OS-9 supports 65,535! There is a theoretical basis for the assertion. The paper, “Real-Time Computing with IEEE Futurebus+” by Lui Sha, Ragunathan Rajkumar, and John Lehoczky, in IEEE Micro, June 1991, shows that given certain assumptions, the benefit of additional bus arbitration priorities diminishes rapidly above about 32. The paper addresses bus arbitration, but the computation applies ...

Get Real-Time Java™ Platform Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.