Scheduling issues in Ada 9X

C. Douglass Locke · ACM SIGAda Ada Letters · 1991

The discussion on scheduling generally covered the functions described in Chapter 9 on I`asks an d Svnchronizalion, and Appendix R Real-lime Annex .Ihe issues discussed were also based on Ils e scheduling recommendations made at previous International Real-lime Ada Issues Workshops , principally the fourth workshop of July 1990 which reviewed the initial 9X requirements document .In this discussion, we will first describe the previous workshop scheduling recommendations, with a general overview of how (or if) these requirements are addressed in the draft Ada 9X Mapping Document .Following this, we will present the initial scheduling discussion at the mapping workshop which allowe d representatives of the mapping team to clarify the workshop attendees' understanding of the propose d mapping .l Malty, we present the workshop discussion on these issues, including a vote on the acceptability of the Chapter 9 mapping document's handling of the scheduling issues . .1 .1 Previous International Workshop Scheduling Issue sI he previous four workshops had defined several significant requirements related to Ada task schedulin g semantics .Chew requirements achieved a strong consensus for changes to Ada in the following areas : Inconsistent Ada Priority I kindlin g Unnecessary Priority Inversion Required by Ada Implementations : FIFO rendezvous queue s Iack of priority inheritanc e Ordering of unguarded Select alternative s Modifying task prioritie s Inconsistent Ada Priority HandlingAda 83 allows priorities to he defined, but enforces priority behavior too inconsistently for use i n developing predictable real-time applications .For example, while Ada 83 (clarified by Al-32) require s that upon detection of a delay statement expiration, the implementation must make a scheduling decisio n to ensure that the highest priority task is executing, there is no requirement that the implementation mus t detect this occurrence within any time bounds ; thus, low priority tasks may block high priority tasks fo r indeterminate periods of time .Other examples of priority inconsistency are described in detail in the following paragraphs .

Read the paper · More papers on PaperTik