background image

 

 

1

Procesy Opis i 

zarządzanie

Opracowanie wykładu: Zbigniew Sołtys na podst. Systemy Operacyjne - W. 

Stallings

Niewiedza nie jest prostym brakiem wiedzy, 
lecz postawą, postawą odmowy, 
jest niezgodą na przyjęcie wiedzy.

background image

 

 

2

Wymagania w stosunku 

do systemu 

operacyjnego

Wykonywanie wielu procesów w 
celu pełnego wykorzystania czasu 
procesora przy zapewnieniu 
krótkiego czasu odpowiedzi. 

Przydzielanie zasobów procesom

Wspieranie komunikacji pomiędzy 
procesami i tworzenia procesów 
przez użytkowników. 

background image

 

 

3

Zarządzanie 

wykonywaniem aplikacji

Zasoby są dostępne dla wielu 
aplikacji

Procesor jest przełączany 
pomiędzy wiele aplikacji

Procesor i urządzenia I/O mogą 
dzięki temu być 
wykorzystywane optymalnie

background image

 

 

4

Proces

Jest to program w stadium 

wykonywania

Instancja programu uruchomionego 

na komputerze

Instancja ta jest przypisana do 

procesora i wykonywana z jego 

użyciem

Zadanie charakteryzujące się 

wykonywaniem sekwencji poleceń, 

aktualnym stanem i przypisanym 

zbiorem instrukcji systemowych.

background image

 

 

5

Elementy Procesu

Identyfikator

Stan

Priorytet

Licznik programowy

Wskaźniki do pamięci

Dane kontekstowe

Informacja o stanie I/O

Informacje rozliczeniowe 

(accounting)

background image

 

 

6

Blok kontrolny Procesu

Zawiera informacje o procesie

Jest tworzony  i zarządzany 
przez system

Pozwala obsługiwać wiele 
procesów w systemie

background image

 

 

7

Process Control Block

background image

 

 

8

Śledzenie wykonywania 

procesu (trace)

Sekwencja instrukcji 
wykonywanych w ramach 
procesu 

Zarządca przełącza procesor 
pomiędzy procesami

background image

 

 

9

Example Execution

background image

 

 

10

Trace of Processes

background image

 

 

11

background image

 

 

12

Dwustanowy model 

Procesu

Proces może być w jednym ze 
stanów 

 

Wykonywany
Nie wykonywany

background image

 

 

13

Proces nie wykonywany 

– w kolejce

background image

 

 

14

Tworzenie procesu

- okoliczności

background image

 

 

15

Kończenie procesu

background image

 

 

16

Kończenie procesu

background image

 

 

17

Procesy

Nie wykonywane

Gotowe do wykonania

Zablokowane

Oczekujące na  I/O

Zarządca nie może wybierać 
procesów z kolejki według 
długości czasu oczekiwania 
ponieważ niektóre procesy mogą 
być zablokowane.

background image

 

 

18

Pięciostanowy Model 

Procesu

Running - wykonywany

Ready – gotowy do wykonania

Blocked - zablokowany

New – nowo utworzony

Exit – zakończenie procesu

background image

 

 

19

Pięciostanowy Model 

Procesu

background image

 

 

20

Stany Procesu

background image

 

 

21

Dwie kolejki

background image

 

 

22

Wiele kolejek 

zablokowanych 

procesów

background image

 

 

23

Procesy zawieszone

Procesor jest szybszy niż I/O może się 

więc zdarzyć że wszystkie procesy 

będą oczekiwać na I/O

Wymiata się te procesy na dysk w 

celu uwolnienia pamięci (i 

załadowania nowych procesów)

Stan zablokowany ma miejsce gdy 

zawieszony proces jest wymiatany 

Nowe stany procesu to

Zablokowany/zawieszony

Gotowy/zawieszony

background image

 

 

24

Pojedynczy stan 

zawieszenia

