SO3 zarządzanie procesami

background image

1

Systemy operacyjne

Zarządzanie procesami

Wykład 3

background image

2

Planowanie procesów

 Celem wieloprogramowania jest jak najlepsze

wykorzystanie procesora - powinien on zawsze

wykonywać jakiś proces. W systemie

jednoprocesorowym może być tylko jeden proces

aktywny. Wszystkie pozostałe procesy muszą czekać do

czasu, aż procesor będzie wolny i będzie można

przydzielić go jednemu z nich. Zapewnienie

najwyższej przepustowości procesora (liczba procesów

kończonych w jednostce czasu) wymaga planowania

przydziału procesora dla kolejnych procesów.

 W podziale czasu przełączanie procesora do

procesów powinno następować tak często, aby każdy z

wykonywanych programów mógł współpracować z

użytkownikami w sposób interaktywny.

background image

3

Kolejki planowania (1)

Wchodzące do systemu procesy trafiają do
kolejki
zadań
- zbioru wszystkich procesów
systemu – i oczekują na przydział PAO.
Kolejka procesów gotowych - zbiór wszystkich
procesów, które oczekują w już w PAO i są gotowe.
Kolejki do urządzeń - zbiór procesów
oczekujących na konkretne urządzenie WE/WY.

background image

4

Kolejki planowania (2)

background image

5

Kolejki planowania (3)

Po przydzieleniu procesowi procesora może

wystąpić jedno z następujących zdarzeń:

 proces może zamówić operację WE/WY, wskutek
czego trafia do kolejki procesów oczekujących na
WE/WY,

 proces może utworzyć nowy proces i oczekiwać
na jego zakończenie,

 w wyniku przerwania proces może zostać
przymusowo usunięty z procesora z powrotem do
kolejki procesów gotowych.

background image

6

Kolejki planowania (4)

Planowanie procesów ilustruje diagram

kolejek na kolejnym slajdzie.

Każdy prostokąt przedstawia kolejkę,
kółka to zasoby obsługujące kolejki,
strzałki wskazują kierunek przepływu procesów w
systemie.

background image

7

Kolejki planowania (5)

background image

8

Planiści (1)

Wyboru gotowego procesu do

wykonania dokonuje proces
systemowy zwany planistą
(scheduler)
.

Planowanie jest podstawową funkcją

S.O. Prawie wszystkie zasoby
komputera przydzielane są wg
jakiegoś planu.

background image

9

Planiści (2)

planista krótkoterminowy (planista
przydziału procesora)
- wybiera jeden proces,
który ma być wykonywany jako następny i
przydziela mu procesor.

planista długoterminowy (planista zadań) -
wybiera procesy przechowywane w pamięci
masowej (dysk) i ładuje je do pamięci, do kolejki
zadań (kolejki procesów gotowych);

background image

10

Planiści (3)

planista krótkoterminowy musi bardzo często

wybierać nowy proces dla procesora

(milisekundy). Ten planista musi być bardzo

szybki (gdyż może podejmować działanie nawet

raz na 10 milisekund).

planista długoterminowy działa o wiele

rzadziej (sekundy, minuty) i może być wolniejszy;

planista długoterminowy nadzoruje stopień

wieloprogramowości (liczba procesów w pamięci).

background image

11

Planiści (4)

Procesy można podzielić na:

• procesy ograniczone przez WE/WY: większość czasu
spędzają na wykonywaniu operacji WE/WY;
• procesy ograniczone przez dostęp do procesora.

Wniosek:

Planista długoterminowy musi dobrać

mieszankę procesów.  

Planista długoterminowy może być w niektórych

systemach nieobecny lub mocno zredukowany. Np. systemy z
podziałem czasu często nie mają żadnego planisty
długoterminowego i umieszczają każdy nowy proces w pamięci
pod opieką planisty krótkoterminowego.

background image

12

Planista pośredni

W niektórych SO z podziałem czasu może
występować pośredni poziom planowania i planista
pośredni
(średnioterminowy).

