Podstawy Informatyki Systemy operacyjne -...

30
Plan wykladu 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

Transcript of Podstawy Informatyki Systemy operacyjne -...

Plan wykładuSystem operacyjny

Zarządzanie zasobamiMechanizmy ochrony zasobów niepodzielnych

Podstawy InformatykiSystemy operacyjne

dr inż. Alina MOMOT

[email protected]

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