Podstawy Informatyki Systemy operacyjne

advertisement
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Podstawy Informatyki
Systemy operacyjne
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Plan wykładu
1
System operacyjny
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
2
Zarządzanie zasobami
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
3
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Definicja wg Alana Shaw
System operacyjny
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.
Stosowane wymiennie określenia:
system operacyjny,
system nadzorczy,
system nadrzędny,
system sterujący.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Inne definicje
Abraham Silberschatz
System operacyjny jest programem, który działa jako pośrednik między
użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu
operacyjnego jest tworzenie środowiska, w którym użytkownik może
wykonywać programy w sposób wygodny i wydajny.
Andrew Tanenbaum
System operacyjny jest warstwą oprogramowania operującą bezpośrednio
na sprzęcie, której celem jest zarządzanie zasobami systemu
komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do
zrozumienia i wykorzystania.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Czym jest system operacyjny
Nie ma precyzyjnego określenia, które składniki wchodzą w skład systemu
operacyjnego jako jego części. Ogólnie w strukturze SO wyróżnia się:
jądro,
programy systemowe.
Jądro
zbiór 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.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
System operacyjny jako pośrednik
System operacyjny pośredniczy pomiędzy użytkownikiem a sprzętem,
dostarczając wygodne środowisko do wykonywania programów.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Efektywność a wygoda
System operacyjny dostarcza tzw. interfejs użytkownika, który
umożliwia interakcję z systemem komputerowym jako:
zbiór poleceń lub
system okienkowy wraz z odpowiednim menu.
Dwa ogólne, niezależne cele projektowe systemów operacyjnych to:
efektywność zarządzania zasobami,
(kluczowy w rozwoju rodziny systemów uniksowych)
wygodny interfejs dla użytkownika
(charakterystyczny dla systemów rodziny MS Windows).
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Wprowadzenie
Użytkownik końcowy korzysta z programów (aplikacji), na potrzeby
których przydzielane są zasoby systemu komputerowego.
Przydziałem zasobów zarządza system, dzięki czemu można uzyskać:
stosunkowo duży stopień niezależności programów od sprzętu,
odpowiedni poziom bezpieczeństwa i sprawności działania.
Program użytkownika
Kompilator języka wyższego rzędu
Asembler/Makroasembler
Bootstrap Loader/Linker
System operacyjny
Przerwania Układ we/wy DMA
Procesor PaO
dr inż. Alina MOMOT
Zasoby programowe
Jądro systemu
Sprzęt
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Zadania systemu operacyjnego (1)
1. Udostępnianie systemu plików.
2. Udostępnianie środowiska do wykonywania programów:
mechanizm ładowania i uruchamiania programów
dostarczenie struktur danych do organizacji wykonywania programu
oraz zachowywania i odtwarzania stanu przetwarzania (procesy i
przełączanie kontekstu),
mechanizmy synchronizacji i komunikacji procesów
udostępnienie mechanizmów komunikacji pomiędzy procesami
kolejki komunikatów, strumienie, pamięć współdzielona
oraz mechanizmów synchronizacji procesów (np. semafory).
zarządzanie czasem procesora, pamięcią,
ochrona danych i pamięci.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Zadania systemu operacyjnego (2)
3. Sterowanie urządzeniami wejścia-wyjścia:
odpowiednie moduły sterujące (integrowane z systemem operacyjnym)
inicjalizują pracę urządzeń zewnętrznych,
pośredniczą w efektywnym przekazywaniu danych pomiędzy
jednostką centralną a tymi urządzeniami.
4. Obsługa podstawowej klasy błędów:
system operacyjny reaguje na błędy
użytkowników, np. niedostępność zasobów, brak prawa dostępu,
programistów, np. błąd dzielenia przez zero, naruszenie ochrony
pamięci, nieprawidłowy kod rozkazu,
systemu, np. błąd braku strony, błąd magistrali.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Podział ze względu na sposób przetwarzania
1
Systemy przetwarzania bezpośredniego
– systemy interakcyjne
występuje bezpośrednia interakcja pomiędzy użytkownikiem a
systemem,
wykonywanie zadania użytkownika rozpoczyna się zaraz po jego
przedłożeniu.
2
Systemy przetwarzania pośredniego
– 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.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Podział ze względu na dopuszczalną liczbę zadań
1
Systemy jednozadaniowe
– niedopuszczalne jest rozpoczęcie wykonywania następnego zadania
użytkownika przed zakończeniem poprzedniego.
2
Systemy wielozadaniowe
– dopuszczalne jest istnienie jednocześnie wielu zadań (procesów),
którym zgodnie z pewną strategią przydzielany jest procesor.
Zwolnienie procesora następuje w wyniku:
żądania przydziału dodatkowego zasobu,
zainicjowania operacji wejścia/wyjścia,
przekroczenia ustalonego limitu czasu (kwantu czasu),
uzyskania gotowości przez inne zadanie o wyższym priorytecie.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Podział systemów wielozadaniowych
Wielozadaniowe systemy operacyjne mogą oferować wywłaszczanie.
W systemie
z wywłaszczaniem jest możliwe przerwanie wykonywania
aktywnego procesu i przeniesienie go z powrotem do kolejki
kontrolowanej przez algorytm szeregowania,
bez wywłaszczania zadania muszą przełączać się dobrowolnie
(proces aktywny jest przenoszony do kolejki procesów oczekujących
tylko wtedy, gdy sam przerwie swoje działanie; dopóki tego nie
uczyni lub nie zakończy działania, żaden inny proces nie otrzyma
dostępu do procesora).
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Podział ze względu na liczbę użytkowników
1
Systemy dla jednego użytkownika
– zasoby przeznaczone są dla jednego użytkownika, np. w przypadku
komputerów osobistych
nie ma mechanizmów autoryzacji dostępu,
mechanizmy ochrony informacji są ograniczone.
2
Systemy wielodostępne
– wielu użytkowników może korzystać z zasobów systemu
system operacyjny gwarantuje ochronę przed niepowołaną ingerencją.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Inne rodzaje systemów operacyjnych
1
Systemy czasu rzeczywistego (ang. real-time systems)
– zorientowane na przetwarzanie z uwzględnieniem czasu
zakończenie zadania, tzw. linii krytycznej (ang. deadline).
2
Systemy sieciowe i rozproszone (ang. network and distributed
systems)
– umożliwiają zarządzanie zbiorem rozproszonych jednostek
przetwarzających
zbiór komputerów jest zintegrowany w sieć komputerową,
komputery nie współdzielą fizycznie zasobów.
3
Systemy operacyjne komputerów naręcznych
– tworzone dla rozwiązań typu PDA, czy telefonów komórkowych
podlegają istotnym ograniczeniom zasobowym.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnego
Zadania systemu operacyjnego
Klasyfikacja systemów operacyjnych
Inne rozwiązania
1
Systemy operacyjne pracujące na maszynie wirtualnej
– system wirtualny w postaci procesu działającego pod kontrolą
innego systemu operacyjnego.
2
Język programowania wykorzystywany jako system operacyjny.
W komputerach 8-bitowych często rolę powłoki systemu operacyjnego
spełniał interpreter poleceń języka BASIC.
W dużych systemach komputerowych, np. serii Odra 1300
implementowany był język Jean, który mógł pracować zarówno pod
kontrolą innego systemu operacyjnego (np. GEORGE 3), jak również
samodzielnie.
Językami programowania, których implementacja może stanowić
samodzielne systemy operacyjne są również FORTH (stosowany w
systemach sterowania automatyki przemysłowej) oraz Smalltalk.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasób systemu
zbiór układów wewnętrznych maszyny cyfrowej oraz zbiór programów
pomocniczych i funkcji bibliotecznych niezbędnych do realizacji procesów.
Zasoby dzieli się na:
sprzętowe:
procesor,
pamięć operacyjna,
urządzenia zewnętrzne,
system plików,
programowe:
biblioteki funkcji i programy pomocnicze.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
Zasoby podzielne
Zasób podzielny
taki, który oddać innemu zadaniu do wykorzystania a następnie powrócić
do obsługi zadania pierwszego (można przerywać korzystanie z danego
zasobu), np. procesor.
Podział czasu procesora(time-sharing)
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
Zasoby niepodzielne
Zasób niepodzielny
taki, z którego może korzystać na raz tylko jedno zadanie (innemu
zadaniu można przydzielić zasób dopiero, gdy aktualnie z niego
korzystające zakończy używanie go), np. drukarka.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
Sposób ochrony zasobów niepodzielnych
Przed skorzystaniem z zasobu niepodzielnego proces musi poprosić
system operacyjny o ten zasób
Procedura wejścia do zasobu:
1
sprawdzić, czy zasób o który prosi proces jest dostępny
2
jeśli tak przydzielić go procesowi i odnotować ten fakt;
jeśli nie odmówić procesowi i go wstrzymać (do czasu zwolnienia
zasobu).
Po wykorzystaniu zasobu proces oddaje zasób do systemu
Procedura wyjścia z zasobu:
1
odnotować fakt zwrócenia zasobu przez proces do puli systemu.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasoby podzielne i niepodzielne
Sposoby ochrony zasobów niepodzielnych
Przykład
Proces 1 i Proces 2 korzystają z jednego niepodzielnego zasobu: drukarki.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Procedura TAS (Test And Set)
Najprostszy sposób realizacji procedury wejścia do zasobu
– najczęściej realizowana jako pojedynczy rozkaz maszynowy.
Wykorzystanie zmiennej przyjmującej dwie wartości:
0 – zasób dostępny,
1 – zasób zajęty.
TAS m
Zablokuj dostęp do zmiennej m
jeżeli m = 0, to
m=1
licznik rozkazów = licznik rozkazów + 2
w przeciwnym razie
licznik rozkazów = licznik rozkazów + 1
Odblokuj dostęp do zmiennej m
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Ochrona zasobu z użyciem TAS
Procedura wejścia
ET: TAS M
SOB ET
Procedura wyjścia
M := 0
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Ochrona zasobu z użyciem TAS
Procedura wejścia
ET: TAS M
SOB ET
Procedura wyjścia
M := 0
Przykład ochrony drukarki (początkowo dr = 0):
Proces 1
···
ET1: TAS dr
SOB ET1
Drukowanie
POB St0
ŁAD dr
dr inż. Alina MOMOT
Proces 2
···
ET2: TAS dr
SOB ET2
Drukowanie
POB St0
ŁAD dr
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Wady instrukcji TAS
Czekanie aktywne.
Brak porządkowania procesów.
Możliwe ”zagłodzenie” procesu.
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Zasuwka
Zmienna binarna p wraz ze stowarzyszoną z nią kolejką f(p)
Procedura wejścia do zasobu
jeżeli p = 0, to
p := 1
w przeciwnym razie
zawieś program i dołącz do kolejki f(p)
Procedura wyjścia z zasobu
jeżeli f(p) 6= 0, to
wprowadź kolejny program z kolejki w stan aktywny
i usuń go z kolejki
w przeciwnym razie
p := 0
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Semafor
Zmienna całkowita e(s) wraz ze stowarzyszoną z nią kolejką f(s).
Zmiennej można nadać wartość początkową i można się odwoływać
tylko za pośrednictwem dwu niepodzielnych operacji: P oraz V.
Interpretacja wartości zmiennej e(s):
e(s) > 0 określa liczbę wolnych zasobów danego typu
e(s) = 0 oznacza zasób wyczerpany
e(s) < 0 stwierdza istnienie kolejki o długości |e(s)|
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Semafor - procedury P oraz V
Procedura wejścia P(s)
e(s) = e(s) − 1
jeżeli e(s) < 0, to
zmień stan procesu pytającego na zawieszony
wprowadź proces do kolejki f(s)
Procedura wyjścia V(s)
e(s) = e(s) + 1
jeżeli e(s) ¬ 0, to
wyprowadź z kolejki f(s) pierwszy proces
i ustaw jego stan na aktywny
dr inż. Alina MOMOT
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Przykład
Wykorzystanie semafora dla ochrony zasobu niepodzielnego: drukarki.
Założenia:
Dwa procesy chcą skorzystać z jednej drukarki.
Istnieje semafor dr i zmienna e0 (dr ) = 1.
Proces 1
···
P(dr)
Drukowanie
V(dr)
dr inż. Alina MOMOT
Proces 2
···
P(dr)
Drukowanie
V(dr)
Systemy operacyjne
Plan wykładu
System operacyjny
Zarządzanie zasobami
Mechanizmy ochrony zasobów niepodzielnych
Procedura TAS
Zasuwka
Semafor
Semafory - uzupełnienie
Semafory
najczęściej stosuje się do synchronizacji dostępu do zasobów
systemowych współdzielonych przez kilka zadań,
(aby zapobiec problemom wynikającym z prób jednoczesnego
dostępu i modyfikacji danego zasobu).
są zwykle implementowane w obszarze jądra systemu operacyjnego,
co pozwala na zaawansowaną obsługę zadań chcących uzyskać
dostęp do zasobu:
wstrzymywanie ich do czasu zwolnienia semafora powiązanego z
danym zasobem,
wznowienie pracy zadania oczekującego na semaforze,
utrzymywanie semafora nawet po zakończeniu zadania, które go
utworzyło.
dr inż. Alina MOMOT
Systemy operacyjne
Download