Procesy, wątki, wielozadaniowość, maszyna wirtualna 1. Proces

Transkrypt

Procesy, wątki, wielozadaniowość, maszyna wirtualna 1. Proces
Procesy, wątki, wielozadaniowość, maszyna wirtualna
1. Proces
Proces to egzemplarz wykonywanego programu posiadający własną przestrzeń adresową. Procesowi
zostają przydzielone następujące zasoby:
 procesor
 pamięć
 dostęp do urządzeń wejścia-wyjścia
 pliki
Za zarządzanie procesami odpowiada jądro systemu operacyjnego. Wykonanie procesu przebiega
sekwencyjnie (etapami, krok po kroku). Proces może przyjmować kilka stanów:
 działający
 czekający na udostępnienie przez system operacyjny zasobów
 przeznaczony do zniszczenia
 właśnie tworzony
W skład procesu wchodzi:
 kod programu
 licznik rozkazów
 stos (liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu
są pobierane)
 sekcja danych
2. Wątek
Wątek to jednostka wykonawcza w obrębie jednego procesu, będąca kolejnym ciągiem instrukcji
wykonywanym w obrębie tych samych danych (tej samej przestrzeni adresowej). Wątki tego samego
procesu korzystają ze wspólnego kodu i danych, mają jednak oddzielne stosy. W systemach
wieloprocesorowych lub z wywłaszczeniem (wywłaszczenie – wstrzymanie przez scheduler (algorytm
szeregujący odpowiedzialny za przydzielanie czasu procesora programom) aktualnie wykonywanego
zadania (procesu, wątku) w celu umożliwienia działania innemu zadaniu) wątki mogą być wykonywane
równocześnie. Możliwość uruchomienia większej ilości wątków w jednym procesie nazywamy
multithreading.
3. Wielozadaniowość
Wielozadaniowość (wieloprocesowość) to cecha jądra systemu operacyjnego umożliwiająca
jednoczesne wykonanie więcej niż jednego procesu. Za wielozadaniowość odpowiada scheduler
Algorytm ten kolejkuje procesy w zależności od ich priorytetu. W takim systemie każdy proces jest
wykonywany przez pewien odcinek czasu po czyn następuje przerwanie jego pracy przez scheduler do
momentu, gdy zostanie mu ponownie przydzielony czas procesora.
4. Maszyna wirtualna
Maszyna wirtualna to środowisko działające w pamięci komputera wyglądające z punktu widzenia
aplikacji jak samodzielny komputer. Są w niej dostępne wszystkie zasoby, w który jest wyposażony
fizycznie komputer i które są wymagane przez aplikacje podczas jej działania. Za przydzielenie aplikacji
wymaganych przez nią zasobów odpowiada menadżer maszyn wirtualnych. Świadczy on 3 podstawowe
rodzaje usług:
 szeregowanie procesów
 stronicowanie pamięci
 obsługa aplikacji wymagających wyłącznego dostępu do zasobów systemowych