STRUKTURY SYSTEMÓW OPERACYJNYCH

Podobne dokumenty
Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

ARCHITEKTURY SYSTEMÓW OPERACYJNYCH

Działanie systemu operacyjnego

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Wprowadzenie do systemów operacyjnych

Paweł Skrobanek. C-3, pok

Struktury systemów operacyjnych

Struktury systemów operacyjnych

Informatyka. informatyka i nauki komputerowe (computer science)

Systemy operacyjne III

Budowa systemów komputerowych

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Systemy Operacyjne struktura

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

LEKCJA TEMAT: Zasada działania komputera.

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Technologia informacyjna. Urządzenia techniki komputerowej

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Systemy operacyjne. Paweł Pełczyński

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

ochrona w systemie operacyjnym

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Struktura systemów komputerowych

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Warstwy systemu Windows 2000

Architektura i administracja systemów operacyjnych

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

System operacyjny System operacyjny

Działanie komputera i sieci komputerowej.

Struktury systemów operacyjnych

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Systemy operacyjne system przerwań

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

SYSTEMY WEJŚCIA-WYJŚCIA

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Podstawowe zagadnienia

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

PAMIĘĆ OPERACYJNA...107

Sieciowe Systemy Operacyjne

System komputerowy. System komputerowy

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Urządzenia wejścia-wyjścia

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

1. Co to jest system operacyjny

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Tworzenie i obsługa wirtualnego laboratorium komputerowego

projektowanie systemu

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Wstęp do Informatyki. Klasyfikacja oprogramowania

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Czujniki obiektowe Sterowniki przemysłowe

System operacyjny. System operacyjny to program kontrolujący pracę komputera

O historycznym systemie DOS. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Aga-Komputers

Zarządzanie pamięcią operacyjną

Struktury systemów operacyjnych

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

System plików. Warstwowy model systemu plików

Komputer i urządzenia z nim współpracujące.


Komputery przemysłowe i systemy wbudowane

Materiały pomocnicze do laboratorium z Architektury Komputerów II.

Java EE produkcja oprogramowania

4. Procesy pojęcia podstawowe

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Jądro systemu operacyjnego

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Algorytm. a programowanie -

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Proces y i y w i ąt ą ki

4. Procesy pojęcia podstawowe

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Win Admin Replikator Instrukcja Obsługi

1. Podstawy...P Polecenia podstawowe...p... 18

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

TECHNOLOGIE INFORMACYJNE

System plików warstwa logiczna

Podstawy Informatyki Systemy operacyjne

7. zainstalowane oprogramowanie zarządzane stacje robocze

Transkrypt:

STRUKTURY SYSTEMÓW OPERACYJNYCH Struktury systemów operacyjnych 1 WSTEP Systemy operacyjne nie sa jednym spójnym tworem, lecz sa zbudowane z wielu pomniejszych składowych Każda ze składowych powinna być dobrze określonym fragmentem systemu ze starannie zdefiniowanym wejściem, wyjściem i działaniem Każdy system operacyjny jest inaczej zbudowany ale większość posiada podobne składowe

Struktury systemów operacyjnych 2 moduł zarzadzania procesami moduł zarzadzania pamięcia operacyjna moduł zarzadzania plikami moduł zarzadzania systemem wejścia wyjścia moduł zarzadzanie pamięcia pomocnicza praca sieciowa system ochrony system interpretacji poleceń Struktury systemów operacyjnych 3 CZEŚCI SKŁADOWE SO ZARZADZANIE PROCESAMI Proces program, który jest wykonywany, np. zadanie systemowe, program wsadowy, program użytkownika, zadanie do drukowania Proces musi korzystać z pewnych zasobów systemu komputerowego, np. czasu CPU, pamięci, plików, urzadzeń peryferyjnych Zasoby moga być przydzielone procesowi w chwili jego utworzenia, lub podczas jego wykonywania Po zakończeniu działania procesu, system komputerowy odzyskuje wszelkie zasoby przez niego wykorzystywane i nadajace się do powtórnego użytku

