ARCHITEKTURY SYSTEMÓW OPERACYJNYCH



Podobne dokumenty
STRUKTURY SYSTEMÓW OPERACYJNYCH

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

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

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

Informatyka. informatyka i nauki komputerowe (computer science)

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

Struktury systemów operacyjnych

Budowa systemów komputerowych

Struktury systemów operacyjnych

Systemy Operacyjne struktura

Warstwy systemu Windows 2000

Paweł Skrobanek. C-3, pok

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

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

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

LEKCJA TEMAT: Zasada działania komputera.

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

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

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Zadania systemu operacyjnego. System komputerowy. Wprowadzenie. Dr inż. Ignacy Pardyka

System komputerowy. System komputerowy

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Struktury systemów operacyjnych

Technologia informacyjna. Urządzenia techniki komputerowej

Systemy operacyjne system przerwań

Systemy operacyjne III

Urządzenia 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

SYSTEMY WEJŚCIA-WYJŚCIA

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

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

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

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

Architektura i administracja systemów operacyjnych

Czujniki obiektowe Sterowniki przemysłowe

System operacyjny System operacyjny

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

Systemy operacyjne Charakterystyka systemów operacyjnych

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

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

Struktura systemów komputerowych

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

Podstawowe zagadnienia

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

projektowanie systemu

Systemy operacyjne. dr inż. Jerzy Sas.

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

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

System plików warstwa logiczna

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

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Wstęp do Informatyki. Klasyfikacja oprogramowania

1. Co to jest system operacyjny

PRZEWODNIK PO PRZEDMIOCIE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Rejestr HKEY_LOCAL_MACHINE

Zarządzanie pamięcią operacyjną

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

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Opis efektów kształcenia dla modułu zajęć

Podstawy Informatyki Systemy operacyjne

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Technologie informacyjne (2) Zdzisław Szyjewski

PRZEWODNIK PO PRZEDMIOCIE

Komputery przemysłowe i systemy wbudowane

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Systemy wbudowane. Paweł Pełczyński

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Jądro systemu operacyjnego

Tworzenie i obsługa wirtualnego laboratorium komputerowego

PAMIĘĆ OPERACYJNA...107

Wirusy w systemie Linux. Konrad Olczak

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

Systemy operacyjne. Król Tomasz

System plików. Warstwowy model systemu plików

Wprowadzenie do systemów operacyjnych

Użytkownik Użytkownik Użytkownik Użytkownik... kompilatory edytor testu syst. bazy danych gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia. Język Java. Bezpieczeństwo języka Java

2 INSTALACJA OPROGRAMOWANIA. 3 3 GŁÓWNE OKNO PROGRAMU 3 4 MODUŁ OBSŁUGI ARCHIWUM 7

ochrona w systemie operacyjnym

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Usługi sieciowe w kontenerach systemu operacyjnego CoreOS

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Transkrypt:

ARCHITEKTURY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl

Wprowadzenie Systemy operacyjne nie są jednym spójnym tworem, lecz są 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

Główne składowe systemów operacyjnych moduł zarządzania procesami moduł zarządzania pamięcią operacyjną moduł zarządzania plikami moduł zarządzania systemem wejścia wyjścia moduł zarządzanie pamięcią pomocniczą praca sieciowa system ochrony system interpretacji poleceń

Zarządzanie 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, urządzeń peryferyjnych Zasoby mogą 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 nadające się do powtórnego użytku

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ępną instrukcję do wykonania: proces jest wykonywany sekwencyjnie CPU wykonuje instrukcje jedna po drugiej na żądanie procesu może być jednocześnie wykonana co najwyżej jedna instrukcja z jednym programem może być powiązanych wiele procesów, zawsze rozważa się je jako oddzielne ciągi instrukcji

W odniesieniu do zarządzania 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ń

Zarządzanie pamięcią operacyjną Pamięć operacyjna kluczowy element każdego systemu komputerowego Pamięć to magazyn szybko dostępnych danych wykorzystywanych przez CPU i urządzenia IO Przykładowe wykonywanie cyklu rozkazów 1 czytanie pamięć operacyjna wykonywanie 2 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 są pobierane z pamięci za pomocą generowania potrzebnych adresów

