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