Dokonuje on wymiany procesu poprzez wysyłanie go
z pamięci operacyjnej na zewnątrz i ponowne
wprowadzenie.

Cel: lepszy dobór procesów w pamięci operacyjnej
lub
zwolnienie miejsca w pamięci, gdy żądania pamięci
przekraczają jej bieżący obszar.

background image

13

Uzupełnienie diagramu kolejek

o planowanie

średnioterminowe

background image

14

Przełączanie kontekstu

 gdy CPU przełącza się do innego procesu to

system musi przechować stan starego procesu i

załadować przechowywany stan nowego procesu;

nazywa się to przełączaniem kontekstu ;

 czas przełączania kontekstu jest obciążeniem dla

systemu, które nie jest związane z żadną użyteczną

pracą ;

 czas ten zależy w dużym stopniu od możliwości

sprzętu.

background image

15

Program koordynujący

Program koordynujący (dispatcher) jest

modułem systemu, który faktycznie

przekazuje sterowanie procesora do procesu

wybranego przez krótkoterminowego

planistę. Do obowiązków programu

koordynacyjnego należy:

• przełączanie kontekstu;
• przełączanie do trybu użytkownika;
• wykonanie skoku do odpowiedniego adresu

w programie użytkowym w celu wznowienia

działania programu.

background image

16

Przydział procesora

Decyzje o przydziale procesora mogą zapadać gdy:
• proces przechodzi ze stanu wykonania do czekania

(np. zamówienie na WE/WY),

• proces zakończył działanie,
• proces przeszedł od stanu wykonania do stanu

gotowości (np. wskutek wystąpienia przerwania),

• proces przeszedł ze stanu czekania do stanu

gotowości (np. po zakończeniu operacji WE/WY).

Jeśli planowanie odbywa się tylko w dwu pierwszych

przypadkach to jest to

niewywłaszczeniowy

schemat planowania. W przeciwnym razie mówimy
o

wywłaszczeniowym

schemacie planowania.

background image

17

Algorytmy planowania -

kryteria

Kryteria wyboru algorytmów planowania:

-

wykorzystanie procesora

(w rzeczywistym systemie 40-90%),

-

przepustowość

(liczba procesów kończonych w jednostce czasu) może wynosić od

jednego procesu na godzinę do 10 procesów na 1 sekundę,

-

czas cyklu przetwarzania

(liczony od nadejścia procesu do systemu do zakończenia

procesu = czekanie na wejście do pamięci+ czekanie w kolejce procesów gotowych

do wykonania+ wykonywanie procesu przez procesor + wykonywanie operacji

WE/WY),

-

czas oczekiwania

(procesu w kolejce procesów gotowych). Algorytm planowania nie

ma wpływu na czas w którym proces działa lub wykonuje operacje wejścia-wyjścia.

Oddziałuje tylko na czas spędzany przez proces w kolejce procesów gotowych do

wykonania. Dlatego rozważa się czas oczekiwania każdego procesu.

-

czas odpowiedzi

(reakcji)- ile czasu upływa od przedłożenia zamówienia do

rozpoczęcia pierwszej odpowiedzi.

?

background image

18

Dąży się do maksymalizacji

wykorzystania procesora i
zwiększenia przepustowości oraz

do minimalizacji czasu cyklu

przetwarzania, oczekiwania i
odpowiedzi

background image

19

Przykładowe algorytmy

planowania przydziału

procesora

background image

20

Algorytm -pierwszy nadszedł - pierwszy

obsłużony FCFS (First-Come, First-Served),
realizacja za pomocą kolejki FIFO.

Algorytm jest niewywłaszczający.

Po objęciu kontroli nad procesorem proces

utrzymuje ją do czasu, aż sam zwolni procesor
wskutek zakończenia swego działania albo
wskutek żądania operacji We-Wy.

Metoda charakteryzuje się długim średnim

czasem oczekiwania.

background image

21

Najpierw najkrótsze zadanie (proces) SJF