Struktury systemów operacyjnych 4 Proces jednostka pracy w systemie; system składa się ze zbioru procesów, część z nich to procesy systemu operacyjnego, pozostałe procesy użytkownika Program jest elementem pasywnym i sam w sobie nie jest procesem Proces element aktywny, w którym licznik rozkazów wskazuje następna instrukcję do wykonania: proces jest wykonywany sekwencyjnie CPU wykonuje instrukcje jedna po drugiej na żadanie procesu może być jednocześnie wykonana co najwyżej jedna instrukcja z jednym programem może być powiazanych wiele procesów, zawsze rozważa się je jako oddzielne ciagi instrukcji Struktury systemów operacyjnych 5 W odniesieniu do zarzadzania procesami system operacyjny odpowiada za: 1. tworzenie i usuwanie procesów użytkowych i systemowych 2. wstrzymywanie i wznawianie procesów 3. dostarczanie mechanizmów synchronizacji procesów 4. dostarczanie mechanizmów komunikacji procesów 5. dostarczanie mechanizmów obsługi zakleszczeń

Struktury systemów operacyjnych 6 ZARZADZANIE PAMIECI A OPERACYJNA Pamięć operacyjna kluczowy element każdego systemu komputerowego Pamięć to magazyn szybko dostępnych danych wykorzystywanych przez CPU i urzadzenia IO Przykładowe wykonywanie cyklu rozkazów czytanie pamięć operacyjna wykonywanie pobieranie danych z dysku pamięć operacyjna czytanie danych przez proces wykonywanie W celu wykonania programu, należy go zaadresować oraz załadować do pamięci Podczas wykonywania programu, rozkazy i dane sa pobierane z pamięci za pomoca generowania potrzebnych adresów Struktury systemów operacyjnych 7 Lepsze wykorzystanie CPU oraz szybsza odpowiedź komputera przechowywanie w pamięci kilku programów jednocześnie W odniesieniu do zarzadzania pamięcia operacyjna system operacyjny odpowiada za: 1. utrzymywanie ewidencji aktualnie zajętych części pamięci wraz z informacja w czyim sa władaniu 2. decydowanie, które procesy maja być załadowane do zwolnionych obszarów pamięci 3. przydzielanie i zwalnianie obszarów pamięci stosownie do potrzeb

Struktury systemów operacyjnych 8 ZARZADZANIE PLIKAMI Najbardziej widoczna część systemu operacyjnego Dane można przechowywać na różnego rodzaju nośnikach: magnetycznych, optycznych, itp. Dla wygody użytkownika system operacyjny tworzy jednolity, logiczny obraz magazynowanej informacji: definiuje on pliki niezależnie od fizycznych właściwości używanych urzadzeń przechowywania informacji system operacyjny odwzorowuje pliki na fizyczne nośniki informacji umożliwia do nich dostęp za pomoca urzadzeń pamięci Struktury systemów operacyjnych 9 Jeśli wielu użytkowników ma dostęp do tych samych plików to jest pożadane sprawowanie pieczy nad tym kto i w jaki sposób korzysta z tego dostępu W odniesieniu do zarzadzania plikami system operacyjny odpowiada za: 1. tworzenie i usuwanie plików 2. tworzenie i usuwanie katalogów 3. dostarczenie elementarnych operacji do manipulowania plikami i katalogami 4. odwzorowanie plików na obszary pamięci pomocniczej 5. składowanie plików na trwałych nośnikach pamięci

Struktury systemów operacyjnych 10 ZARZADZANIE SYSTEMEM WEJŚCIA WYJŚCIA Jednym z celów systemu operacyjnego jest ukrywanie przed użytkownikiem szczegółów dotyczacych specyfiki urzadzeń sprzętowych Przykładem poprawnie zaprojektowanego systemu jest system UNIX, gdzie osobliwości urzadzeń IO sa ukryte przed większościa samego systemu przez tzw. podsystem wejścia wyjścia Podsystem wejścia wyjścia składa się z: części zarzadzaj acej pamięcia (buforowanie, pamięć podręczna, spooling) ogólnego interfejsu do modułów sterujacych urzadzeń modułów sterujacych (programów obsługi) poszczególnych urzadzeń sprzętowych Osobliwości poszczególnego urzadzenia wejścia wyjścia zna tylko odpowiadajacy mu moduł sterujacy Struktury systemów operacyjnych 11 ZARZADZANIE PAMIECI A POMOCNICZA Pamięć operacyjna jest za mała aby pomieścić wszystkie dane i programy Zawarte w niej dane gina po odcięciu zasilania System komputerowy powinien posiadać zatem pamięć pomocnicza będac a zapleczem dla pamięci operacyjnej Pamięcia dyskowa jako podstawowym środkiem magazynowania zarówno danych jak i programów W odniesieniu do zarzadzania pamięcia operacyjna, system operacyjny odpowiada za: 1. zarzadzanie obszarami wolnymi 2. przydzielaniem pamięci 3. planowaniem przydziału obszarów pamięci dyskowej

Struktury systemów operacyjnych 12 SYSTEM OCHRONY W systemie z wieloma użytkownikami i współbieżnie wykonywanymi wieloma procesami poszczególne procesy należy chronić przed wzajemnym oddziaływaniem Należy opracować mechanizmy gwarantujace, że pliki, segmenty pamięci, procesor i inne zasoby będa użytkowane tylko przez te procesy, które zostały przez system operacyjny odpowiednio uprawnione Ochrona mechanizm nadzorowania dostępu programów, procesów lub użytkowników do zasobów zdefiniowanych przez system komputerowy Mechanizmy ochrony zawieraja sposoby określenia, co i w jakiej formie ma podlegać ochronie, jak również środki do wymuszania zaprowadzonych ustaleń Struktury systemów operacyjnych 13 Za pomoca działań ochronnych można polepszać niezawodność systemu poprzez poszukiwanie błędów ukrytych w interfejsach między składowymi podsystemami Wczesne wykrywanie błędów w interfejsach może zapobiec zanieczyszczeniu zdrowego podsystemu przez podsystem uszkodzony Zasoby niechronione nie moga obronić się przed użyciem lub nadużyciem przez nieupoważnionego lub niekompetentnego użytkownika System ochrony dostarcza środków do rozróżniania między prawomocnym i nieprawomocnym użyciem

Struktury systemów operacyjnych 14 SYSTEM INTERPRETACJI POLECEŃ Interpreter poleceń jeden z najważniejszych programów w systemie operacyjnym Interpreter poleceń interfejs pomiędzy użytkownikiem, a systemem operacyjnym niektóre systemy zawieraja interpreter poleceń w swoim jadrze w innych systemach (MS-DOS, UNIX) interpreter poleceń jest specjalnym programem powłoka (interpreterem wiersza poleceń) Struktury systemów operacyjnych 15 Systemy operacyjne często różnia się od siebie warstwa powłoki przyjazny interpreter systemy Apple Macintosh i Microsoft Windows operowanie za pomoca systemu okien i menu oraz myszki interpretery trudniejsze do opanowania lecz o większych możliwościach systemy MS-DOS, UNIX polecenia pisane na klawiaturze sa wyświetlane na monitorze lub drukowane Polecenia rozpoznawane przez interpreter dotycza: 1. tworzenia procesów i zarzadzanie nimi 2. obsługi wejścia wyjścia 3. administrowania pamięcia pomocnicza i operacyjna 4. ochrony i pracy sieciowej

Struktury systemów operacyjnych 16 USŁUGI SYSTEMÓW OPERACYJNYCH Wykonanie programu możliwość załadowania programu do pamięci i rozpoczęcia jego wykonywania możliwość zakończenia: w sposób normalny w sposób wyjatkowy (potrzeba sygnalizowania błędu) Struktury systemów operacyjnych 17 Przykład 1. System MS-DOS a) b) Wolna pamiêæ Interpreter poleceñ J¹dro Wolna pamiêæ Proces Interpreter poleceñ J¹dro system jednozadaniowy a) rozruch systemu b) wykonanie programu program jest wprowadzany do pamięci kosztem części systemu operacyjnego