Lepsze wykorzystanie CPU oraz szybsza odpowiedź komputera przechowywanie w pamięci kilku programów jednocześnie W odniesieniu do zarządzania pamięcią operacyjną system operacyjny odpowiada za: 1 utrzymywanie ewidencji aktualnie zajętych części pamięci wraz z informacją w czyim są władaniu 2 decydowanie, które procesy mają być załadowane do zwolnionych obszarów pamięci 3 przydzielanie i zwalnianie obszarów pamięci stosownie do potrzeb

Zarządzanie 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 urządzeń przechowywania informacji system operacyjny odwzorowuje pliki na fizyczne nośniki informacji umożliwia do nich dostęp za pomocą urządzeń pamięci

Jeśli wielu użytkowników ma dostęp do tych samych plików to jest pożądane sprawowanie pieczy nad tym kto i w jaki sposób korzysta z tego dostępu W odniesieniu do zarządzania 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

Zarządzanie urządzeniami wejścia wyjścia Jednym z celów systemu operacyjnego jest ukrywanie przed użytkownikiem szczegółów dotyczących specyfiki urządzeń sprzętowych Przykładem poprawnie zaprojektowanego systemu jest system UNIX, gdzie osobliwości urządzeń I/O są ukryte przed większością samego systemu przez tzw. podsystem wejścia wyjścia Podsystem wejścia wyjścia składa się z: części zarządzającej pamięcią (buforowanie, pamięć podręczna, spooling) ogólnego interfejsu do modułów sterujących urządzeń modułów sterujących (programów obsługi) poszczególnych urządzeń sprzętowych Osobliwości poszczególnego urządzenia wejścia wyjścia zna tylko odpowiadający mu moduł sterujący

Zarządzanie pamięcią pomocniczą Pamięć operacyjna jest za mała aby pomieścić wszystkie dane i programy Zawarte w niej dane giną po odcięciu zasilania System komputerowy powinien posiadać zatem pamięć pomocniczą będącą zapleczem dla pamięci operacyjnej Pamięcią dyskową jako podstawowym środkiem magazynowania zarówno danych jak i programów W odniesieniu do zarządzania pamięcią operacyjną, system operacyjny odpowiada za: 1 zarządzanie obszarami wolnymi 2 przydzielaniem pamięci 3 planowaniem przydziału obszarów pamięci dyskowej

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 gwarantujące, że pliki, segmenty pamięci, procesor i inne zasoby będą 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 zawierają sposoby określenia, co i w jakiej formie ma podlegać ochronie, jak również środki do wymuszania zaprowadzonych ustaleń

Za pomocą 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 mogą 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

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 zawierają interpreter poleceń w swoim jądrze w innych systemach (MS-DOS, UNIX) interpreter poleceń jest specjalnym programem powłoką (interpreterem wiersza poleceń)

Systemy operacyjne często różnią się od siebie warstwą powłoki przyjazny interpreter systemy Apple Macintosh i Microsoft Windows operowanie za pomocą 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 są wyświetlane na monitorze lub drukowane Polecenia rozpoznawane przez interpreter dotyczą: 1 tworzenia procesów i zarządzanie nimi 2 obsługi wejścia wyjścia 3 administrowania pamięcią pomocniczą i operacyjną 4 ochrony i pracy sieciowej

Struktury systemów operacyjnych Wiele systemów nie ma ściśle określonej struktury Małe systemy często rozszerzano przekraczając 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

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łające programy użytkowe możliwość zawieszenia się systemu lub uszkodzenia podzespołów

Systemy z jądrem System UNIX UŻYTKOWNICY Powłoki i polecenia Kompilatory, interpretery Biblioteki systemowe Interfejs funkcji systemowych jądra System plików, planowanie przydziału czasu CPU pamięć wirtualna, system wejścia wyjścia moduły sterujące dysków i taśm moduły sterujące terminali Interfejs między jądrem a sprzętem sterowniki sterowniki sterowniki terminali urządzeń pamięci Terminale Dyski i taśmy RAM

