Procesy i Wątki w Systemach Operacyjnych

Procesy i wątki wykonywane przez jądro systemu operacyjnego

System operacyjny zarządza wykonywaniem zadań za pomocą procesów i wątków. Jądro systemu odgrywa kluczową rolę w zarządzaniu tymi jednostkami, przydzielając zasoby, synchronizując ich działanie oraz dbając o ich bezpieczeństwo.


1. Procesy w systemie operacyjnym

Proces to podstawowa jednostka pracy w systemie operacyjnym. Jest to program w trakcie wykonywania, posiadający własne zasoby (pamięć, deskryptory plików itp.). Każdy proces składa się z:

1.1. Rodzaje procesów

1.2. Stany procesu

Każdy proces może znajdować się w jednym z kilku stanów:

1.3. Zarządzanie procesami

System operacyjny zarządza procesami za pomocą:


2. Wątki w systemie operacyjnym

Wątek (ang. thread) to najmniejsza jednostka wykonywalna w obrębie procesu. Wątki współdzielą:

Wątki pozwalają na efektywne zarządzanie wielozadaniowością, np. w aplikacjach obsługujących wiele operacji jednocześnie (np. przeglądarki internetowe).

2.1. Rodzaje wątków

2.2. Zalety stosowania wątków

2.3. Przełączanie kontekstu

System operacyjny może przełączać procesy i wątki, co wiąże się z:

Przełączanie kontekstu między wątkami jest szybsze niż między procesami, ponieważ wątki współdzielą pamięć i nie wymagają pełnej rekonfiguracji przestrzeni adresowej.


3. Procesy a wątki – porównanie

Cechy Proces Wątek
Pamięć Oddzielna dla każdego procesu Współdzielona między wątkami w obrębie procesu
Koszt przełączania Wysoki (przełączanie kontekstu obejmuje pamięć i zasoby) Niski (dzielą pamięć i zasoby)
Komunikacja Wymaga mechanizmów IPC Może odbywać się bezpośrednio przez zmienne globalne
Stabilność Awaria jednego procesu nie wpływa na inne Awaria wątku może zakończyć cały proces

4. Wykonanie procesów i wątków w jądrze

Jądro systemu operacyjnego zarządza wykonywaniem procesów i wątków poprzez:

4.1. Przykłady poleceń do zarządzania procesami w Linux


Podsumowanie

Procesy i wątki są kluczowymi elementami działania systemu operacyjnego. Procesy zapewniają izolację i bezpieczeństwo, podczas gdy wątki umożliwiają wydajne wykonywanie wielozadaniowości. Jądro systemu operacyjnego zarządza nimi poprzez planowanie, synchronizację i mechanizmy komunikacji.