Informatyka 2 - Wydział Elektryczny

Transkrypt

Informatyka 2 - Wydział Elektryczny
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
2/20
Plan wykładu nr 5
Definicja systemu operacyjnego
Informatyka 2
Zarządzanie procesami
definicja procesu
blok kontrolny procesu
dwu- i pięciostanowy model procesu
Politechnika Białostocka - Wydział Elektryczny
Zarządzanie dyskowymi operacjami we-wy
Elektrotechnika, semestr III, studia stacjonarne I stopnia
strategie szeregowania żądań dostępu do dysku
(FCFS, SSTF, SCAN, C-SCAN)
Rok akademicki 2013/2014
metody przydziału pamięci dyskowej
(alokacja ciągła, alokacja listowa, alokacja indeksowa)
Wykład nr 5 (26.11.2013)
dr inż. Jarosław Forenc
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
3/20
System operacyjny - definicja
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
4/20
System operacyjny - definicja
System operacyjny - jest to program sterujący wykonywaniem aplikacji
i działający jako interfejs pomiędzy aplikacjami (użytkownikiem)
a sprzętem komputerowym
System operacyjny - administrator zasobów - zarządza i przydziela
zasoby systemu komputerowego oraz steruje wykonaniem programu
użytkownik końcowy
nie jest zainteresowany
sprzętem, interesują go
tylko aplikacje
(programy użytkowe)
do zasobów systemu zalicza się:
aplikacje są tworzone
przez programistów
za pomocą języków
programowania
zasób systemu - każdy element systemu, który może być przydzielony
innej części systemu lub oprogramowaniu aplikacyjnemu
czas procesora
pamięć operacyjną
urządzenia zewnętrzne
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
5/20
Zarządzanie procesami
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
6/20
Blok kontrolny procesu
struktura danych tworzona i zarządzana przez
system operacyjny, a opisująca właściwości procesu
Definicja procesu:
proces - program w trakcie wykonania
proces - ciąg wykonań instrukcji wyznaczanych kolejnymi wartościami
licznika rozkazów wynikających z wykonywanej procedury (programu)
proces - jednostka, którą można przypisać procesorowi i wykonać
identyfikator - unikatowy numer skojarzony z procesem,
dzięki któremu można odróżnić go od innych procesów
stan procesu: nowy, gotowy, uruchomiony, zablokowany,
anulowany
priorytet - niski, normalny, wysoki, czasu rzeczywistego
Proces składa się z kilku elementów:
kod programu
dane potrzebne programowi (zmienne, przestrzeń robocza, bufory)
kontekst wykonywanego programu (stan procesu) - dane wewnętrzne,
dzięki którym system operacyjny może nadzorować proces i nim
sterować
licznik programu - adres kolejnego rozkazu w programie,
który ma zostać wykonany
wskaźniki pamięci - wskaźniki do kodu programu, danych
skojarzonych z procesem, dodatkowych bloków pamięci
dane kontekstowe - dane znajdujące się w rejestrach
procesora, gdy proces jest wykonywany
informacje na temat stanu żądań we-wy - informacje
na temat urządzeń we-wy przypisanych do tego procesu
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
7/20
Dwustanowy model procesu
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
8/20
Dwustanowy model procesu
najprostszy model polega na tym, że w dowolnej chwili proces jest
wykonywany przez procesor (uruchomiony) lub nie (nie uruchomiony)
procesy, które nie są uruchomione czekają w kolejce na wykonanie
Program przydzielający
Wejście
Proces nie
uruchomiony
Uruchomiony
proces
Wyjście
Przerwa
system operacyjny tworząc nowy proces, tworzy blok kontrolny procesu
po czym wprowadza proces do systemu jako nie uruchomiony
w pewnym momencie aktualnie wykonywany proces zostaje przerwany
i program przydzielający wybiera inny proces do wykonania
stan poprzednio uruchomionego procesu jest zmieniany z uruchomionego
na nie uruchomiony
jeśli wykonywanie procesu zostało anulowane lub zakończone, to opuszcza
on system, a program przydzielający wybiera kolejny proces z kolejki,
który zostanie wykonany
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
9/20
Pięciostanowy model procesu
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
10/20
Pięciostanowy model procesu
w dwustanowym modelu procesu kolejka działa na zasadzie FIFO,
a procesor wykonuje procesy cyklicznie z kolejki
uruchomiony - proces aktualnie wykonywany
problem pojawia się w przypadku, gdy kolejny proces pobierany
do wykonania z kolejki jest zablokowany, gdyż oczekuje
na zakończenie operacji we-wy
zablokowany - proces oczekujący na zakończenie operacji we-wy
gotowy - proces gotowy do wykonania przy najbliższej możliwej okazji
nowy - proces, który właśnie został utworzony (ma utworzony blok kontrolny
procesu, nie został jeszcze załadowany do pamięci), ale nie został jeszcze
przyjęty do grupy procesów oczekujących na wykonanie
rozwiązaniem powyższego problemu jest podział procesów
nieuruchomionych na gotowe do wykonania i zablokowane
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
anulowany - proces, który został wstrzymany lub anulowany z jakiegoś powodu
dr inż. Jarosław Forenc
11/20
Pięciostanowy model procesu
podział procesów nieuruchomionych na gotowe do wykonania i zablokowane
wymaga zastosowania minimum dwóch kolejek
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
12/20
Zarządzanie dyskowymi operacjami we/wy
operacje na dyskach twardych są obecnie o kilka rzędów wielkości
wolniejsze niż operacje na pamięci operacyjnej
wydajność systemu przechowywania danych ma zatem bardzo duży
wpływ na wydajność całego systemu komputerowego
zazwyczaj w systemie istnieje wiele procesów zgłaszających żądanie
operacji odczytu/zapisu różnych ścieżek na dysku
załóżmy, że głowica znajduje się nad ścieżką nr 53 i wymagany jest
dostęp (odczyt lub zapis ścieżek) o następujących numerach:
98, 183, 37, 122, 14, 124, 65, 67
gdy pojawia się zdarzenie system operacyjny musi przejrzeć kolejkę szukając
procesów, który związane są z danym zdarzeniem
w celu zapewnienia większej wydajności lepiej jest gdy dla każdego
zdarzenia istnieje oddzielna kolejka
Algorytmy szeregowania żądań dostępu do dysku:
FIFO (FCFS)
SCAN
SSTF
C-SCAN
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
13/20
Algorytm FIFO (First In First Out)
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
14/20
Algorytm SSFT (Shortest
(Shortest Service Time First)
przetwarza żądania dyskowych operacji we-wy w kolejności ich
napływania (kolejność sekwencyjna)
przetwarza żądanie dyskowej operacji we-wy, które wiąże się
z najkrótszym przesunięciem głowicy z jej bieżącej lokalizacji
przykład: 98, 183, 37, 122, 14, 124, 65, 67
przykład: 98, 183, 37, 122, 14, 124, 65, 67
0
14
37
53
65 67
98
122 124
183
200
inna nazwa: FCFS - First Come First Served
inne tłumaczenie skrótu SSTF - Short Seek Time First
zalety: prosty w implementacji
zalety: lepsza wydajność od algorytmu FIFO
wady: długi czas wyszukiwania
wady: „zagłodzenie żądań” przy dużej liczbie napływających żądań
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
15/20
Algorytm SCAN
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
16/20
Algorytm C-SCAN
głowica porusza się od prawej strony do lewej (i na odwrót)
obsługując żądania, które napotka po drodze
głowica porusza się od lewej strony do prawej obsługując żądania,
które napotka po drodze
przykład: 98, 183, 37, 122, 14, 124, 65, 67
po dojściu do ostatniej ścieżki powraca na początek dysku
(nie obsługując żadnych żądań po drodze) i rozpoczyna od nowa
przykład: 98, 183, 37, 122, 14, 124, 65, 67
0
14
37
53
65 67
98
122 124
algorytm ten nazywany jest także skanowaniem lub algorytmem windy
zmniejsza się w ten sposób maksymalne opóźnienie związane
z nowymi żądaniami
183
200
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
17/20
Przydział pamięci dyskowej - alokacja ciągła
dr inż. Jarosław Forenc
18/20
Przydział pamięci dyskowej - alokacja listowa
każdy plik zajmuje ciąg
kolejnych bloków na dysku
każdy plik jest listą
powiązanych ze sobą bloków
dyskowych, które mogą
znajdować się w dowolnym
miejscu na dysku
plik zdefiniowany jest przez
adres pierwszego bloku
i ilość kolejnych zajmowanych
bloków
w katalogu dla każdego pliku
zapisany jest wskaźnik
do pierwszego i ostatniego
bloku pliku
zalety: małe opóźnienia
w transmisji danych, łatwy
dostęp do dysku
każdy blok zawiera wskaźnik
do następnego bloku
wady: trudność w znalezieniu
miejsca na nowy plik
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
19/20
Przydział pamięci dyskowej - alokacja indeksowa
Informatyka 2, studia stacjonarne I stopnia
Rok akademicki 2013/2014, Wykład nr 5
dr inż. Jarosław Forenc
Koniec wykładu nr 5
każdy plik ma własny blok
indeksowy, będący tablicą
adresów bloków dyskowych
w katalogu zapisany jest
dla każdego pliku adres
bloku indeksowego
Dziękuję za uwagę!
20/20