background image

 

 

25

Podwójny stan 

zawieszenia

background image

 

 

26

Powody zawieszenia

background image

 

 

27

Procesy i zasoby

background image

 

 

28

Struktury kontrolne 

systemu operacyjnego

Aktualna informacja o bieżącym 
stanie każdego procesu i 
zasobów 

Tabele utrzymywane dla 
każdego uruchomionego 
procesu

background image

 

 

29

Tablice pamięci

Służą alokacji głównej pamięci 
dla procesów

Służą alokacji pomocniczej 
pamięci dla procesów

Zawierają atrybuty pozwalające 
udostępniać pamięć 

Zawierają informacje potrzebne 
do zarządzania pamięcią 
wirtualną

background image

 

 

30

Tablice I/O

Informacje czy I/O jest dostępne 
czy też przypisane do procesu

Status operacji I/O 

Lokalizacja w pamięci głównej 
używanej jako zasób w 
operacjach transferu do lub z 
I/O

background image

 

 

31

Tablice plików

Istnienie plików

Lokalizacja w pamięci 
pomocniczej

Aktualny stan

Atrybuty

Te informacje są zazwyczaj 
zarządzane przez podsystem 
obsługi plików

background image

 

 

32

Tablice procesów

Lokalizacja procesu

Attributes bloku kontrolnego 
procesu

Program

Dane

Stos

background image

 

 

33

Process Image

background image

 

 

34

background image

 

 

35

Blok kontrolny procesu

Identyfikacja procesu

Identyfikatory

W bloku kontrolnym procesu są:

Identyfikator procesu

Identyfikator przodka procesu (parent 
process) 

Identyfikator użytkownika – właściciela 
procesu

background image

 

 

36

Blok kontrolny procesu

Informacja o stanie procesu

Rejestry dostępne przez 
użytkownika

Są to rejestry dostępne z poziomu 
języka maszynowego podczas 
wykonywania procesu w trybie 
użytkownika 

Zazwyczaj jest od 8 do 32 takich 
rejestrów, niektóre rozwiązania RISC 
mogą posiadać ponad 100 rejestrów. 

background image

 

 

37

Blok kontrolny procesu

Informacje o stanie procesora

Rejestry kontroli i stanu

Jest to zbiór rejestrów procesora 
wykorzystywanych do kontroli operacji na 
procesorze . Są to:

Licznik programowy: Zawiera adres 
następnej instrukcji do wykonania

Kody stanu: Wynik ostatniej operacji 
arytmetycznej lub logicznej (np. znak, zero, 
równy, przepełnienie)

Informacja o stanie: Stan obsługi przerwań 
aktywny/pasywny,  flagi, tryb wykonywania

background image

 

 

38

Blok kontrolny procesu

Informacje o stanie procesora

Wskaźniki stosu

Każdy proces posiada przypisany do 
niego jeden lub więcej last-in-first-out 
(LIFO) stos systemowy. Stos jest 
używany do przechowywania 
parametrów i adresów odwołań dla 
procedur i wywołań systemowych. 
Wskaźnik stosu wskazuje na adres 
wierzchołka.

background image

 

 

39

Blok kontrolny procesu

Informacje kontrolne o procesie

Informacje o stanie i szeregowaniu

Potrzebne do realizacji szeregowania przez system 

operacyjny. Są to:

Stan procesu: określa gotowość procesu do 

szeregowania w celu wykonania (np. uruchomiony, 

gotowy, oczekujący, zatrzymany).

Priorytet: Jedno lub więcej pól określających priorytet 

procesu. W niektórych systemach potrzebne jest kilka 

wartości (np. domyślna, aktualna, maksymalna 

dopuszczalna)

Informacje związane z szeregowaniem: Zależą od 

użytego algorytmu szeregowania. Np. czas oczekiwania 

procesu, czas wykorzystany procesora, ostatni czas 

dostępu. 