Struktury systemów operacyjnych 18 Przykład 2. System UNIX Proces D Wolna pamiêæ Proces C Interpreter poleceñ Proces B J¹dro system wielozadaniowy z możliwościa wyboru interpretera poleceń interpreter poleceń może kontynuować działanie podczas wykonywania innego programu (wykonywanie procesu w tle) Struktury systemów operacyjnych 19 Operacje wejścia wyjścia wiele programów potrzebuje operacji IO odnoszacych się do pliku lub urzadzenia peryferyjnego poszczególne urzadzenia wymagaja określonych funkcji, np. wygaszenie ekranu monitora ze względu na wydajność i ochronę, użytkownicy zazwyczaj nie moga bezpośrednio nadzorować operacji wejścia wyjścia Manipulowanie systemem plików programy musza zapisywać i odczytywać pliki możliwość tworzenia i usuwania plików przy użyciu ich nazw Komunikacja Procesy wymagaja wzajemnego kontaktu i wymiany informacji Metody organizowania komunikacji: 1. pamięć dzielona, 2. przekazywanie komunikatów

Struktury systemów operacyjnych 20 Przykład 3. Modele komunikacji 1. Model przesyłania komunikatów Proces A Proces B K K J¹dro K informacja jest wymieniana przez międzyprocesowe środki komunikacji dostarczone przez system operacyjny nawiazanie połaczenia nazwy klienta get process id i serwera get host id Struktury systemów operacyjnych 21 zezwolenie odbiorcy na nawiazanie połaczenia accept connection źródło (klient) oraz demon odbiorczy (serwer) wymieniaja komunikaty za pomoca funkcji systemowych read message i write message koniec komunikacji close connection Zalety bezkonfliktowa wymiana informacji możliwość wykorzystania do komunikacji procesów pracujacych w różnych systemach komputerowych

Struktury systemów operacyjnych 22 2. Model z pamięcia dzielona Proces A Pamiêæ dzielona Proces B 1 2 J¹dro procesy posługuja się systemowymi funkcjami odwzorowania pamięci system operacyjny próbuje zapobiegać dostawaniu się jednego procesu do pamięci innego dzielenie pamięci wymaga, aby dwa lub więcej procesów zgodziło się na usunięcie tego ograniczenia Struktury systemów operacyjnych 23 procesy moga wymieniać informacje poprzez czytanie i pisanie do wspólnie użytkowanych obszarów procesy musza pamiętać, aby nie pisać jednocześnie do tego samego miejsca Właściwości model stosowany do komunikacji procesów pracujacych na tym samym komputerze pamięć dzielona zapewnia maksymalna szybkość i wygodę komunikacji problemy z zakresu ochrony i synchronizacji

Struktury systemów operacyjnych 24 Wykrywanie błędów system operacyjny powinien być nieustannie powiadamiany o występowaniu błędów oraz odpowiednio na nie reagować błędy w działaniu CPU i pamięci operacyjnej błędy w urzadzeniach IO (błędy parzystości, awaria połaczenia w sieci, brak papieru w drukarce) błędy w programie użytkownika (błędy arytmetyczne, dostęp do niedozwolonych obszarów pamięci) Struktury systemów operacyjnych 25 Przydzielanie zasobów zarzadzanie różnymi zasobami systemu komputerowego przydzielanie cykli procesora czy pamięci operacyjnej może wymagać odrębnego kodu, podczas gdy urzadzenia IO moga mieć bardziej ogólny kod zamawiania i zwalniania różne procedury moga być wywoływane do przydzielania modemów, ploterów i innych urzadzeń

Struktury systemów operacyjnych 26 INNE USŁUGI SO Rozliczanie przechowywanie danych o tym, którzy użytkownicy i w jakim stopniu korzystaja z poszczególnych zasobów komputera cele statystyczne rekonfiguracja systemu Ochrona nadzór nad wszystkimi dostępami do zasobów systemu zabezpieczenie systemu przed niedozwolonym dostępem, rejestrowanie wszystkich takich przypadków, wykrywanie włamań Struktury systemów operacyjnych 27 STRUKTURY SYSTEMÓW Wiele systemów nie ma ściśle określonej struktury Małe systemy często rozszerzano przekraczajac pierwotne założenia System MS-DOS Programy u ytkowe Rezydentne programy systemowe Modu³y obs³ugi urz¹dzeñ z poziomu MS-DOS Modu³y obs³ugi urz¹dzeñ w pamiêci ROM BIOS

Struktury systemów operacyjnych 28 wyraźnie rozróżnione poziomy funkcjonalne z poziomu programów użytkowych można korzystać z podstawowych procedur IO, np. pisania na ekran czy dyski swoboda tego rodzaju powoduje, że system nie jest odporny na błędnie działajace programy użytkowe możliwość zawieszenia się systemu lub uszkodzenia podzespołów Struktury systemów operacyjnych 29 System UNIX Powłoki i polecenia UŻYTKOWNICY Kompilatory, interpretery Biblioteki systemowe Interfejs funkcji systemowych jadra System plików, planowanie przydziału czasu CPU pamięć wirtualna, system wejścia wyjścia moduły sterujace dysków i taśm moduły sterujace terminali Interfejs między jadrem a sprzętem sterowniki sterowniki sterowniki terminali urzadzeń pamięci Terminale Dyski i taśmy RAM

Struktury systemów operacyjnych 30 przykład strukturalizacji systemu system składa się z dwóch części: jadra i programów systemowych jadro dzieli się na ciag interfejsów i programów obsługi urzadzeń za pośrednictwem funkcji systemowych jadro udostępnia system plików, zarzadzanie pamięcia operacyjna, planowanie przydziału CPU, itd. (wiele możliwości zebranych na jednym poziomie) programy systemowe korzystaja z udostępnianych przez jadro funkcji systemowych w celu wykonywania użytecznych działań (operowanie plikami, kompilacja) wada systemu UNIX w wersji podstawowej jest to, że posiada tylko dwie warstwy, które zawieraja bardzo dużo elementów można podzielić system operacyjny na mniejsze, lepiej dobrane elementy większa kontrola nad komputerem i programami użytkowymi Struktury systemów operacyjnych 31 SYSTEMY O STRUKTURZE WARSTWOWEJ W podejściu warstwowym dzieli się system na tzw. warstwy (poziomy) Poziom najniższy (warstwa 0) sprzęt Poziom najwyższy (warstwa N) interfejs z użytkownikiem Poziom M-ty struktury danych i procedury wywoływane z wyższych warstw Warstwa M-ta może wywoływać operacje dotyczace niższych warstw ZALETA modularność każda z warstw korzysta z usług tylko niżej położonych warstw łatwe wyszukiwanie błędów i weryfikacja systemu pierwsza warstwa może być poprawiana bez troski o resztę systemu po uruchomieniu warstwy można przystapić do realizacji kolejnej

Struktury systemów operacyjnych 32 System THE pierwszy system warstwowy THE (Technische Hogeschool Eindhoven) 5 PROGRAMY UŻYTKOWE 4 BUFOROWANIE URZADZEŃ WEJŚCIA WYJŚCIA 3 PROGRAM OBSŁUGI KONSOLI OPERATORA 2 ZARZADZANIE PAMIECI A 1 PLANOWANIE PRZYDZIAŁU PROCESORA 0 SPRZET schemat zarzadzania pamięcia pamięć wirtualna program obsługi konsoli operatora i buforowanie urzadzeń wejścia wyjścia były zlokalizowane wyżej od zarzadzania pamięcia, bufory urzadzeń mogły być umieszczone w pamięci wirtualnej buforowanie urzadzeń wejścia wyjścia znajdowało się powyżej konsoli operatora, dlatego informacje o błędach wejścia wyjścia mogły być wyprowadzane na konsolę operatora Struktury systemów operacyjnych 33 System VENUS 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZADZEŃ 4 PAMIEĆ WIRTUALNA 3 KANAŁ WEJŚCIA WYJŚĆIA 2 PLANOWANIE PRZYDZIAŁU PROCESORA 1 INTERPRETER POLECEŃ 0 SPRZET poziomy niższe 0 4 planowanie przydziału czasu procesora i zarzadzanie pamięcia warstwy 0 4 zostały napisane jako mikroprogramy szybsze działanie i przejrzysty interfejs między warstwami mikroprogramowanymi, a warstwami wyższymi

