This paper demonstrates a formal, quantitative methodology formaking engineering decisions on the construction and implementation of application specific, real-time operating systems. Specifically, we present the results of a case study comparing the relative viability of dynamic versus fixed priority schedulers within the context of theMwave/OS operating system. Mwave/OS is being used in forthcoming products from IBM that will provide single board implementations of audio, video, facsimile, modems, MIDI, etc. to the PC marketplace. Scheduling models for both dynamic and fixed priority scheduling implementations for the Mwave/OS system are developed. The scheduling models include simple utilization-based tests that are suitable for on-line use, and more complex time-based tests. The complex, dynamic scheduling model is validated against the actual hardware and shown to be accurate to within 1%. The relative viability of the fixed vs dynamic priority scheduling for IBM’s application is then evaluated against the schedulability performance of specific task sets. For the on-line tests, earliest deadline (dynamic priority) has a clear advantage over rate monotonic (fixed priority) scheduling for the two applications evaluated. However, earliest deadline schedulers enjoyed only a small schedulability performance advantage over rate monotonic if the more complex tests are used. The models are also used to explore the scheduling ramifications of alternative data structure implementations of the Mwave/OS scheduler. This case study demonstrates how the schedulingmodel methodology allows one to quantitatively select which scheduling policy/implementation is best for any given application domain.
[1]
James W. Layland,et al.
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
,
1989,
JACM.
[2]
Jay K. Strosnider,et al.
Modeling and validation of the real-time Mach scheduler
,
1993,
SIGMETRICS '93.
[3]
Lui Sha,et al.
Performance of real-time bus scheduling algorithms
,
1986,
SIGMETRICS '86/PERFORMANCE '86.
[4]
Jane W.-S. Liu,et al.
Scheduling Real-Time, Periodic Jobs Using Imprecise Results
,
1987,
RTSS.
[5]
Jay K. Strosnider,et al.
Engineering and Analysis of Fixed Priority Schedulers
,
1993,
IEEE Trans. Software Eng..
[6]
Charles U. Martel,et al.
On non-preemptive scheduling of period and sporadic tasks
,
1991,
[1991] Proceedings Twelfth Real-Time Systems Symposium.
[7]
John P. Lehoczky,et al.
Fixed priority scheduling periodic tasks with varying execution priority
,
1991,
[1991] Proceedings Twelfth Real-Time Systems Symposium.
[8]
Lui Sha,et al.
Solutions for Some Practical Problems in Prioritized Preemptive Scheduling
,
1986,
RTSS.
[9]
Lui Sha,et al.
Real-time synchronization protocols for multiprocessors
,
1988,
Proceedings. Real-Time Systems Symposium.
[10]
Hongyi Zhou,et al.
Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads
,
1992,
IEEE Trans. Software Eng..
[11]
John P. Lehoczky,et al.
The rate monotonic scheduling algorithm: exact characterization and average case behavior
,
1989,
[1989] Proceedings. Real-Time Systems Symposium.
[12]
Shirish S. Sathaye,et al.
Fixed Priority Scheduling with Limited Priority Levels
,
1995,
IEEE Trans. Computers.