Next: Rodzaje procesów
Up: Szeregowanie procesów - algorytm
Previous: Pomiar czasu pracy procesów
  Spis rzeczy
Najważniejsze pola deskryptora procesu używane przy szeregowaniu procesów:
- state określa stan w jakim znajduje się proces. Może przyjmować wartości:
- TASK_RUNNING - proces działa lub czeka na przydzielenie mu procesora
- TASK_INTERRUPTIBLE - proces wstrzymany do czasu zajścia pewnego zdarzenia
Do stanu TASK_RUNNING mogą go przywrócić przerwania, zwolnienie zasobu na który czeka lub sygnał
- TASK_UNINTERRUPTIBLE - to samo co TASK_INTERRUPTIBLE ale nie mogą go budzić sygnały.
- TASK_STOPPED - proces został zatrzymany przez pewien sygnał, np. SIGSTOP.
- TASK_ZOMBIE - proces zakończyl już swoje działanie, ale proces rodzica nie wywołał
jeszcze funkcji z rodziny wait().
- policy - określa rodzaj procesu (omówione w następnym rozdziale).
Ponadto może mieć ustawiona flagę binarną SCHED_YIELD oznaczającą, że
proces dobrowolnie chce oddać sterowanie
- counter - określa przez ile taktów proces może jeszcze posiadać procesor w bieżącej epoce.
Jest uwzględniane przy obliczaniu priorytetu procesy typu SCHED_OTHER
(por. 1.5)
- nice - bazowy kwant czasu procesu. Pod koniec każdej epoki pole counter jest
zwiększane o pewną liczbę zależną od nice. Jest uwzględniany przy obliczaniu
priorytetu procesu typu SCHED_OTHER. Może przyjmować wartości od -20 do 19.
nice określa jak bardzo proces jest "miły" dla innych procesów.
- rt_priority - określa priorytet procesów typu SCHED_FIFO i SCHED_RR.
- need_resched - flaga służąca do opóźnionego wywołania funkcji schedule()
Next: Rodzaje procesów
Up: Szeregowanie procesów - algorytm
Previous: Pomiar czasu pracy procesów
  Spis rzeczy
Ignacy Kowalczyk
2001-11-16