Wprowadzenie do Obiektów Wątków

Obiekt wątku w trybie użytkownika reprezentuje ścieżkę wykonywania w ramach bieżącego procesu. Każdy obiekt wątku trybu użytkownika jest implementowany za pomocą osadzonego obiektu wątku trybu jądra.

Obiekt wątku trybu jądra jest instancją typu obiektu dyspozytora zdefiniowanego przez jądro. Wątek, który reprezentuje, to podstawowa jednostka planowalna w systemie operacyjnym.

Obiekt wątku:

  • Jest wysyłany do wykonania przez jądro.

  • W danym momencie ma następujące właściwości:

    • stan wysyłania

    • priorytet

    • kontekstu

    • Tryb wykonywania (jądro lub użytkownik)

    • powinowactwo

  • Jest "własnością" obiektu procesu, ale może dołączyć się do przestrzeni adresowej innego procesu.

Zazwyczaj większość sterowników jest wykonywana w kontekście aktualnie uruchomionego wątku, czyli w dowolnym kontekście wątku. Chociaż sterownik systemu plików może utworzyć niezależny proces dla własnych dedykowanych wątków urządzenia, systemy plików zwykle unikają konfigurowania procesu i wątków utworzonych przez sterownik w celu zaoszczędzenia pamięci systemowej i uniknięcia narzutu przełączania kontekstu.

FSs (i inne sterowniki) mogą konfigurować wątki dedykowane dla urządzeń (system-proces) i/lub używać systemowych wątków roboczych, jeśli potrzebują specyficznego kontekstu wątku sterownika, w którym będą się wykonywać. Sterowniki używają procedur ps xxx trybu jądra do tworzenia procesów i/lub dedykowanych wątków urządzenia. FSs wywołują procedury ExXxx, aby używać wątków roboczych systemu.