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?
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?
Odpowiedzi:
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: