Podstawy Informatyki Systemy operacyjne -...
-
Upload
nguyenkhanh -
Category
Documents
-
view
216 -
download
0
Transcript of Podstawy Informatyki Systemy operacyjne -...
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Podstawy InformatykiSystemy operacyjne
dr inż. Alina MOMOT
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Plan wykładu
1 System operacyjnyDefinicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
2 Zarządzanie zasobamiZasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby ochrony zasobów niepodzielnych
3 Mechanizmy ochrony zasobów niepodzielnychProcedura TASZasuwkaSemafor
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Definicja wg Alana Shaw
System operacyjny
jest to zorganizowany zespół programów, które pośredniczą międzysprzętem a użytkownikami, dostarczając użytkownikom zestawu środkówułatwiających projektowanie, kodowanie, uruchamianie i eksploatacjęprogramów oraz w tym samym czasie sterują przydziałem zasobów dlazapewnienia 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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Inne definicje
Abraham Silberschatz
System operacyjny jest programem, który działa jako pośrednik międzyużytkownikiem komputera a sprzętem komputerowym. Zadaniem systemuoperacyjnego jest tworzenie środowiska, w którym użytkownik możewykonywać programy w sposób wygodny i wydajny.
Andrew Tanenbaum
System operacyjny jest warstwą oprogramowania operującą bezpośredniona sprzęcie, której celem jest zarządzanie zasobami systemukomputerowego i stworzenie użytkownikowi środowiska łatwiejszego dozrozumienia i wykorzystania.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Czym jest system operacyjny
Nie ma precyzyjnego określenia, które składniki wchodzą w skład systemuoperacyjnego 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 systemukomputerowego, udostępniając pewien zestaw usług, wykorzystywanychmiędzy innymi do implementacji programów systemowych.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Efektywność a wygoda
System operacyjny dostarcza tzw. interfejs użytkownika, któryumoż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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Wprowadzenie
Użytkownik końcowy korzysta z programów (aplikacji), na potrzebyktó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 Zasoby programoweKompilator języka wyższego rzęduAsembler/MakroasemblerBootstrap Loader/LinkerSystem operacyjny Jądro systemuPrzerwania Układ we/wy DMA SprzętProcesor PaO
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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ówdostarczenie struktur danych do organizacji wykonywania programuoraz zachowywania i odtwarzania stanu przetwarzania (procesy iprzełączanie kontekstu),
mechanizmy synchronizacji i komunikacji procesówudostę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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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ędzyjednostką 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 ochronypamięci, nieprawidłowy kod rozkazu,
systemu, np. błąd braku strony, błąd magistrali.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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 asystemem,wykonywanie zadania użytkownika rozpoczyna się zaraz po jegoprzedłożeniu.
2 Systemy przetwarzania pośredniego– systemy wsadowe
występuje znacząca zwłoka czasowa między przedłożeniem arozpoczęciem wykonywania zadania,niemożliwa jest ingerencja użytkownika w wykonywanie zadania.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Podział ze względu na dopuszczalną liczbę zadań
1 Systemy jednozadaniowe– niedopuszczalne jest rozpoczęcie wykonywania następnego zadaniauż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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Podział systemów wielozadaniowych
Wielozadaniowe systemy operacyjne mogą oferować wywłaszczanie.W systemie
z wywłaszczaniem jest możliwe przerwanie wykonywaniaaktywnego procesu i przeniesienie go z powrotem do kolejkikontrolowanej przez algorytm szeregowania,
bez wywłaszczania zadania muszą przełączać się dobrowolnie(proces aktywny jest przenoszony do kolejki procesów oczekującychtylko wtedy, gdy sam przerwie swoje działanie; dopóki tego nieuczyni lub nie zakończy działania, żaden inny proces nie otrzymadostępu do procesora).
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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 przypadkukomputeró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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja systemów operacyjnych
Inne rodzaje systemów operacyjnych
1 Systemy czasu rzeczywistego (ang. real-time systems)– zorientowane na przetwarzanie z uwzględnieniem czasuzakończenie zadania, tzw. linii krytycznej (ang. deadline).
2 Systemy sieciowe i rozproszone (ang. network and distributedsystems)– umożliwiają zarządzanie zbiorem rozproszonych jednostekprzetwarzają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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Definicje systemu operacyjnegoZadania systemu operacyjnegoKlasyfikacja 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 operacyjnegospełniał interpreter poleceń języka BASIC.W dużych systemach komputerowych, np. serii Odra 1300implementowany był język Jean, który mógł pracować zarówno podkontrolą 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 wsystemach sterowania automatyki przemysłowej) oraz Smalltalk.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby ochrony zasobów niepodzielnych
Zasoby systemu komputerowego
Zasób systemu
zbiór układów wewnętrznych maszyny cyfrowej oraz zbiór programówpomocniczych 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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby 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 danegozasobu), np. procesor.
Podział czasu procesora(time-sharing)
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby ochrony zasobów niepodzielnych
Zasoby niepodzielne
Zasób niepodzielny
taki, z którego może korzystać na raz tylko jedno zadanie (innemuzadaniu można przydzielić zasób dopiero, gdy aktualnie z niegokorzystające zakończy używanie go), np. drukarka.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby 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ępny2 jeśli tak przydzielić go procesowi i odnotować ten fakt;
jeśli nie odmówić procesowi i go wstrzymać (do czasu zwolnieniazasobu).
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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Zasoby systemu komputerowegoZasoby podzielne i niepodzielneSposoby 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ładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
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 mjeżeli m = 0, to
m = 1licznik rozkazów = licznik rozkazów + 2
w przeciwnym razielicznik rozkazów = licznik rozkazów + 1
Odblokuj dostęp do zmiennej m
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Ochrona zasobu z użyciem TAS
Procedura wejściaET: TAS MSOB ET
Procedura wyjściaM := 0
Przykład ochrony drukarki (początkowo dr = 0):
Proces 1· · ·ET1: TAS drSOB ET1DrukowaniePOB St0ŁAD dr
Proces 2· · ·ET2: TAS drSOB ET2DrukowaniePOB St0ŁAD dr
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Ochrona zasobu z użyciem TAS
Procedura wejściaET: TAS MSOB ET
Procedura wyjściaM := 0
Przykład ochrony drukarki (początkowo dr = 0):
Proces 1· · ·ET1: TAS drSOB ET1DrukowaniePOB St0ŁAD dr
Proces 2· · ·ET2: TAS drSOB ET2DrukowaniePOB St0ŁAD dr
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Wady instrukcji TAS
Czekanie aktywne.
Brak porządkowania procesów.
Możliwe ”zagłodzenie” procesu.
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Zasuwka
Zmienna binarna p wraz ze stowarzyszoną z nią kolejką f(p)
Procedura wejścia do zasobujeżeli p = 0, to
p := 1w przeciwnym razie
zawieś program i dołącz do kolejki f(p)
Procedura wyjścia z zasobujeżeli f(p) 6= 0, to
wprowadź kolejny program z kolejki w stan aktywnyi usuń go z kolejki
w przeciwnym raziep := 0
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
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 typue(s) = 0 oznacza zasób wyczerpanye(s) < 0 stwierdza istnienie kolejki o długości |e(s)|
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Semafor - procedury P oraz V
Procedura wejścia P(s)e(s) = e(s)− 1jeżeli e(s) < 0, to
zmień stan procesu pytającego na zawieszonywprowadź proces do kolejki f(s)
Procedura wyjścia V(s)e(s) = e(s) + 1jeżeli e(s) ¬ 0, to
wyprowadź z kolejki f(s) pierwszy procesi ustaw jego stan na aktywny
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
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)DrukowanieV(dr)
Proces 2· · ·P(dr)DrukowanieV(dr)
dr inż. Alina MOMOT Systemy operacyjne
Plan wykładuSystem operacyjny
Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych
Procedura TASZasuwkaSemafor
Semafory - uzupełnienie
Semafory
najczęściej stosuje się do synchronizacji dostępu do zasobówsystemowych współdzielonych przez kilka zadań,(aby zapobiec problemom wynikającym z prób jednoczesnegodostę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 zdanym zasobem,wznowienie pracy zadania oczekującego na semaforze,utrzymywanie semafora nawet po zakończeniu zadania, które goutworzyło.
dr inż. Alina MOMOT Systemy operacyjne