At the level of abstraction of the proposed synchronization
mechanism, the length of the epilogue queue is virtually
unlimited. In a PURE environment, the epilogue queue
is given a maximum length by a careful design and implementation
of all device drivers. One design issue, for example,
is to ensure that a prologue always requests the execution
of a single epilogue at a time and only if the execution
of this epilogue is not pending at that moment. In this case,
the maximal possible queue length corresponds to the number
of epilogue-demanding prologues (i.e. interrupt handlers)
in the system. In particular, if interrupt-priority levels
are not shared by many prologues, the maximal possible
queue length corresponds to the maximal possible number
of nested prologues at a time. The sum of the worst case
execution times of all the queued epilogues then determines
the maximal possible delay for a process to leave a guarded
section.