Co to jest wątek użytkownika i wątek jądra?


13

Wiem, czym jest wątek i wiem, jak one działają, ale jestem dość zdezorientowany, co wątek użytkownika i wątek jądra są pod względem tego, co wolno im robić.

Czy możesz wyjaśnić, co może zrobić wątek użytkownika i co może zrobić wątek jądra?


1
Odpowiedź na to pytanie została już udzielona na stronie SO: stackoverflow.com/questions/5957570/kernel-space-vs-user-space
Shadok

Cóż, pytanie zostało zadane, ale nie udzielono prawidłowej odpowiedzi. Odpowiedzi na wszystkie 5 lub 6 pytań dotyczyły przestrzeni użytkownika i przestrzeni jądra.
Fasih Khatib

1
Myślę, że definicja Dave'a Ragera jest zwięzła i precyzyjna: „Przestrzeń jądra i przestrzeń użytkownika to oddzielenie uprzywilejowanych funkcji systemu operacyjnego i ograniczonych aplikacji użytkownika”
Shadok

Odpowiedzi:


13

Wątek jądra, zwany czasem LWP (Lightweight Process), jest tworzony i planowany przez jądro. Wątki jądra są często droższe w tworzeniu niż wątki użytkownika, a wywołania systemowe do bezpośredniego tworzenia wątków jądra są bardzo specyficzne dla platformy.

Wątek użytkownika jest zwykle tworzony przez bibliotekę wątków, a harmonogramem zarządza sama biblioteka wątków (która działa w trybie użytkownika). Wszystkie wątki użytkownika należą do procesu, który je utworzył. Zaletą wątków użytkownika jest to, że są one przenośne. Główną różnicę można zauważyć podczas korzystania z systemów wieloprocesorowych. Wątków użytkowników całkowicie zarządzanych przez bibliotekę wątków nie można uruchamiać równolegle na różnych procesorach, chociaż oznacza to, że będą działały dobrze w systemach jednoprocesorowych. Ponieważ wątki jądra korzystają z harmonogramu jądra, różne wątki jądra mogą działać na różnych procesorach. Wiele systemów stosuje wątki w różny sposób,

Model wielowątkowości wątków odwzorowuje procesy wielu użytkowników bezpośrednio na jeden wątek jądra, wątek jądra można uważać za główny proces. Model wątków jeden do jednego odwzorowuje każdy wątek użytkownika bezpośrednio na jeden wątek jądra. Model ten umożliwia równoległe przetwarzanie w systemach wieloprocesorowych. Każdy wątek jądra może być uważany za VP (Virtual Process) zarządzany przez program planujący.

Źródło: Odpowiedzi

Informacje można także znaleźć w Wikipedii, rozdział 3 - 3 Procesy, wątki jądra, wątki użytkownika i włókna:

Wątek


Nie sądzę, że dobrym pomysłem jest kopiowanie z pozornie nie wiedząc dokładnie, o co tak naprawdę jest ten argument i nie znając całkowicie odpowiedzi. Czy LWP zwykle nie jest tworzony na wątku jądra jako pomost między tym ostatnim a wątkiem użytkownika? Również ta odpowiedź jest bardzo myląca, ponieważ ciągle zmienia terminologię, a na koniec nie rozumiesz, czy na przykład wątek jądra jest procesem itp.
nbro
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.