next up previous contents
Next: Przykład bezpośredniego wywołania schedule() Up: Wywoływanie funkcji schedule() Previous: Wywoływanie funkcji schedule()   Spis rzeczy

Bezpośrednie wywoływanie schedule()

Procedury jądra wywołują bezpośrednio funkcję schedule() w przypadku gdy

Skoncentrujemy się teraz na ciekawszym przypadku, gdy oddający sterowanie dalej pozostaje w systemie. Wykonywane są wtedy następujące instrukcje:

  1. Wstawienie aktualnego procesu do kolejki oczekiwanie
  2. Ustawienie stanu procesu na TASK_INTERRUPTIBLE lub TASK_UNINTERRUPTIBLE
  3. Wywołanie schedule()
  4. Sprawdzenie czy zasób jest już wolny. Jeżeli nie powraca do punktu 2
  5. Usunięcie proces z kolejki oczekiwania



Subsections

Ignacy Kowalczyk 2001-11-16