(Shortest-Job-First). Algorytm ten wiąże z
każdym procesem długość jego najbliższej
z przyszłych faz procesora.

Ponieważ nie można poznać długości następnej fazy procesora

trzeba ją przybliżyć. Przyjmuje się założenie, że długość
następnej fazy procesora będzie podobna do długości faz
poprzednich.

Algorytm SJF może być wywłaszczający lub

niewywłaszczający.

background image

22

Planowanie priorytetowe - każdy proces otrzymuje

priorytet (np. z przedziału 0-7 czy 0-4095).

Procesor przydziela się temu procesowi, którego

priorytet jest najwyższy.

Problemem jest nieskończone blokowanie

[1]

Rozwiązaniem może być „postarzanie” procesów

czyli podwyższanie priorytetów procesów długo

oczekujących w systemie np. co kilkanaście minut.

Planowanie priorytetowe może być wywłaszczające

lub niewywłaszczające.

[1]

W 1973 r. W MIT, w wycofanym z eksploatacji IBM 7094 wykryto

nisko priorytetowy proces przedłożony do wykonania w 1967 i nie

wykonany.

background image

23

W planowaniu rotacyjnym (round-robin)- ustala

się kwant czasu (rzędu 10-100 milisekund).

Planista przegląda kolejkę procesów gotowych

do wykonania i każdemu procesowi przydziela

odcinek czasu nie dłuższy od 1 kwantu czasu.

Kolejka procesów gotowych do wykonania traktowana

jest jak kolejka cykliczna.

Algorytm jest wywłaszczający

.

Algorytm zaprojektowano specjalnie dla

systemów z podziałem czasu. Średni czas

oczekiwania często bywa dość długi.

background image

24

Różnorodność algorytmów planowania powoduje,

iż potrzebne są metody pomagające wybierać
właściwe algorytmy.

W metodach analitycznych stosuje się analizę

matematyczną do określania zachowania
algorytmu.

Metody symulacyjne pozwalają określić

zachowanie algorytmu dzięki naśladowaniu jego
działania na reprezentatywnych próbkach
procesów oraz gromadzeniu charakteryzujących
go wyników obliczeń statystycznych.

background image

25

Planowanie w systemach

wieloprocesorowych

Systemy heterogeniczne
• Każdy z procesorów ma własną kolejkę procesów

gotowych i własny algorytm planowania.

Systemy homogeniczne
• Używa się wspólnej kolejki procesów gotowych.

Procesy otrzymują dowolny z dostępnych

procesorów.

• Planowanie może być wtedy zorganizowane na

dwa sposoby:

• - każdy procesor sam planuje swoje działanie,
• - jeden procesor spełnia rolę planisty pozostałych

procesorów (wieloprzetwarzanie asymetryczne).


Document Outline


Wyszukiwarka

Podobne podstrony:
SO3 zarządzanie procesami powtórzenie
5 Systemy Operacyjne 23 11 2010 Zarządzanie procesami
Zarządzanie procesowe i systemowe
14 Klepacki Martyniuk Zarzadzanie procesami
ZARZĄDZANIE PROCESAMI
Zarządzanie procesami 2
plan pracy zarządzania procesami (1)
zarzadzanie procesami wyklady
3 zagadnienia do kolokwium zarzadzanie procesami 14 2015
Projekt na Zarządzanie Procesami
Zarzadzanie procesami NN, Zarządzanie Inwestycjami i Nieruchomościami UWM, Zarządzanie procesami
Zarzadzanie procesami Wyklady 2009-2010
Sciaga zarzadanie procesami gospodarczymi, Zarządzanie i marketing
Zarządzanie procesami, zp w5, WYŻSZA SZKOŁA OFICERSKA
Zarządzanie procesami, zarzadzanie procesami -sylabus wyklad, Wydział Ekonomiczno - Menadżerski
ZARZĄDZANIE PROCESOWE I SYSTEMOWE
zarzadzanie procesami sciaga

więcej podobnych podstron