Moduł 2. Struktury Systemów Komputerowych Działanie systemu komputerowego Struktura wejścia/wyjścia Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Applied Operating System Concepts
Architektura systemu komputerowego Applied Operating System Concepts
Działanie Systemu komputerowego Sterowniki urządzeń wejścia/wyjścia i jednostka centralna mogą działać współzależnie. Każdy sterownik urządzenia odpowiada za określony typ urządzenia. Każdy sterownik urządzenia ma lokalny bufor. Jednostka centralna transportuje dane z/do pamięci głównej do/z lokalnego bufora. Sterowniki urządzenia wejścia/wyjścia są kierowane do lokalnego bufora. Sterownik urządzenia informuje jednostkę centralną, że zakończył operację powodując przerwanie. Applied Operating System Concepts
Wspólne funkcje przerwań Przekazanie sterowania przerwań do ogólnego programu usługowego poprzez wektor przerwań, który zawiera adresy wszystkich programów pomocniczych. Architektura przerwania musi zachować adresy przerwanego rozkazu. Podczas obsługi jednego przerwania inne przerwania są wyłączane by zapobiegać utracie danych zapisywanych przez to pierwsze. Pułapka (wyjątek) to przerwanie generowane przez oprogramowanie, a powodowane albo przez błąd albo przez zamówienie pochodzące z programu użytkownika. System operacyjny jest sterowany przerwaniami. Applied Operating System Concepts
Applied Operating System Concepts Obsługa przerwań System operacyjny przechowuje bieżący stan jednostki centralnej zapamiętując zawartość rejestrów i licznika rozkazów. Ustala rodzaj powstałego przerwania - odpytywanie, - wektorowy system przerwań. Oddzielone segmenty kodu określają działania, które należy podjąć z związku z przerwaniami. Applied Operating System Concepts
Wykres czasowy przerwań procesu wykonującego operacje wejścia Wykonanie procesu użytkownika Procesor Obsługa przerwań wejścia-wyjścia Urządzenie wejścia- -wyjścia bezczynne przesyłające Zamówienie wejścia- -wyjścia Przesłanie wykonane Zamówienie wejścia- -wyjścia Przesłanie wykonane Applied Operating System Concepts
Budowa urządzeń wejścia/wyjścia Po rozpoczęciu operacji wejścia/wyjścia, operacja przesyłania danych rozpoczyna się, kończy po czym sterowanie wraca do procesu użytkownika. - instrukcja czeka na pojawienie się następnego przerwania, - pętla czekania (czekanie na sygnał przerwania, który przekazuje sterowanie do innej części systemu operacyjnego). Po rozpoczęciu operacji wejścia/wyjścia oddanie sterowania do programu użytkownika bez czekania na zakończenia operacji. - wywołanie systemowe – zamówienie odnoszące się do systemu operacyjnego, które w razie potrzeby pozwoliłoby programowi użytkownika zaczekać na zakończenia operacji wejścia/ wyjścia, - tablica stanów urządzeń – każdy element tej tablicy określa typ urządzenia, jego adres i stan, - po wystąpieniu przerwania system operacyjny określa urządzenie, które spowodowało przerwanie, następnie pobiera z tablicy urządzeń informacje o stanie danego urządzenia i zmienia je odnotowując wystąpienie przerwania. Applied Operating System Concepts
Dwa sposoby obsługi wejścia/wyjścia Synchroniczny Asynchroniczny Proces zamawiający - oczekiwanie - { Proces zamawiający Użytkownik } Użytkownik Moduł sterujący urządzenia Moduł sterujący urządzenia { } Procedura obsługi przerwania Procedura obsługi przerwania Jądro Jądro Sprzętowe przesyłanie danych Sprzętowe przesyłanie danych Czas Czas (a) (b) Applied Operating System Concepts
Tabela stanów urządzeń Urządzenie: czytnik kart 1 Stan: bezczynny Urządzenie: drukarka wierszowa 3 Stan: zajęta Urządzenie: jednostka dyskowa 2 Stan: bezczynna Urządzenie: jednostka dyskowa 3 . Zamówienie na drukarkę wierszową Adres: 38546 Długość: 1372 Zamówienie na jednostkę dyskową 3 Plik: xxx Operacja: czytanie Adres: 43046 Długość: 20000 Zamówienie na jednostkę dyskową 3 Plik: yyy Operacja: pisanie Adres: 03456 Długość: 500 Applied Operating System Concepts
Struktura DMA (Bezpośredniego Dostępu do Pamięci) Umożliwia szybkim urządzeniom wejścia/wyjścia bezpośredni dostęp do pamięci operacyjnej. Sterownik urządzeń transferuje bloki danych z magazynu bufora bezpośrednio do pamięci głównej bez interwencji jednostki centralnej. Przerwanie wypada jeden raz na cały blok danych, a nie po przesłaniu każdego znaku (słowa). Applied Operating System Concepts
Applied Operating System Concepts Struktura pamięci Pamięć operacyjna – jest jednym wielkim obszarem pamięci dostępnym dla procesora bezpośrednio. Pamięć pomocnicza – rozszerza pamięć operacyjną, aby mogła trwale przechowywać duże ilości danych Dyski magnetyczne – talerze wykonane ze szkła lub metalu, przykryte materiałem magnetycznym - Powierzchnia płyty jest logicznie podzielona na ścieżki które z kolie dzielą się na sektory. - Sterowniki dysku określa logiczne interakcje pomiędzy urządzeniem a komputerem. Applied Operating System Concepts
Mechanizm poruszania dysku Urządzenie uruchamiające Głowica odczytując- -zapisująca Ścieżka t Oś Sektor s Cylinder c Płyta Ramię Kierunek obrotów Applied Operating System Concepts
Applied Operating System Concepts Hierarchia pamięci Pamięć systemu zorganizowana jest hierarchicznie prędkość, koszt, ulotność. Ukrywanie – kopiowanie informacji do szybszego systemu pomięci. Pamięć operacyjna może być widoczna jako ostatnie ukrycie dla pamięci podręcznej. Applied Operating System Concepts
Applied Operating System Concepts Hierarchia pamięci Rejestry Pamięć podręczna Pamięć operacyjna Dysk elektroniczny Dysk magnetyczny Dysk optyczny Taśmy magnetyczne Applied Operating System Concepts
Applied Operating System Concepts Ochrona sprzętowa Dualny tryb operacji Ochrona wejścia/wyjścia Ochrona pamięci Ochrona jednostki centralnej Applied Operating System Concepts
Applied Operating System Concepts Dualny tryb operacji Podział zasobów systemu nakazuje systemowi operacyjnemu zapewnić, że niepoprawny program, nie może zakłócić działania innych programów. Sprzęt rozróżnia co najmniej dwa oddzielne tryby pracy. Tryb użytkownika – wykonanie na zamówienie użytkownika. Tryb monitora (również tryb administratora lub tryb systemu) – wykonanie na zamówienie systemu operacyjnego. Applied Operating System Concepts
Dualny tryb operacji (cd) Tryb bitu wskazuje bieżący stan trybu pracy : monitor (0) lub użytkownik (1). Po wystąpieniu przerwania lub pułapki sprzęt zmienia tryb pracy z trybu użytkownika na tryb monitora. Przerwanie/błąd monitor Użytkownik tryb użytkownika · Sprzęt pozwala wykonywać rozkazy uprzywilejowane tylko w trybie monitora. Applied Operating System Concepts
Ochrona wejścia/wyjścia Wszystkie rozkazy wejścia/wyjścia są uprzywilejowane. Musi istnieć zapewnienie, że program użytkownika nigdy nie przejmie kontroli nad komputerem w trybie pracy monitora (t. j. program użytkownika jest częścią tych wykonań, zapamiętuje nowy adres w wektorze przerwań). Applied Operating System Concepts
Applied Operating System Concepts Ochrona pamięci Należy zapewnić ochronę pomięci przynajmniej w odniesieniu do wektora przerwań i systemowych procedur obsługi przerwań Aby oddzielić od siebie obszary pamięci każdego programu, musimy mieć możliwość rozstrzygania o zakresie dopuszczalnych adresów programów i chronienia pamięci poza tymi adresami. Tego rodzaju ochronę można uzyskać za pomocą dwu rejestrów: rejestr bazowy – przechowuje najmniejszy dopuszczalny adres fizyczny pomięci, rejestr graniczny – zawiera rozmiar obszaru pamięci. Zewnętrzna pamięć definiująca ustawienia jest chroniona. Applied Operating System Concepts
Applied Operating System Concepts Rejestr bazowy i rejestr graniczny definiują logiczną przestrzeń adresową Monitor Zadanie 1 Zadanie 2 Zadanie 3 Zadanie 4 256000 300040 300040 Rejestr bazowy 420940 120900 Rejestr graniczny 880000 1024000 Applied Operating System Concepts
Ochrona sprzętowa Baza Baza+granica Procesor Adres Tak Tak Procesor Nie Nie Przejście pod nadzór systemu operacyjnego: błąd adresowania Pamięć Gdy wykonywany jest tryb monitora, system operacyjny ma nieograniczony dostęp zarówno do swojej pamięci jak i do pamięci użytkowników. Wczytywane instrukcje do bazy i limitu rejestracji są instrukcjami uprzywilejowanymi. Applied Operating System Concepts
Ochrona jednostki centralnej Czasomierz (zegar) – można ustawić tak, aby generować w komputerze przerwanie po wyznaczonym okresie. System operacyjny ustawia licznik. - Przy każdym tyknięciu zegara następuje zmniejszenie licznika. - Z chwilą wyzerowania licznika powstaje przerwanie. Czasomierz występuje w realizacji podziału czasu. Zegar jest używany do obliczania czasu bieżącego. Ładowanie zegara jest instrukcją uprzywilejowaną. Applied Operating System Concepts
Ogólna architektura systemu Rozkazy wejścia/wyjścia - jako uprzywilejowane – mogą być wykonywane tylko przez system operacyjny. Jak zatem program użytkownika może wykonać operację wejścia/wyjścia?. Wywołanie systemowe – metoda, za pomocą której proces zamawia działanie systemu operacyjnego. - Zwykle przyjmuje postać przejścia do określonej komórki w wektorze przerwań. - Za pośrednictwem wektora przerwań sterowanie jest przekazywane do odpowiedniej procedury obsługi w systemie operacyjnym, a bit trybu zostaje przełączony w tryb monitora. - Monitor sprawdza rozkaz przerywający, aby określić, które wywołanie systemu miało miejsce. Rodzaj usługi, na którą użytkownik zgłasza zapotrzebowanie, jest określony przez parametr wywołania systemowego. Applied Operating System Concepts
Applied Operating System Concepts Użycie odwołania do systemu w celu wykonania operacji wejścia - wyjścia . Wywołanie systemowe n Monitor rezydentny Przypadek n . . 1 2 Czytaj Wykonaj operacje Wejścia-wyjścia Przejście do monitora . . 3 Powrót do użytkownika Program użytkownika Applied Operating System Concepts