Wydarzenie: Informacja o wydarzeniu na które oczekuje 

proces w stanie zawieszenia

background image

 

 

40

Blok kontrolny procesu

Informacje kontrolne o procesie

Struktura danych

Procesy mogą być powiązane z innymi 
procesami poprzez kolejki, pętle lub 
inne struktury. Np.. Wszystkie procesy 
oczekujące o tym samym priorytecie 
mogą być powiązane w kolejkę. Procesy 
mogą również wskazywać na relacje 
potomek – przodek z innymi procesami. 
W bloku kontrolnym mogą znajdować 
się wskaźniki do tych procesów. 

background image

 

 

41

Blok kontrolny procesu

Informacje kontrolne o procesie

Komunikacja pomiędzy procesami

Flagi, sygnały i wiadomości mogą być 

związane z komunikacją pomiędzy dwoma 

niezależnymi procesami. Niektóre z tych 

informacji są przechowywane w bloku 

kontrolnym procesu. 

Uprawnienia procesów

   Procesy mają uprawnienia w znaczeniu – 

pamięć która może być użyta, typy 

instrukcji które mogą być wykonane, a 

także zasoby i usługi systemowe które 

mogą być użyte . 

background image

 

 

42

Blok kontrolny procesu

Informacje kontrolne o procesie

Zarządzanie pamięcią

This section may include pointers to 

segment and/or page tables that describe 

the virtual memory assigned to this 

process. 

Resource Ownership and Utilization

Resources controlled by the process may 

be indicated, such as opened files. A 

history of utilization of the processor or 

other resources may also be included; this 

information may be needed by the 

scheduler. 

background image

 

 

43

Processor State 

Information

Contents of processor registers

User-visible registers

Control and status registers

Stack pointers

Program status word (PSW)

contains status information

Example: the EFLAGS register on 
Pentium machines

background image

 

 

44

Pentium II EFLAGS 

Register

background image

 

 

45

Modes of Execution

User mode

Less-privileged mode

User programs typically execute 
in this mode

System mode, control mode, or 
kernel mode

More-privileged mode

Kernel of the operating system

background image

 

 

46

Process Creation

Assign a unique process identifier

Allocate space for the process

Initialize process control block

Set up appropriate linkages

Ex: add new process to linked list 
used for scheduling queue

Create of expand other data 
structures

Ex: maintain an accounting file

background image

 

 

47

When to Switch a 

Process

Clock interrupt

process has executed for the 
maximum allowable time slice

I/O interrupt

Memory fault

memory address is in virtual 
memory so it must be brought into 
main memory

background image

 

 

48

When to Switch a 

Process

Trap

error or exception occurred

may cause process to be moved to 
Exit state

Supervisor call

such as file open

background image

 

 

49

Change of Process 

State

Save context of processor including 

program counter and other registers

Update the process control block of 

the process that is currently in the 

Running state

Move process control block to 

appropriate queue – ready; blocked; 

ready/suspend

Select another process for execution

background image

 

 

50

Change of Process 

State

Update the process control 
block of the process selected

Update memory-management 
data structures

Restore context of the selected 
process

background image

 

 

51

Execution of the 

Operating System

Non-process Kernel

Execute kernel outside of any process

Operating system code is executed as a 

separate entity that operates in 

privileged mode

Execution Within User Processes

Operating system software within 

context of a user process

Process executes in privileged mode 

when executing operating system code

background image

 

 

52

background image

 

 

53

Execution of the 

Operating System

Process-Based Operating 
System

Implement operating system as a 
collection of system processes

Useful in multi-processor or multi-
computer environment

background image

 

 

54

UNIX SVR4 Process 

Management

Most of the operating system 
executes within the environment of a 
user process

background image

 

 

55

UNIX Process Image

background image

 

 

56

background image

 

 

57

background image

 

 

58

UNIX Process States

background image

 

 

59


Document Outline