Struktury systemów operacyjnych 34 Właściwości główna wada trudności w odpowiednim zdefiniowaniu poszczególnych warstw program obsługi pamięci pomocniczej powinien być poniżej procedury zarzadzania pamięcia wiele wymagań nie jest jawnie określonych realizacje warstwowe mniej wydajne od innych główna zaleta łatwość w lokalizacji błędów i weryfikacji systemu Podsumowanie problemy z efektywnościa spowodowały nieznaczne odchodzenie od modeli warstwowych daży się do systemów złożonych z mniejszej liczby ale bardziej funkcjonalnych warstw Struktury systemów operacyjnych 35 MASZYNY WIRTUALNE Cele programów użytkowych moga być realizowane przez system operacyjny różnymi sposobami programy systemowe funkcje systemowe rozkazy sprzętowe Programy użytkowe moga traktować wszystko to co znajduje się poniżej ich w hierarchii systemu komputerowego traktować jako stanowiace część maszyny (komputera) Logicznym rozszerzeniem modelu warstowego była idea maszyny wirtualnej System operacyny VM (firma IBM) przykład zastosowania koncepcji maszyny wirtualnej

Struktury systemów operacyjnych 36 Dzięki koncepcji maszyny wirtualnej tworzy się interfejs identyczny z podstawowym sprzętem Każdy proces otrzymuje (wirtualna) kopię komputera (podstawy systemu) Procesy Procesy Procesy Procesy J¹dro Sprzêt (a) Interfejs programowy J¹dro J¹dro J¹dro Maszyna wirtualna Sprzêt (b) Maszyna niewirtualna (a), maszyna wirtualna (b) Struktury systemów operacyjnych 37 Właściwości ochrona zasobów systemowych każda maszyna wirtualna jest całkowicie odizolowana od innych maszyn wirtualnych brak bezpośredniej możliwości wspólnego użytkowania zasobów łatwa konserwacja systemu programiści systemowi otrzymuja własne maszyny wirtualne i na nich dokonuja konserwacji systemu. Unika się w ten sposób okresowego wyłaczenia systemu rozwiazanie zagadnienia zgodności systemów możliwość uruchomienia programów dedykowanych na określona platformę sprzętowa w innym systemie operacyjnym uruchamianie programów dostępnych w systemie MS-DOS na komputerach DEC maszyna wirtualna Intel nadbudowana na rdzenny procesor komputer Apple Macintosh z procesorem PowerPC zawiera maszynę wirtualna Motorola 68000 umożliwiajac a wykonywanie programów binarnych napisanych dla starszego modelu komputera

Struktury systemów operacyjnych 38 JAVA Przykład ciagłości koncepcji maszyny wirtualnej Kompilator języka Java wytwarza tzw. kod pośredni, który wykonywany jest przez Wirtualna maszynę Javy (ang. Java Virtual Machine JVM) Maszyna JVM działa na wielu typach komputerów: komputerach klasy PC, Macintosh, stacjach roboczych i serwerach systemu UNIX, minikomputerach i komputerach głównych typu IBM Maszyna JVM jest realizowana w przegladarkach sieciowych Kod pośredni sprawdzany jest pod katem występowania rozkazów mogacych naruszać bezpieczeństwo lub niezawodność podstawowej maszyny. Jeżeli program nie zaliczy tego testu to nie zostanie wykonany Struktury systemów operacyjnych 39 System OS/2 SYSTEMY O STRUKTURZE MODULARNEJ Aplikacja Aplikacja Aplikacja Interfejs programowania aplikacji Rozszerzenie API Podsystem Podsystem Podsystem JADRO SYSTEMU zarzadzanie pamięcia ekspediowanie zadań zarzadzanie urzadzeniami Moduł Moduł Moduł sterujacy sterujacy sterujacy