przykład strukturalizacji systemu system składa się z dwóch części: jądra i programów systemowych jądro dzieli się na ciąg interfejsów i programów obsługi urządzeń za pośrednictwem funkcji systemowych jądro udostępnia system plików, zarządzanie pamięcią operacyjną, planowanie przydziału CPU, itd. programy systemowe korzystają z udostępnianych przez jądro funkcji systemowych w celu wykonywania użytecznych działań wadą systemu UNIX w wersji podstawowej jest to, że posiada tylko dwie warstwy, które zawierają bardzo dużo elementów można podzielić system operacyjny na mniejsze, lepiej dobrane elementy większa kontrola nad komputerem i programami użytkowymi

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 dotyczące 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 przystąpić do realizacji

System THE pierwszy system warstwowy THE (Technische Hogeschool Eindhoven) 5 PROGRAMY UŻYTKOWE 4 BUFOROWANIE URZĄDZEŃ WEJŚCIA WYJŚCIA 3 PROGRAM OBSŁUGI KONSOLI OPERATORA 2 ZARZĄDZANIE PAMIĘCIĄ 1 PLANOWANIE PRZYDZIAŁU PROCESORA 0 SPRZĘT schemat zarządzania pamięcią pamięć wirtualna program obsługi konsoli operatora i buforowanie urządzeń wejścia wyjścia były zlokalizowane wyżej od zarządzania pamięcią, bufory urządzeń mogły być umieszczone w pamięci wirtualnej buforowanie urządzeń wejścia wyjścia znajdowało się powyżej konsoli operatora, dlatego informacje o błędach

System VENUS 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ WIRTUALNA 3 KANAŁ WEJŚCIA WYJŚĆIA 2 PLANOWANIE PRZYDZIAŁU PROCESORA 1 INTERPRETER POLECEŃ 0 SPRZĘT poziomy niższe 0 4 planowanie przydziału czasu procesora i zarządzanie pamięcią warstwy 0 4 zostały napisane jako mikroprogramy szybsze działanie i przejrzysty interfejs między warstwami mikroprogramowanymi, a warstwami wyższymi

Właściwości systemów warstwowych główna wada trudności w odpowiednim zdefiniowaniu zawartości poszczególnych warstw program obsługi pamięci pomocniczej powinien być poniżej procedury zarządzania pamięcią 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ścią spowodowały nieznaczne odchodzenie od modeli warstwowych dąży się do systemów złożonych z mniejszej liczby, ale bardziej funkcjonalnych warstw

Systemy o strukturze modularnej System OS/2 Aplikacja Aplikacja Aplikacja Interfejs programowania aplikacji Rozszerzenie API Podsystem Podsystem Podsystem JĄDRO SYSTEMU zarządzanie pamięcią ekspediowanie zadań zarządzanie urządzeniami Moduł Moduł Moduł sterujący sterujący sterujący

Właściwości 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

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 przesuwając warstwy z przestrzeni użytkownika do przestrzeni jądra ściśle je integrując architektura systemu NT wersji 4 warstwowy układ modułów warstwa abstrakcji sprzętu jądro egzekutor zbiór podsystemów działających w trybie użytkownika

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

System Windows 2000 Winlogon Mened er sesji Lsass Svchost.exe Spooler Services.exe Mened er zadañ Windows Explorer OS/2 Win32 POSIX Ntdll.dll Tryb u ytkownika Tryb j¹ dra Sterowniki urz¹ dzeñ Centrum wykonawcze J¹ dro Warstwa abstrakcji sprzêtu HAL Win32 USER GDI Sterowniki graficzne Interfejsy sprzê towe, urz¹ dzenia I/O, przerwania, kana³ y DMA, magistrale

Projektowanie i implementacja systemów operacyjnych 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 rozwiązania Ogólne zasady projektowania Inżynieria oprogramowania

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 wysokiego 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: zarządca pamięci i planista przydziału CPU procedury będące wąskimi gardłami można zastąpić odpowiednikami napisanymi w asemblerze

Funkcja systemowe Funkcje systemowe (wywołania systemowe ang. system calls) stanowią interfejs pomiędzy wykonywanym programem, a systemem operacyjnym Podział funkcji systemowych: nadzorowanie procesów, np. end, abort, wait for time operacje na plikach, np. open, close, read, write, get file attributes operacje na urządzeniach, 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