wtorek,
Process Control Block
Blok kontrolny procesu (PCB, ang. Process Control Block) jest strukturą danych w systemach operacyjnych, używaną do przechowywania informacji niezbędnych do zarządzania procesami. Każdy proces w systemie ma własny PCB, który jest tworzony i utrzymywany przez jądro systemu operacyjnego. PCB zawiera różne rodzaje informacji, które są niezbędne do efektywnego planowania i zarządzania procesami.
Zawartość PCB
Implementacje PCB różnią się w zależności od systemu operacyjnego. Poniżej znajdziesz typowo spotykane elementy.
Identyfikator procesu (PID): Unikalny numer identyfikacyjny przypisany każdemu procesowi, umożliwiający jednoznaczną identyfikację procesu w systemie.
Stan procesu: Aktualny stan procesu, np. gotowy (ready), wykonujący się (running), oczekujący (waiting), zakończony (terminated) itp.
Licznik rozkazów (Program Counter): Zawiera adres następnego rozkazu do wykonania w programie procesu, co umożliwia kontynuację wykonania procesu od miejsca, w którym został ostatnio zatrzymany.
Rejestry procesora: Zapisuje aktualne wartości rejestrów procesora dla procesu, w tym rejestry akumulatora, indeksowe, stosu i inne specyficzne dla architektury rejestry.
Informacje o zarządzaniu pamięcią: Obejmuje informacje takie jak wskaźniki do tabel stron, segmentów lub innych struktur danych używanych do zarządzania pamięcią procesu.
Informacje o planowaniu: Priorytet procesu, wskaźniki do kolejek planowania, oraz inne specyficzne informacje używane przez algorytmy planowania procesora.
Statystyki procesu: Informacje dotyczące wykorzystania zasobów przez proces, takie jak zużycie procesora, liczba wykonywanych operacji we/wy, czas rozpoczęcia i zakończenia itp.
Informacje o kontekście we/wy: Adresy urządzeń we/wy używanych przez proces, otwarte pliki, oraz inne informacje dotyczące operacji wejścia i wyjścia.
Funkcje PCB
Zarządzanie procesami: PCB jest niezbędne do zarządzania procesami w systemie operacyjnym, umożliwiając systemowi śledzenie wszystkich niezbędnych informacji o każdym procesie.
Przełączanie kontekstu: Podczas zmiany wykonywanego procesu (context switch), system zapisuje stan bieżącego procesu w jego PCB i przywraca stan innego procesu, używając jego PCB, co umożliwia wielozadaniowość i efektywne wykorzystanie procesora.
Synchronizacja i komunikacja: PCB umożliwia synchronizację i komunikację między procesami poprzez przechowywanie informacji o zasobach i stanach, które mogą być współdzielone lub wymagane przez inne procesy.
Bezpieczeństwo i izolacja: PCB pomaga w izolowaniu procesów od siebie, co zapewnia bezpieczeństwo systemu poprzez zapobieganie nieautoryzowanemu dostępu do zasobów i danych innych procesów.