Struktury systemów operacyjnych 40 system OS/2 następca MS-DOS system wielozadaniowy, podwójny tryb operacji zaprojektowany z uwzględnieniem warstwowości użytkownik nie może korzystać bezpośrednio z udogodnień niskiego poziomu zwiększona kontrola nad sprzętem i lepsze rozeznanie co do zasobów wykorzystywanych przez programy użytkowników Struktury systemów operacyjnych 41 System Windows NT pierwsza wersja systemu struktura warstwowa niska wydajność w stosunku do systemu Windows 95 w wersji Windows NT 4.0 poprawiono niedogodności przesuwajac warstwy z przestrzeni użytkownika do przestrzeni jadra ściśle je integrujac architektura systemu NT wersji 4 warstwowy układ modułów warstwa abstrakcji sprzętu jadro egzekutor zbiór podsystemów działajacych w rybie użytkownika

Struktury systemów operacyjnych 42 Struktura systemu Windows NT Zbiór podsystemów Egzekutor Zarz¹dca wejœciawyjœcia Zarz¹dca procesów Zarz¹dca obiektów J¹dro Zarz¹dca pamiêci wirtualnej Warstwa abstrakcji sprzêtu SPRZÊT Struktury systemów operacyjnych 43 PROJEKTOWANIE I IMPLEMENTACJA SO Założenia projektowe Specyfikacja systemu wybór sprzętu i typ systemu Wymagania użytkowników system operacyjny powinien być wygodny w użyciu, łatwy do nauki, niezawodny, bezpieczny i szybki Cele projektantów system operacyjny powinien być łatwy do zaprojektowania, implementacji i konserwacji, elastyczny, niezawodny, pozbawiony błędów oraz efektywny problem zdefiniowania wymagań względem systemu operacyjnego nie ma jednoznacznego rozwiazania Ogólne zasady projektowania Inżynieria oprogramowania

Struktury systemów operacyjnych 44 Języki programowania obecnie do projektowania systemów operacyjnych wykorzystuje się języki wysokiego poziomu polepsza to implementację, pielęgnację oraz przenaszalność systemu wady stosowania języków wysokie poziomu 1. spowolnienie działania systemu 2. większe zapotrzebowanie na pamięć pomimo wielkich rozmiarów systemów operacyjnych na ich efektywność ma wpływ niewielka ilość kodu: zarzadca pamięci i planista przydziału CPU procedury będace waskimi gardłami można zastapić odpowiednikami napisanymi w asemblerze Struktury systemów operacyjnych 45 FUNKCJE SYSTEMOWE Funkcje systemowe (wywołania systemowe ang. system calls) stanowia interfejs pomiędzy wykonywanym programem, a systemem operacyjnym. Podział funkcji systemowych: nadzorowanie procesów, np. end, abort, wait for operacje na plikach, np. open, close, read, write, get file attributes time operacje na urzadzeniach, np. request device, release device, read, write, reposition otrzymywanie informacji, np. get time, get date, get device attributes komunikacja, np. create connection, delete connection, send message

Struktury systemów operacyjnych 46 PROGRAMY SYSTEMOWE Programy systemowe tworza środowisko do opracowywania i wykonywania innych programów. Można powiedzieć, że programy systemowe sa interfejsami użytkownika do funkcji systemowych Podział programów systemowych: manipulowanie plikami informowanie o stanie systemu translatory języków programowania ładowanie i wykonywanie programów komunikacja Większość nowoczesnych systemów operacyjnych zawiera programy do wykonywania typowych zadań : przegladarki WWW, edytory tekstów, proste arkusze kalkulacyjne, itp.