System operacyjny - procesy
Proces
Proces to w zasadzie program w trakcie wykonywania. Wykonanie procesu musi postępować w sposób sekwencyjny.
Proces definiuje się jako jednostkę, która stanowi podstawową jednostkę pracy do zaimplementowania w systemie.
Mówiąc prościej, programy komputerowe piszemy w pliku tekstowym i po uruchomieniu tego programu staje się on procesem, który wykonuje wszystkie zadania wymienione w programie.
Gdy program jest ładowany do pamięci i staje się procesem, można go podzielić na cztery sekcje: stos, stertę, tekst i dane. Poniższy obraz przedstawia uproszczony układ procesu w pamięci głównej -
SN | Opis podzespołu |
---|---|
1 | Stack Stos procesów zawiera tymczasowe dane, takie jak parametry metody / funkcji, adres zwrotny i zmienne lokalne. |
2 | Heap Jest to pamięć przydzielana dynamicznie procesowi podczas jego wykonywania. |
3 | Text Obejmuje to bieżącą aktywność reprezentowaną przez wartość licznika programu i zawartość rejestrów procesora. |
4 | Data Ta sekcja zawiera zmienne globalne i statyczne. |
Program
Program to fragment kodu, który może być pojedynczą linią lub milionami linii. Program komputerowy jest zwykle napisany przez programistę w języku programowania. Na przykład tutaj jest prosty program napisany w języku programowania C -
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
Program komputerowy to zbiór instrukcji, które wykonują określone zadanie po wykonaniu przez komputer. Porównując program z procesem, możemy wywnioskować, że proces jest dynamiczną instancją programu komputerowego.
Część programu komputerowego, która wykonuje dobrze zdefiniowane zadanie, nazywana jest plikiem algorithm. Zbiór programów komputerowych, bibliotek i powiązanych danych jest określany jako asoftware.
Cykl życia procesu
Kiedy proces jest wykonywany, przechodzi przez różne stany. Te etapy mogą się różnić w różnych systemach operacyjnych, a nazwy tych stanów również nie są znormalizowane.
Ogólnie proces może mieć jednocześnie jeden z następujących pięciu stanów.
SN | Stan i opis |
---|---|
1 | Start Jest to stan początkowy, w którym proces jest uruchamiany / tworzony po raz pierwszy. |
2 | Ready Proces oczekuje na przypisanie do procesora. Gotowe procesy czekają na przydzielenie im procesora przez system operacyjny, aby mogły działać. Proces może wejść w ten stan poStart stan lub podczas uruchamiania, ale przerywany przez program planujący w celu przypisania procesora do innego procesu. |
3 | Running Po przypisaniu procesu do procesora przez program planujący system operacyjny stan procesu jest ustawiany na uruchomiony, a procesor wykonuje jego instrukcje. |
4 | Waiting Proces przechodzi do stanu oczekiwania, jeśli musi czekać na zasób, na przykład oczekuje na dane wejściowe użytkownika lub czeka, aż plik stanie się dostępny. |
5 | Terminated or Exit Gdy proces zakończy swoje działanie lub zostanie zakończony przez system operacyjny, jest przenoszony do stanu zakończenia, w którym oczekuje na usunięcie z pamięci głównej. |
Blok sterowania procesem (PCB)
Blok kontroli procesu to struktura danych utrzymywana przez system operacyjny dla każdego procesu. Płytka drukowana jest identyfikowana przez całkowity identyfikator procesu (PID). PCB przechowuje wszystkie informacje potrzebne do śledzenia procesu, zgodnie z poniższą tabelą -
SN | Informacje i opis |
---|---|
1 | Process State Bieżący stan procesu, tj. Czy jest gotowy, działa, oczekuje lub cokolwiek innego. |
2 | Process privileges Jest to wymagane, aby zezwolić / zabronić dostępu do zasobów systemowych. |
3 | Process ID Unikalna identyfikacja dla każdego procesu w systemie operacyjnym. |
4 | Pointer Wskaźnik do procesu nadrzędnego. |
5 | Program Counter Program Counter to wskaźnik do adresu następnej instrukcji, która ma zostać wykonana dla tego procesu. |
6 | CPU registers Różne rejestry procesora, w których proces musi być przechowywany w celu wykonania dla stanu pracy. |
7 | CPU Scheduling Information Priorytet procesu i inne informacje dotyczące planowania, które są wymagane do zaplanowania procesu. |
8 | Memory management information Obejmuje to informacje o tabeli stron, limitach pamięci, tabeli segmentów w zależności od pamięci używanej przez system operacyjny. |
9 | Accounting information Obejmuje to ilość procesora używanego do wykonania procesu, limity czasowe, identyfikator wykonania itp. |
10 | IO status information Obejmuje to listę urządzeń we / wy przydzielonych do procesu. |
Architektura PCB jest całkowicie zależna od systemu operacyjnego i może zawierać różne informacje w różnych systemach operacyjnych. Oto uproszczony schemat PCB -
Płytka PCB jest utrzymywana dla procesu przez cały okres jego życia i jest usuwana po zakończeniu procesu.