Użytkownicy, procesy i
zasoby
Koncepcja procesu
Proces jest elementarną jednostką pracy (aktywności)
zarządzaną przez system operacyjny, która ubiega się o
zasoby systemu komputerowego w celu wykonania
programu.
Proces = wykonujący się program.
Elementy składowe procesu:
program definiuje zachowanie procesu,
dane zbiór wartości przetwarzanych oraz wyniki,
zbiór zasobów tworzących środowisko wykonawcze,
blok kontrolny procesu (PCB, deskryptor) opis bieżącego
stanu procesu.
Systemy operacyjne użytk., procesy i zasoby 2
Koncepcja zasobu
Zasobem jest element sprzętowy lub
programowy systemu komputerowego,
którego brak może potencjalnie
zablokować wykonywanie programu
(przetwarzanie)
Przykłady zasobów: procesor, pamięć, plik
(dane) itp.
Systemy operacyjne użytk., procesy i zasoby 3
Podział operacji jądra systemu
w zarządzaniu proc. i zasobami
Operacje tworzenia i usuwania procesów
oraz elementarna komunikacja
międzyprocesowa.
Operacje przydziału i zwalniania jednostek
zasobów.
Elementarne operacje wejścia-wyjścia.
Procedury obsługi przerwań.
Systemy operacyjne użytk., procesy i zasoby 4
Zarządcy
Zarządca procesów (process manager)
kontroluje stany procesów w celu
efektywnego i bezpiecznego wykorzystania
współdzielonych zasobów systemu.
Zarządca zasobów (resource manager)
realizuje przydział zasobów stosownie do
żądań procesów, aktualnego stanu systemu
oraz ogólnosystemowej polityki przydziału.
Systemy operacyjne użytk., procesy i zasoby 5
Współpraca zarządców
zarządca
plików ochrona synchronizacja
obsługa
zakleszczeń
planista
zarządca zarządca
zarządca
zarządca
urządzeń pamięci
zasobów
zarządca
zasobów
zasobów
procesor
inne
urządzenia pamięć
zasoby
zarządca procesów
Systemy operacyjne użytk., procesy i zasoby 6
Struktury danych
Deskryptor procesu (blok kontrolny
procesu, PCB) używany przez zarządcę
procesów w celu rejestrowania stanu
procesu w czasie jego monitorowania i
kontroli.
Deskryptor zasobu przechowuje
informacje o dostępności i zajętości danego
typu zasobu.
Systemy operacyjne użytk., procesy i zasoby 7
Deskryptor procesu
Identyfikator procesu
Stan procesu (nowy, gotowy, oczekujący, itd.)
Identyfikator właściciela
Identyfikator przodka
Lista przydzielonych zasobów
Zawartość rejestrów procesora
Prawa dostępu (domena ochrony)
Informacje na potrzeby zarządzania pamięcią
Informacje na potrzeby planowaniu przydziału procesora
(priorytet, wskazniki do kolejek porządkujących itp.)
Informacje do rozliczeń
Systemy operacyjne użytk., procesy i zasoby 8
Stany procesu
Nowy (ang. new) proces został utworzony.
Wykonywany (ang. running) wykonywane są
instrukcje programu.
Zawieszony (oczekujący, ang. suspanded, waiting)
proces oczekuje na jakieś zdarzenie, np. na zakończenie
operacji wejścia-wyjścia, na przydział dodatkowego
zasobu, synchronizuje się z innymi procesami.
Gotowy (ang. ready) proces czeka na przydział
procesora.
Zakończony (ang. terminated) proces zakończył
działanie i zwalnia zasoby.
Systemy operacyjne użytk., procesy i zasoby 9
Cykl zmian stanów procesu
przerwanie
nowy zakończony
decyzja
wyjście
planisty
gotowy wykonywany
przyjęcie
oczekujący
zażądanie operacji wej-
zakończenie operacji
wyj lub oczekiwanie na
wej-wyj lub
zdarzenie
wystąpienie zdarzenia
Systemy operacyjne użytk., procesy i zasoby 10
Deskryptor zasobu
Identyfikator zasobu
Rodzaj zasobu
Identyfikator twórcy zasobu
Lista i liczba dostępnych jednostek zasobu
Lista (kolejka) procesów oczekujących na
jednostki danego zasobu
Procedura przydziału
Systemy operacyjne użytk., procesy i zasoby 11
Klasyfikacja zasobów
Ze względu na sposób wykorzystania
zasoby odzyskiwalne (zwrotne, ang.
reusable),
zasoby nieodzyskiwalne (niezwrotne, ang.
consumable).
Ze względu na sposób odzyskiwania
zasoby wywłaszczalne,
zasoby niewywłaszczalne.
Systemy operacyjne użytk., procesy i zasoby 12
Kolejki procesów
Kolejka zadań (ang. job queue) wszystkie procesy
systemu.
Kolejka procesów gotowych (ang. ready queue)
procesy gotowe do działania, przebywające w pamięci
głównej.
Kolejka do urządzenia (ang. device queue) procesy
czekające na zakończenie operacji wejścia-wyjścia.
Kolejka procesów oczekujących w wyniku synchronizacji
z innymi procesami (np. kolejka procesów na semaforze).
Systemy operacyjne użytk., procesy i zasoby 13
Diagram kolejek w planowaniu
procesora
kolejka procesów
gotowych
procesor
kolejka operacji
wej-wyj
zamówienie
wej-wyj operacji
wej-wyj
upłynięcie
kwantu
czasu
kolejka procesów
uśpionych
synchro-
sygnał
nizacja
Systemy operacyjne użytk., procesy i zasoby 14
Przełączanie kontekstu (ang.
context switch)
zachowanie
kontekstu w bloku
kontrolnym 1
bezczynność
proces 1
odtworzenie
kontekstu z bloku
kontrolnego 2
bezczynność bezczynność
proces 2
bezczynność bezczynność
proces 3
Systemy operacyjne użytk., procesy i zasoby 15
Planista (ang. scheduler)
Planista krótkoterminowy, planista przydziału procesora
(ang. CPU scheduler) zajmuje się przydziałem
procesora do procesów gotowych.
Planista średnioterminowy (ang. medium-term scheduler)
zajmuje się wymianą procesów pomiędzy pamięcią
główną a pamięcią zewnętrzną (np. dyskiem).
Planista długoterminowy, planista zadań (ang. long-term
scheduler, job scheduler) zajmuje się ładowaniem
nowych programów do pamięci, kontroluje stopień
wieloprogramowości, dąży do zrównoważenia procesora.
Systemy operacyjne użytk., procesy i zasoby 16
Uszczegółowiony cykl zmian
stanów procesu
przyjęcie
(decyzja
planisty
przerwanie
długoterm.)
nowy zakończony
przydział
proc. (decyzja
gotowy
planisty wykonywany
wymiana
aktywny
krótkoterm.)
(decyzja
wymiana
planisty
(decyzja
średnioterm.)
planisty
oczekujący
średnioterm.)
aktywny
gotowy oczekujący
zawieszony zawieszony
Systemy operacyjne użytk., procesy i zasoby 17
Elementarne operacje na
procesach
tworzenie
usuwanie
zawieszanie
aktywacja
zmiana priorytetu
Systemy operacyjne użytk., procesy i zasoby 18
Elementarne operacje na
zasobach
tworzenie deskryptora zasobu
usuwanie deskryptora zasobu
realizacja żądania przydziału
zwolnienie i odzyskiwanie zasobu
Systemy operacyjne użytk., procesy i zasoby 19
Uruchamianie zadań
podstawowe pojęcia
Użytkownik (ang. user) jednostka zlecająca
wykonywanie zadań.
Praca (ang. job) zbiór akcji niezbędnych do
realizacji określonego przetwarzania, np.
sekwencja: kompilacja, załadowanie
(uruchomienie) programu i wykonanie programu.
Proces (zadanie, ang. process, task)
najmniejsza jednostka aktywności zarządzana
przez system operacyjny, która może ubiegać się
o zasoby systemu komputerowego.
Systemy operacyjne użytk., procesy i zasoby 20
Rodzaje użytkowników systemu
operacyjnego
Użytkownik końcowy korzysta z poleceń i programów
użytkowych.
Programista w swoich programach korzysta z usług
jądra (jako użytkownik końcowy głównie z edytorów,
kompilatorów i debuggerów).
Administrator poprzez system praw ustala zasady
dostępności zasobów dla użytkowników oraz rozwiązuje
bieżące problemy związane w funkcjonowaniem systemu.
Programista systemowy modyfikuje program jądra
stosownie do aktualnych potrzeb użytkowników lub
urządzeń.
Systemy operacyjne użytk., procesy i zasoby 21
Wyszukiwarka
Podobne podstrony:
Ster Proc Dyskret 6 [tryb zgodności]function proc openFP proc wzory 09Term proc i tech WYKLAD I 2warunki procspr java socket 2perPageTerm proc ME WYKLAD VIIMON wydał już 80 proc środków przeznaczonych na modernizację armiiavt 868 Programowalny zegar z LCD proc 89Proc it con indiciAVT812 Progr proc AVRles08 proc cre showmeproc Szkolenie i rozwój personelufunction ldap set rebind procTerm proc i tech WYKLAD IIwięcej podobnych podstron