![Page 1: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/1.jpg)
1
Systemy Operacyjne
Dr inż. Sławomir Samolej
email: [email protected]
WWW: ssamolej.prz-rzeszow.pl
Slajdy zostały przygotowane na podstawie materiałów opublikowanych na
(http://wazniak.mimuw.edu.pl/)
![Page 2: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/2.jpg)
2
Literatura
• A. Silberschatz, J.L. Peterson, G. Gagne,
Podstawy systemów operacyjnych. WNT,
Warszawa 2005
![Page 3: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/3.jpg)
3
Plan wykładu
• Wprowadzenie
• Procesy, zasoby, wątki
• Planowanie przydziału procesora
• Zarządzanie pamięcią operacyjną
• Urządzenia wejścia-wyjścia
• System plików
• Współbieżność i synchronizacja procesów
![Page 4: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/4.jpg)
4
Wprowadzenie
![Page 5: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/5.jpg)
5
Definicja systemu operacyjnego
System operacyjny (nadzorczy, nadrzędny, sterujący) jest
to zorganizowany zespół programów, które pośredniczą
między sprzętem a użytkownikami, dostarczając
użytkownikom zestawu środków ułatwiających
projektowanie, kodowanie, uruchamianie i eksploatację
programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania.
Alan Shaw
![Page 6: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/6.jpg)
6
SO w architekturze komputera
Programy użytkowe
System operacyjny
Sprzęt
System operacyjny pośredniczy
pomiędzy użytkownikiem a sprzętem,
dostarczając wygodnego środowiska do
wykonywania programów.
Użytkownik końcowy korzysta z
programów (aplikacji), na potrzeby
których przydzielane są
zasoby systemu komputerowego.
Przydziałem tym zarządza system
operacyjny, dzięki czemu można uzyskać
stosunkowo duży stopień niezależności
programów od konkretnego sprzętu oraz
odpowiedni poziom bezpieczeństwa i
sprawności
działania.
![Page 7: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/7.jpg)
7
Ogólna struktura systemu operacyjnego
• W ogólnym przypadku w strukturze systemu operacyjnego wyróżnia się jądro oraz programy systemowe, które dostarczane są razem z systemem operacyjnym, ale nie stanowią integralnej części jądra.
Jądro SO
Sprzęt
Interpreter
poleceń
Programy
systemowe
• Jądro jest zbiorem modułów, które ukrywają szczegóły sprzętowej
realizacji systemu komputerowego, udostępniając pewien zestaw
usług, wykorzystywanych między innymi do implementacji programów
systemowych.
• Interpreter wykonuje pewne polecenia wewnętrznie, tzn. moduł lub
program interpretera dostarcza implementacji tych poleceń. Jeśli
interpreter nie może wykonać wewnętrznie jakiegoś polecenia,
uruchamia odpowiedni program (tzw. polecenie zewnętrzne), jako
odrębny proces.
![Page 8: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/8.jpg)
8
Zadania SO
• Definicja interfejsu użytkownika
• Udostępnianie systemu plików
• Udostępnianie środowiska do wykonywania programów użytkownika – mechanizm ładowania i uruchamiania
programów
– mechanizmy synchronizacji i komunikacji procesów
• Sterowanie urządzeniami wejścia-wyjścia
• Obsługa podstawowej klasy błędów Za
rzą
dza
nie
za
so
ba
mi
![Page 9: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/9.jpg)
9
Zarządzanie zasobami systemu
komputerowego
• Przydział zasobów
• Planowanie dostępu do zasobów
• Ochrona i autoryzacja dostępu do
zasobów
• Odzyskiwanie zasobów
• Rozliczanie — gromadzenie
danych o wykorzystaniu zasobów
![Page 10: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/10.jpg)
10
Zasoby zarządzane przez SO (1)
• Procesor
– przydział czasu procesora
• Pamięć
– alokacja przestrzeni adresowej dla procesów
– ochrona i transformacja adresów
![Page 11: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/11.jpg)
11
Zasoby zarządzane przez SO (2)
• Urządzenia wejścia-wyjścia
– udostępnianie i sterowanie urządzeniami pamięci masowej
– alokacja przestrzeni dyskowej
– udostępnianie i sterownie drukarkami, skanerami itp.
• Informacja (system plików)
– organizacja i udostępnianie informacji
– ochrona i autoryzacja dostępu do informacji
![Page 12: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/12.jpg)
12
Klasyfikacja systemów operacyjnych ze
względu na sposób przetwarzania
• Systemy przetwarzania bezpośredniego (ang. on-line processing systems) - systemy interakcyjne – występuje bezpośrednia interakcja pomiędzy użytkownikiem a
systemem,
– wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu.
• Systemy przetwarzania pośredniego (ang. off-line processing systems) — systemy wsadowe – występuje znacząca zwłoka czasowa między przedłożeniem a
rozpoczęciem wykonywania zadania,
– niemożliwa jest ingerencja użytkownika w wykonywanie zadania.
![Page 13: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/13.jpg)
13
Klasyfikacja systemów operacyjnych ze
względu na liczbę wykonywanych programów
• Systemy jednozadaniowe — niedopuszczalne
jest rozpoczęcie wykonywania następnego
zadania użytkownika przed zakończeniem
poprzedniego.
• Systemy wielozadaniowe — dopuszczalne jest
istnienie jednocześnie wielu zadań (procesów),
którym zgodnie z pewną strategią przydzielany
jest procesor.
![Page 14: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/14.jpg)
14
Inne rodzaje systemów operacyjnych
• Systemy czasu rzeczywistego (ang. real-time systems) — zorientowane na przetwarzanie z uwzględnieniem czasu zakończenie zadania, tzw. linii krytycznej (ang. deadline), np. VxWorks, QNX, Windows CE, RT Linux.
• Systemy sieciowe i rozproszone (ang. network and distributed systems) — umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, czyli zbiorem jednostek (komputerów), które są zintegrowane siecią komputerową i nie współdzielą fizycznie zasobów, np. Windows, Novel Netware, Linux, Unix .
• Systemy operacyjne komputerów naręcznych — tworzone dla rozwiązań typu PDA, czy telefonów komórkowych, podlegają istotnym ograniczeniom zasobowym, np. Symbian, Windows Mobile, Brew, OS X iPhone, Android, Linux.
![Page 15: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/15.jpg)
15
Cykl rozkazowy (1)
wystaw.
adr. kodu
rozkazu
pa
mię
ć
CP
U
pobranie
kodu
rozkazu
dekodowanie
operacji
wystaw.
adresu
operandu
pobranie
operandu
faza pobrania
rozkazu faza pobrania
argumentów następny
rozkaz
łańcuch
![Page 16: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/16.jpg)
16
Cykl rozkazowy (2)
wykonanie
operacji
zapis
operandu
wystaw.
adresu
operandu
sprawdz.
zgłoszenia
przerwań
przerwanie
faza składowania wyniku
faza przerwania
brak
przerwań
![Page 17: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/17.jpg)
17
Podstawy działania systemu operacyjnego
• Odwołania do jądra systemu przez system przerwań lub specjalne instrukcje (przerwanie programowe)
• Sprzętowa ochrona pamięci
• Dualny tryb pracy — tryb użytkownika (ang. user mode) i tryb systemowy (tryb jądra, ang. system mode)
• Wyróżnienie instrukcji uprzywilejowanych, wykonywanych tylko w trybie systemowym
• Przerwanie zegarowe
![Page 18: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/18.jpg)
18
Procesy, zasoby, wątki
![Page 19: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/19.jpg)
19
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.
![Page 20: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/20.jpg)
20
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.
![Page 21: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/21.jpg)
21
Stany procesu
• Nowy (ang. new) — proces jest tworzony.
• Wykonywany (ang. running) — wykonywane są instrukcje programu.
• Oczekujący (ang. 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.
![Page 22: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/22.jpg)
22
Cykl zmian stanów procesu
nowy
gotowy
oczekujący
wykonywany
zakończony
przyjęcie
zażądanie operacji
wejwyj lub
oczekiwanie na
zdarzenie
zakończenie
operacji wej-wyj lub
Wystąpienie
zdarzenia
decyzja
planisty
wywłaszczenie
![Page 23: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/23.jpg)
23
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 na sygnał synchronizacji od innych procesami (np. kolejka procesów na semaforze).
![Page 24: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/24.jpg)
24
Diagram kolejek w planowaniu
przydziału procesora
procesor
sygnał
wej-wyj zamówienie
operacji wej-wyj
upłynięcie
kwantu czasu
synchronizacja
kolejka procesów gotowych
kolejka operacji
wej-wyj
kolejka procesów
uśpionych
![Page 25: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/25.jpg)
25
Przełączanie kontekstu
Proces 1
Proces 3
Proces 2
bezczynność
bezczynność bezczynność
bezczynność bezczynność
zachowanie kontekstu
w bloku kontrolnym 1
odtworzenie kontekstu z
bloku kontrolnego 2
![Page 26: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/26.jpg)
26
Wątki
• Wątek (lekki proces, ang. lightweight process — LWP) jest obiektem w obrębie procesu ciężkiego (heavyweight), posiadającym własne sterowanie i współdzielącym z innymi wątkami tego procesu przydzielone (procesowi) zasoby:
– segment kodu i segment danych w pamięci
– tablicę otwartych plików
– tablicę sygnałów
![Page 27: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/27.jpg)
27
Planowanie przydziału
procesora
![Page 28: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/28.jpg)
28
Komponenty jądra w planowaniu
• Planista krótkoterminowy (ang. CPU scheduler) — wyznacza wartość priorytetu procesów gotowych i wybiera proces (o najwyższym priorytecie) do wykonania.
• Ekspedytor (zwany również dyspozytorem, ang. dispatcher) — realizuje przekazanie sterowania do procesu wybranego przez planistę (dokonuje przełączenia kontekstu).
![Page 29: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/29.jpg)
29
Ogólna koncepcja planowania
• Tryb decyzji — określa okoliczności, w których oceniane i porównywane są priorytety procesów oraz dokonywany jest wybór procesu do wykonania.
• Funkcja priorytetu — funkcja wyznaczająca aktualny priorytet procesu na podstawie parametrów procesu i stanu systemu.
• Reguła arbitrażu — reguła rozstrzygania konfliktów w dostępie do procesora w przypadku procesów o tym samym priorytecie
![Page 30: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/30.jpg)
30
Tryb decyzji
• Schemat niewywłaszczeniowy (ang.
nonpreemptive) —proces po uzyskaniu dostępu
do procesora wykonywany jest do momentu
zakończenie lub zgłoszenia żądania obsługi do
systemu.
• Schemat wywłaszczeniowy (ang. preemptive)
— proces może zostać zatrzymany i
umieszczony w kolejce procesów gotowych, a
procesor zostaje przydzielony procesowi o
wyższym (lub równym) priorytecie.
![Page 31: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/31.jpg)
31
Podejmowanie decyzji o
wywłaszczeniu • Utworzenie i przyjęcie nowego procesu
• Obudzenie procesu w wyniku otrzymania komunikatu, sygnału gotowości urządzenia (przerwanie) lub sygnału wynikającego z synchronizacji
• Upłynięcie kwantu czasu odmierzanego przez czasomierz
• Wzrost priorytetu innego procesu w stanie gotowy powyżej priorytetu procesu wykonywanego — możliwe w systemie ze zmiennymi priorytetami
![Page 32: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/32.jpg)
32
Funkcja priorytetu
• Argumentami funkcji priorytetu są wybrane
składowe stanu procesu oraz stanu
systemu.
• Priorytet procesu w danej chwili jest
wartością wynikową funkcji priorytetu dla
bieżących wartości parametrów stanu
danego procesu i aktualnego stanu
systemu.
![Page 33: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/33.jpg)
33
Przykład realizacji przetwarzania
P3
P2
P1
0 2 4 6 8 10 12 14 16 18
Process
Wykonywanie
Gotowość
Oczekiwanie
Poniższy diagram przedstawia zmiany
stanu 3 procesów w czasie i ma na celu
zobrazowanie parametrów czasowych.
![Page 34: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/34.jpg)
34
Reguła arbitrażu
• Losowo — możliwe w przypadku, gdy
liczba procesów o tym samym priorytecie
jest niewielka
• Cyklicznie — cykliczny przydział
procesora kolejnym procesom
• Chronologicznie — w kolejności
przyjmowania procesów do systemu (w
kolejności FIFO)
![Page 35: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/35.jpg)
35
Algorytmy planowania
niewywłaszczającego
• FCFS (First Come First Served) —
pierwszy zgłoszony, pierwszy obsłużony
• LCFS (Last Come First Served) — ostatni
zgłoszony, pierwszy obsłużony
• SJF (SJN, SPF, SPN, Shortest
Job/Process First/Next) — najpierw
najkrótsze zadanie
![Page 36: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/36.jpg)
36
Algorytmy planowania
wywłaszczającego
• Planowanie rotacyjne (ang. Round Robin,
RR) — po ustalonym kwancie czasu
proces wykonywany jest przerywany i
trafia do kolejki procesów gotowych.
• SRT (Shortest Remaining Time) —
najpierw zadanie, które ma najkrótszy
czas do zakończenia
![Page 37: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/37.jpg)
37
Przykłady uszeregowania bez
wywłaszczeń
0 2 4 6 8 10 12 14 16 18
Process Wykonywanie
Gotowość
P1
P2
P3
FC
FS
P1
P2
P3
SJF
![Page 38: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/38.jpg)
38
Przykłady uszeregowania z
wywłaszczeniami
0 2 4 6 8 10 12 14 16 18
Process Wykonywanie
Gotowość
P1
P2
P3
SR
T
P1
P2
P3
RR
![Page 39: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/39.jpg)
39
Algorytm RR — dobór kwantu
czasu
• Krótki kwant czasu oznacza zmniejszenie
czasu cyklu przetwarzania procesów
krótkich, ale zwiększa narzut czasowy
związany z przełączaniem kontekstu.
• Z punktu widzenia interakcji z
użytkownikiem kwant czasu powinien być
trochę większy, niż czas odpowiedzi
(reakcji).
![Page 40: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/40.jpg)
40
Inne algorytmy planowania
• Planowanie priorytetowe — oparte na priorytecie zewnętrznym
• Planowanie wielokolejkowe — w systemie jest wiele kolejek procesów gotowych i każda z kolejek może być inaczej obsługiwana.
• Planowanie przed liniami krytycznymi — zakończenie zadania przed czasową linią krytyczną lub możliwie krótko po tej linii
![Page 41: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/41.jpg)
41
Szeregowanie procesów, ograniczonych
wejściem-wyjściem
• Procesy ograniczone wejściem-wyjściem potrzebują niewiele czasu procesora, większość czasu w systemie spędzając na oczekiwaniu na urządzenia zewnętrzne.
• Opóźnianie przydziału procesora dla tego typu procesów powoduje zmniejszenie wykorzystania urządzeń zewnętrznych, a przydział — ze względu na niedługą fazę procesora — nie powoduje istotnego zwiększenia czasu oczekiwania innych procesów.
• Właściwym algorytmem byłby SJF lub SRT.
• Bezwzględna preferencja dla procesów oczekujących na gotowość urządzeń może spowodować głodzenie procesów ograniczonych procesorem.
![Page 42: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/42.jpg)
42
Wirtualne planowanie rotacyjne
procesor
sygnał
wej-wyj zamówienie
operacji wej-wyj
upłynięcie
kwantu czasu
synchronizacja
kolejka procesów gotowych
kolejka operacji
wej-wyj
kolejka procesów
uśpionych
Pomocnicza kolejka procesów gotowych
![Page 43: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/43.jpg)
43
Zarządzanie pamięcią
operacyjną
![Page 44: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/44.jpg)
44
Podstawowe zagadnienia związane z
zarządzaniem pamięcią operacyjną
• Przydział pamięci i jej odzyskiwanie
• Ochrona
• Udostępnienie w celu współdzielenia
• Transformacja adresów
• Transfer danych pomiędzy
poszczególnymi poziomami w hierarchii
pamięci.
![Page 45: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/45.jpg)
45
Pamięć jako zasób systemu
komputerowego • Pamięć jest zasobem służący do przechowywania
danych i programów.
• Z punktu widzenia systemu pamięć jest zasobem o strukturze hierarchicznej (począwszy od rejestrów procesora, przez pamięć podręczną, pamięć główną, skończywszy na pamięci masowej), w której na wyższym poziomie przechowywane są dane, stanowiące fragment zawartości poziomu niższego.
• Z punktu widzenia procesu (również procesora) pamięć jest zbiorem bajtów identyfikowanych przez adresy, czyli tablicą bajtów, w której adresy są indeksami.
![Page 46: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/46.jpg)
46
Hierarchia pamięci
rejestry
Pamięć
podręczna
pamięć główna
dysk magnetyczny
taśma dysk optyczny
pamięć
I rzędu
pamięć
II rzędu
![Page 47: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/47.jpg)
47
Przestrzeń adresowa
• Przestrzeń adresowa jest zbiór wszystkich dopuszczalnych adresów w pamięci.
• W zależności od charakteru adresu odróżnia się:
– przestrzeń fizyczną — zbiór adresów przekazywanych do układów pamięci głównej (fizycznej).
– przestrzeń logiczną — zbiór adresów generowanych przez procesor w kontekście aktualnie wykonywanego procesu.
![Page 48: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/48.jpg)
48
Przykład odwzorowania adresu
logicznego na fizyczny
1024
+
procesor adres
logiczny
25
rejestr
przemieszczenia
jednostka
zarządzania
pamięcią (MMU)
adres
fizyczny
1049
pamięć
![Page 49: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/49.jpg)
49
Przykład weryfikacji
poprawności adresu
1024
+
procesor
adres
logiczny
rejestr
przemieszczenia
jednostka
zarządzania
pamięcią (MMU)
adres
fizyczny
pamięć
V
256
rejestr
graniczny
T N Błąd
programowy
![Page 50: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/50.jpg)
50
Podział pamięci
• Podział stały
– partycje o równym rozmiarze
– partycje o różnych rozmiarach
• Podział dynamiczny
• Podział na bloki bliźniacze (zwany też
metodą sąsiedzkich stert)
![Page 51: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/51.jpg)
51
Podział stały
• Podział pamięci na stałe obszary (strefy, partycje), których rozmiar i położenie ustalane są na etapie konfiguracji systemu.
• Przydział całego obszaru o rozmiarze większym lub równym zapotrzebowaniu, określonym w żądaniu.
• Zalety: łatwość implementacji i zarządzania
• Wady: słaba efektywność wykorzystania pamięci (fragmentacja, ograniczona odgórnie liczba jednocześnie przydzielonych partycji).
![Page 52: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/52.jpg)
52
Podział stały — partycje o
równym rozmiarze
Jądro systemu
obraz przed
przydziałem
obraz po
przydziale
![Page 53: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/53.jpg)
53
Podział dynamiczny
• Podział pamięci tworzony jest w czasie pracy systemu stosownie do żądań procesów.
• Proces ładowany jest w obszar o rozmiarze dosyć dokładnie odpowiadającym jego wymaganiom.
• Zalety: lepsze wykorzystanie pamięci (brak fragmentacji wewnętrznej)
• Wady: skomplikowane zarządzanie, wynikające z konieczności utrzymywania odpowiednich struktur danych w celu identyfikacji obszarów zajętych oraz wolnych.
![Page 54: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/54.jpg)
54
Obraz pamięci przy podziale
dynamicznym
Jądro systemu
obraz przed
przydziałem
obraz po
przydziale
![Page 55: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/55.jpg)
55
System bloków bliźniaczych
• Pamięć dostępna dla procesów użytkownika ma
rozmiar 2U.
• Przydzielany blok ma rozmiar 2K, gdzie L≤K≤U.
• Początkowo dostępny jest jeden blok o
rozmiarze 2U.
• Realizacja przydziału obszaru o rozmiarze s
polega na znalezieniu lub utworzeniu (przez
połowienie) bloku o rozmiarze 2i takim, że 2i−1 <
s ≤ 2i.
![Page 56: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/56.jpg)
56
System bloków bliźniaczych —
przykład
1MB
kolejne
żądania
przydziału
512KB
256KB
128KB
128KB
100KB
512KB
256KB
128KB
128KB
240KB
512KB
256KB
128KB
64KB
256KB
128KB
128KB
250KB
256KB
256KB
![Page 57: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/57.jpg)
57
Obraz procesu w pamięci
kod
dane
plik z programem
ładowalnym
kod
dane
stos
Blok kontrolny
pamięć operacyjna
![Page 58: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/58.jpg)
58
Pamięć wirtualna
• Wykonywane programy przechowywane są nie tylko w pamięci fizycznej ale i w masowej.
• Jeśli zachodzi konieczność wykonania fragmentu programu przeniesionego do pamięci masowej, następuje przeniesienie tego fragmentu do pamięci fizycznej.
• Zalety: – „rozszerzenie” pamięci fizycznej
– racjonalizacja wykorzystania pamięci fizycznej
– Możliwość zmniejszenia czasu odpowiedzi (np. kod jest sprowadzany w niewielkich porcjach na żądanie)
• Wady: – Bardziej złożone zarządzanie pamięcią.
– Przy zbyt dużym obciążeniu – redukcja wydajności systemu.
![Page 59: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/59.jpg)
59
Urządzenia wejścia-wyjścia
![Page 60: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/60.jpg)
60
Rodzaje urządzeń wejścia-
wyjścia • Urządzenia składowania danych (dyski,
dyskietki, taśmy, CD ROM, DVD itp.)
• Urządzenia transmisji danych na odległość (karty sieciowe, modemy)
• Urządzenia do komunikacji z człowiekiem (monitory, projektory, klawiatury, myszy, drukarki, skanery itp.)
• Urządzenia specjalizowane – układy sterowania (np. elektrownią, samolotem,
systemem obrony antyrakietowej itd.)
– kasy i drukarki fiskalne itp.
– urządzenia medyczne
![Page 61: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/61.jpg)
61
Właściwości urządzeń wejścia
wyjścia (1)
• Tryb transmisji danych: – znakowy — przykazywanie danych odbywa się bajt
po bajcie, przykład: port szeregowy
– blokowy — przykazywanie danych odbywa się w blokach (np. po 512 bajtów), przykład: dysk
• Sposób dostępu do danych: – sekwencyjny — dane przekazywane są w określonym
porządku, narzuconym przez urządzenie, przykład: karta sieciowa
– bezpośredni (swobodny) — możliwe jest określenie lokalizacji danych na urządzeniu, przykład: dysk
![Page 62: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/62.jpg)
62
Właściwości urządzeń wejścia
wyjścia (2) • Tryb pracy urządzenia:
– synchroniczny — dane zostaną przekazane w znanym z góry (przewidywalnym) czasie, przykład: dysk, karta graficzna
– asynchroniczny — dane mogą zostać przesłane w dowolnym, trudnym do przewidzenia, momencie, przykład: klawiatura, karta sieciowa
• Tryb użytkowania: – współdzielony — dopuszczalne jest współbieżne
używanie urządzenia przez wiele procesów, np.: dysk
– wyłączny — niemożliwe jest współbieżne używanieurządzenia przez wiele procesów, przykład: drukarka
![Page 63: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/63.jpg)
63
Właściwości urządzeń wejścia
wyjścia (3)
• Szybkość działania (transmisji)
– od bardzo wolnych, przykład: drukarka
– do stosunkowo szybkich, przykład: dysk
• Kierunek przekazywania danych
– urządzenia wejścia i wyjścia — możliwość zarówno
zapisu jak i odczytu, przykład dysk, karta sieciowa
– urządzenia wejścia — tylko możliwość odczytu z
urządzenia, przykład: klawiatura
– urządzenia wyjścia — tylko możliwość
zapisu,przykład: drukarka
![Page 64: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/64.jpg)
64
Struktura mechanizmu wejścia-
wyjścia
Podsystem wejścia-wyjścia
Moduł sterujący
Sterownik portu
Moduł sterujący Moduł sterujący
Sterownik urządz. Sterownik urządz. Sterownik urządz
Adapter
Opro
gra
mo
wa
nie
S
prz
ęt
![Page 65: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/65.jpg)
65
Oprogramowanie obsługi
wejścia-wyjścia • Podsystem wejścia-wyjścia:
– interfejs wejścia-wyjścia — specyfikacja operacji (API), umożliwiających jednolity sposób dostępu do urządzeń wejścia-wyjścia na poziomie aplikacji
– buforowanie
• Moduł sterujący — ukrywanie sprzętowych szczegółów realizacji danego urządzenia przed interfejsem wejściawyjścia: – dostarczanie implementacji dla operacji z interfejsu
wejścia-wyjścia w odniesieniu do danego urządzenia
– kontrola realizacji operacji na urządzeniu (sprawdzanie stanu, poprawności, transfer danych)
![Page 66: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/66.jpg)
66
Sterownik urządzenia
sterowanie stan
rejestry
danych
logika
... zajętość gotowość kod błędu ...
zajętość gotowość
Bezczynność 0 0
Zakończenie 0 1
Praca 1 0
(stan
przejściowy)
1 1
Rejestr stanu:
![Page 67: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/67.jpg)
67
Miejsce urządzeń wejścia-wyjścia w
architekturze systemu komputerowego
• Odwzorowanie w przestrzeni adresowej wejścia-wyjścia (tzw. izolowane wejście-wyjście) — rejestry sterownika widoczne są w przestrzeni adresowej wejścia-wyjścia systemu komputerowego i dostępne są przez specjalne rozkazy (np. in i out w procesorach firmy Intel).
• Odwzorowanie w przestrzeni adresowej pamięci — rejestry sterownika widoczne są w przestrzeni adresowej pamięci fizycznej i dostępne są pod odpowiednimiadresami tak samo, jak inne komórki pamięci.
![Page 68: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/68.jpg)
68
Interakcja jednostki centralnej ze
sterownikiem urządzenia wejścia-wyjścia
• Odpytywanie (ang. polling) — ciągłe lub okresowe sprawdzanie stanu sterownika
• Sterowanie przerwaniami (ang. interrupt-driven I/O) — inicjalizacja pracy sterownika przez procesor i obsługa urządzenia po zakończeniu działania w ramach reakcji na przerwanie
• Bezpośredni dostęp do pamięci (ang. direct memory access) — inicjalizacja pracy sterownika przez procesor i uruchomienie układu bezpośredniego dostępu do pamięci w celu realizacji transferu danych pomiędzy sterownikiem a pamięcią
![Page 69: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/69.jpg)
69
Buforowanie
• Dopasowanie urządzeń różniących się szybkością przekazywania danych — dopasowanie chwilowo szybszego producenta danych do możliwości konsumenta.
• Dopasowanie urządzeń różniących się podstawową jednostką transmisji danych — dopasowanie w celu efektywnego przekazywania danych urządzeń przesyłających mniejsze jednostki danych do urządzeń wymagających większych jednostek lub odwrotnie (fragmentowanie).
• Semantyka kopii — zagwarantowanie niezmienności danych w czasie wykonywania operacji wejścia-wyjścia.
![Page 70: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/70.jpg)
70
System plików
![Page 71: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/71.jpg)
71
Pojęcie pliku
• Intuicyjnie plik jest ciągiem danych (bitów, bajtów, rekordów itp.), których znaczenie (semantykę) określa jego twórca i jego użytkownik. Np. użytkownik, tworząc plik z programem w języku C, określa, że jest to plik, na podstawie którego kompilator potrafi wygenerować kod pośredni, a po dołączeniu odpowiednich bibliotek konsolidator (linker) potrafi wygenerować plik z programem binarnym.
![Page 72: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/72.jpg)
72
Zadania systemu operacyjnego
w odniesieniu do plików • Zadaniem systemu operacyjnego w odniesieniu do
plików jest zapewnienie odwzorowania pomiędzy abstrakcyjnym obrazem informacji, a jego reprezentacją na urządzeniu fizycznym.
• Wyszczególnienie zadań: – identyfikacja pliku (hierarchiczna struktura katalogów),
– udostępnienie interfejsu operacji plikowych (API),
– realizacja operacji dostępu do plików i katalogów z zapewnieniem bezpieczeństwa (synchronizacja i autoryzacja dostępu), spójności i efektywności.
• Uwaga: Istnieją systemy operacyjne (np. czasu rzeczywistego), w których świadomie rezygnuje się ze struktury plików dołączając kolejne aplikacje jako moduły jądra ładowane przy starcie komputera.
![Page 73: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/73.jpg)
73
Atrybuty pliku
• Nazwa — ciąg znaków służących użytkownikowi do identyfikacji pliku
• Typ — informacja służąca do rozpoznania rodzaju zawartości pliku i tym samym sposobu interpretacji
• Lokalizacja — informacja służąca do odnalezienia pliku w systemie komputerowym (urządzenie i położenie pliku w tym urządzeniu)
• Rozmiar — bieżący rozmiar pliku w ustalonych jednostkach (bajtach, słowach, blokach itp.)
• Ochrona — informacje umożliwiające kontrolę dostępu
• Czasy dostępów — daty i czasy wykonywania pewnych operacji na pliku, typu odczyt, modyfikacja, utworzenie
![Page 74: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/74.jpg)
74
Podstawowe operacje na plikach (1)
• Tworzenie pliku — konieczne jest określenie podstawowych atrybutów pliku, znalezienie miejsca na ten plik w systemie komputerowym oraz jego zaewidencjonowanie (utworzenie wpisu katalogowego)
• Zapis do pliku — konieczne jest określenie, co ma być zapisane i gdzie ma być zapisane (w którym pliku i w jakim miejscu tego plik, zależnie od sposobu dostępu)
• Odczyt z pliku — konieczne jest określenie, co ma być odczytane (z którego pliku i z jakiego miejsca tego plik, zależnie od sposobu dostępu) i gdzie mają być umieszczone odczytane dane
![Page 75: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/75.jpg)
75
Podstawowe operacje na plikach (2)
• Usuwanie informacji z pliku — należy określić jaki fragment pliku (i którego pliku) ma być usunięty. Najczęściej możliwe jest tylko skracanie pliku, czyli usuwanie jego końcowej zawartości lub całej jego zawartości.
• Usuwanie pliku — należy określić plik do usunięcia. Usuwana jest zawartość oraz wpis ewidencyjny pliku.
• Dodatkowe operacje na plikach, wykonywane w celu uzyskania dostępu do zawartości pliku: – otwieranie,
– zamykanie,
– przesuwanie wskaźnika bieżącej pozycji.
![Page 76: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/76.jpg)
76
Organizacja logiczna systemu plików (1)
• Podział na strefy (wolumeny, woluminy, tomy, partycje) – strefa obejmuje część dysku, jeden lub kilka dysków,
– strefa zawiera pliki i katalogi.
• Organizacja katalogów: – katalog jest tablicą kojarzącą nazwy plików z wpisami
katalogowymi, obejmującymi inne atrybuty plików,
– katalogi mogą być jedno- lub wielopoziomowe
– katalogi wielopoziomowe zorganizowane mogą być w różne struktury logiczne (drzewo, graf acykliczny, dowolny graf).
• Pliki identyfikowane są przez nazwy, znajdujące się w katalogach.
![Page 77: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/77.jpg)
77
Organizacja logiczna systemu plików (2)
katalog katalog
plik plik
katalog
plik plik plik
plik
strefa/partycja/wolumen strefa/partycja/wolumen
![Page 78: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/78.jpg)
78
Operacje na katalogu
• Tworzenie katalogu
• Usuwanie katalogu
• Tworzenie wpisu katalogowego — gdy tworzony jest plik, jego nazwa alternatywna, podkatalog itp.
• Usuwanie wpisu katalogowego
• Przemianowanie pliku (zmiana nazwy)
• Odnajdowanie wpisu katalogowego
• Tworzenie wykazu wpisów katalogowych (listing zawartości)
![Page 79: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/79.jpg)
79
Organizacja fizyczna systemu plików
• Przestrzeń dyskowa na potrzeby systemu plików zorganizowana jest w jednostki alokacji, zwane krótko blokami. Blok jest wielokrotnością sektora dysku.
• Reprezentatywnym przykładem organizacji fizycznej plików może być FAT (ang. file allocation table): – FAT jest dodatkową strukturą (tablicą) umieszczoną w
odpowiednim obszarze na dysku
– Każdy element tablicy FAT odpowiada dokładnie jednej jednostce alokacji (blokowi) z przestrzeni bloków plikowych i indeksowany jest numerem bloku
– Element tablicy FAT zawiera indeks następnego bloku przydzielonego danemu plikowi lub pewną wartość specjalną oznaczającą wolną pozycję lub ostatnią pozycję danego pliku
![Page 80: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/80.jpg)
80
Struktura tablicy alokacji plików
1 4 7
8 14
15 18 21
22 28
29 35
3
28
#
35
#
8
27
1
2
3
4
5
6
7
8
27
28
…
blok początkowy: 1
blok końcowy: 8
blok początkowy: 22
blok końcowy: 14
blok początkowy: 7
blok końcowy: 4
Katalog:
![Page 81: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/81.jpg)
81
Zarządzanie wolną przestrzenią
• Wektor bitowy — każdy bit odpowiada jednemu blokowi, wartość 1 oznacza wolny blok.
• Lista powiązana — każdy wolny blok zawiera indeks następnego wolnego bloku.
• Grupowanie — niektóre wolne bloki zapełnione są w całości indeksami innych wolnych bloków, ostatni indeks wskazuje na kolejny blok zapełniony w całości indeksami.
• Zliczanie — wykaz wolnych bloków obejmuje indeks pierwszego wolnego bloku oraz liczbę wolnych bloków znajdujących się za nim, stanowiących ciągły obszar.
![Page 82: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/82.jpg)
82
Zarządzanie wolną przestrzenią
— wektor bitowy
1 4 7
8 14
15 18 21
22 28
29 35
01001100101100111111100111000011110
wektor bitowy
w superbloku
![Page 83: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/83.jpg)
83
Przykład implementacji katalogu
— lista liniowa • Katalog składa się z ciągu wpisów katalogowych
ogólnej postaci:
• Lokalizacja wpisu polega na przeszukiwaniu liniowym (sprawdzane są kolejne pozycje, począwszy od pierwszej)
• Lokalizacją wpisu można przyspieszyć poprzez posortowanie wg. nazwy, jednak utrzymanie takiej struktury jest kosztowne.
nazwa pliku inne atrybuty
![Page 84: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/84.jpg)
84
Operacja dostępu do danych w pliku
Logiczny system plików
Organizacja fizyczna systemu plików
Bufor pamięci
podręcznej
Moduł sterujący
![Page 85: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/85.jpg)
85
Zasady przechowywania
podręcznego • Zawartość aktualnie wykorzystywanych bloków
dyskowych utrzymywana jest w podręcznej pamięci buforowej.
• Obsługa żądania odczytu bloku polega najpierw na sprawdzeniu czy dany blok znajduje się w podręcznej pamięci buforowej, a później ewentualnie sprowadzenia z dysku.
• Żądany fragment kopiowany jest z podręcznej pamięci buforowej w odpowiednie miejsce w przestrzeni adresowej procesu.
• Obsługa żądania zapisu oznacza transfer danych do podręcznej pamięci buforowej.
![Page 86: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/86.jpg)
86
Współbieżność i
synchronizacja procesów
![Page 87: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/87.jpg)
87
Przetwarzanie współbieżne
• Dopóki system składa się ze zbioru niezależnych procesów, z których każdy odwołuje się do własnych zasobów system operacyjny tylko przydziela procesy do procesorów lub szereguje je do wykonania na danym procesorze.
• Gdy jednak procesy odwołują się do współdzielonych zasobów, lub w pewien sposób ze sobą kooperują wymagane jest, aby system operacyjny dostarczał odpowiednich mechanizmów na to pozwalających.
• Z problematyką komunikacji pomiędzy procesami związane są zagadnienia: – Synchronizacji procesów
– Wzajemnego wykluczania dostępu do zasobów
– Możliwości zakleszczenia procesów
![Page 88: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/88.jpg)
88
Semafor
• Semafor jest nieujemną liczbą całkowitą, która poza inicjalizacją może być modyfikowana przez 2 procedury: P (lub WAIT) i V (lub SIGNAL).
• Procedura WAIT(S): Jeśli wartość S >0 to zmniejsz wartość S o jeden; w przeciwnym wypadku zatrzymaj proces do chwili, gdy S > 0 (i wtedy zmniejsz wartość S).
• Procedura SIGNAL(S): zwiększ wartość S o jeden.
• Procedury WAIT i SIGNAL są atomowe (traktowane jako pojedyncza nierozerwalna instrukcja). Dwa procesy wykonujące operację WAIT na tym samym semaforze nie mogą na siebie wpływać i nie mogą się załamać podczas wykonywania operacji na semaforze.
![Page 89: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/89.jpg)
89
Synchronizacja procesów z
zastosowaniem semafora
process P1;
(* waiting process *)
statement X;
wait (consyn)
statement Y;
end P1;
process P2;
(* signalling proc *)
statement A;
signal (consyn)
statement B;
end P2;
var consyn : semaphore (* init 0 *)
![Page 90: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/90.jpg)
90
Wzajemne wykluczanie z
zastosowaniem semafora
process P2;
statement A;
wait (mutex);
statement B;
signal (mutex);
statement C;
end P2;
process P1;
statement X
wait (mutex);
statement Y
signal (mutex);
statement Z
end P1;
(* mutual exclusion *)
var mutex : semaphore; (* initially 1 *)
![Page 91: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/91.jpg)
91
Zakleszczenie (1)
type Sem is ...;
X : Sem := 1; Y : Sem := 1;
task B;
task body B is
begin
...
Wait(Y);
Wait(X);
...
end B;
task A;
task body A is
begin
...
Wait(X);
Wait(Y);
...
end A;
• Dwa procesy są zakleszczone, jeśli każdy z nich
przechwycił zasób i oczekuje na drugi zasób
przechwycony przez drugiego.
![Page 92: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/92.jpg)
92
Zakleszczenie (2)
a
b
0 2 4 6
Process
Wait(sQ)
Wait(sV)
Signal(sV)
Signal(sQ)
Wait(sV)
Wait(sQ)
Signal(sQ)
Signal(sV)
-
-
-
-
a b
Zablokowany na SV
Zablokowany na SQ
![Page 93: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/93.jpg)
93
Ograniczone buforowanie type Sem is ...;
Pusty : Sem := n; Pełny : Sem := 0; Mutex : Sem := 1;
{Konsument}
task B;
task body B is
Begin
repeat
Wait(Pełny);
Wait(Mutex);
odbierz z bufora
Signal(Mutex);
Signal(Pusty);
konsumuj
until false;
end B;
{Producent}
task A;
task body A is
begin
repeat
produkuj
Wait(Pusty);
Wait(Mutex);
dodaj do bufora
Signal(Mutex);
Signal(Pełny);
until false;
end A;
![Page 94: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/94.jpg)
94
Czytelnicy i pisarze type Sem is ...;
Pis : Sem := 1; Mutex : Sem := 1;
liczba_czyt : Integer := 0;
{Czytelnik}
Wait(Mutex);
liczba_czyt := liczba_czyt + 1;
if liczba_czyt = 1
then Wait(Pis);
Signal(Mutex);
Czytaj
Wait(Mutex);
liczba_czyt := liczba_czyt - 1;
if liczba_czyt = 0
then Signal(Pis);
Signal(Mutex);
{Pisarz}
Wait(Pis);
Pisz
Signal(Pis);
![Page 95: Systemy Operacyjne - ssamolej.kia.prz.edu.plssamolej.kia.prz.edu.pl/dydaktyka/inf_1EE_ZI/wyk1_inf_8_4.pdf · Podstawy systemów operacyjnych. WNT, Warszawa 2005 . 3 Plan wykładu](https://reader031.vdocuments.site/reader031/viewer/2022022802/5c78c72c09d3f2cb498c1f7c/html5/thumbnails/95.jpg)
95
Pięciu ucztujących filozofów