The present invention provides a process scheduler or dispatcher for a
multiprocessor system for real time applications. This embodiment of the
present invention proposes a dispatcher model that maintains a dispatch
queue for each processor and a separate global dispatch queue for unbound
higher priority real time threads. A processor has its own queue and a
dispatcher. Each queue has a separate schedule lock associated with it to
protect scheduling operations. A processor's dispatcher selects a thread
for execution from one of the queues in the system as a candidate thread
to execute. When a candidate thread is selected for execution, the
processor proceeds to verify against threads in the global real time queue
and the processor's own dispatch queue to select a highest priority
runnable thread in the system. Thus, the present invention allows the
dispatcher to prevent race conditions and minimize lock contention while
assuring that high-priority threads are dispatched as quickly as possible.
The present invention is implemented by a synchronization between the
operations of dispatching a thread and making a thread runnable.
Присытствыющий вымысел обеспечивает отростчатые scheduler или dispatcher для системы мультипроцессора для реальных применений времени. Это воплощение присытствыющего вымысла предлагает модель dispatcher поддерживает косу отправки для каждого обработчика и отдельно гловальная коса отправки на unbound время высокийа приоритет реальное продевает нитку. Обработчик имеет свою собственную косу и dispatcher. Каждая коса имеет отдельно замок план-графика связанный с ей для того чтобы защитить планируя деятельности. Dispatcher обработчика выбирает резьбу для исполнения от одной из кос в системе как резьба выбранного для того чтобы исполнить. Когда резьба выбранного выбрана для исполнения, обработчик продолжает подтвердить против резьб в гловальной реальной косе времени и косе отправки обработчика собственной для того чтобы выбрать резьбу высокийа приоритет runnable в системе. Таким образом, присытствыющий вымысел позволяет dispatcher предотвратить условия гонки и уменьшить утверждение замка пока убеждающ что high-priority резьбы посланы бистро как только возможно. Присытствыющий вымысел снабжен синхронизацией между деятельностями посылать резьбу и делать резьбу runnable.