Struktury danych i funkcje do obsługi procesów

Aleksander Zalewski
Listopad 2001

1 Struktura task_struct

Jest to struktura reprezentująca proces w systemie. Wymienię jedynie część pól.

2 Unia task_union

3 Tablica pidhash


Tablica haszująca procesy po ich pidach. Obecny rozmiar tablicy PIDHASH_SZ wynosi 1024. (Jest to zapisane w bardzo ciekawy sposób (4096 >> 2))
Funkcja haszująca f(pid) = ((((pid) >> 8) ^ (pid)) & (PIDHASH_SZ - 1))
Funkcja znajdująca proces gdy znamy pid (find_task_by_pid) korzysta z tablicy pidhash.

4 Makro current

Zwraca wskaźnik na bieżącą strukturę task_struct na podstawie zawartości rejestru ESP.