Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie systemu komputerowego Przerwania CPU i urządzenia we/wy mogą pracować współbieżnie. Każdym urządzeniem steruje kontroler (sterownik urządzenia). Każdy sterownik posiada lokalny bufor. CPU przesyła dane z/do pamięci do/z lokalnego bufora. Pod pojęciem we/wy rozumie się urządzenie wraz z buforem sterownika. Sterownik urządzenia informuje CPU, że zakończył operację we/wy generując przerwanie (interrupt). Przerwanie przekazuje sterowanie do procedury obsługi przerwania za pośrednictwem wektora przerwań (interrupt vector), który zawiera adresy wszystkich procedur obsługi. Konieczność zapamiętania adresu przerwanej instrukcji. Przychodzące przerwania są blokowane na czas obsługi aktualnie obsługiwanego. Pułapka (trap) to przerwanie generowane programowo, powodowane przez błąd lubżądanie użytkownika. System operacyjny jest sterowany przerwaniami (interrupt driven). 2.3 2.4 Obsługa przerwań (Interrupt Handling) Wykres czasowy przerwań w trakcie operacji wyjścia System operacyjny zachowuje stan CPU: stan licznika programu Stan innych rejestrów. Określa typ przerwania: odpytywanie (polling) Wektorowe (vectored interrupt system) Dla każdego typu przerwań oddzielne procedury. 2.5 2.6 1
Struktura we/wy tryby pracy Metody obsługi we/wy Po rozpoczęciu operacji we/wy, sterowanie jest zwracane programowi użytkownika dopiero po zakończeniu operacji we/wy. Instrukcja wait (czekaj) wprowadza CPU w stan bezczynny (iddle) aż do następnego przerwania Pętla wait (rywalizacja o dostęp dopamięci). Co najwyżej jedno zamówienie na transmisje danych pozostaje nieobsłuzone, wykluczona jest równoczesna praca urządzeń. Po rozpoczęciu operacji we/wy, sterowanie jest zwracane programowi użytkownika natychmiast, nie czekając na zakończenie operacji we/wy. Odwołanie do systemu operacyjnego (System call) żądanie skierowane do systemu, aby pozwolił użytkownikowi na zakończenie operacji we/wy. Tablica stanów urządzeń (Device-status table) dla każdego urządzenia zawiera: typ, adres i stan (nieoperatywne, bezczynne, zajęte). System operacyjny odwołuje się do tej tablicy aby określić stan urządzenia i modyfikować jej zawartość, odnotowując przerwanie. Synchroniczna Asynchroniczna 2.7 2.8 Tabela stanu urządzenia Struktura bezpośredniego dostępu do pamięci (DMA) Dla urządzeń we/wy mogących przesyłać informacje z prędkością porównywalną do prędkości pamięci. Sterownik urządzenia przesyła bloki danych do/z pamięci głównej bez pośrednictwa CPU. Przerwania generowane są po każdym bloku, a nie po każdym bajcie. 2.9 2.10 Storage Structure Mechanizm przesuwania głowic Pamięć główna, operacyjna (Main memory) pamięć, do której CPU ma dostęp bezpośredni. Pamięć pomocnicza (Secondary storage) rozszerzenie pamięci głównej o część nieulotną. Dyski magnetyczne (Magnetic disks) metalowe lub szklane talerze pokryte warstwą materiału magnetycznego. Powierzchnia dysku jest logicznie podzielona na ścieżki (tracks), które dzielą się na sektory. Sterownik dysku odpowiada za interakcję urządzenia i komputera. 2.11 2.12 2
Mechanizm przesuwania głowic Hierarchia pamięci Ze względu na: Prędkość Koszt Ulotność Caching kopiowanie informacji do szybkiej pamięci systemu (kieszeni); pamięć główna może być traktowana jako pamięć kieszeniowa dla pamięci pomocniczej. 2.13 2.14 Hierarchia urządzeń pamięciowych Pamięć kieszeniowa Szybka pamięć do przechowywania danych ostatnio używanych. Potrzebny system zarządzania pamięcią kieszeniowej. 2.15 2.16 Przesyłanie A z dysku do rejestru Ochrona sprzętowa Operacji trybu dualnego (rozkazy uprzywilejowane) We/wy Pamięci CPU 2.17 2.18 3
Operacje w trybie dualnym Tryby pracy Dzielenie zasobów systemowych wymaga aby SO zapewnił, żeby żaden nieprawidłowo działający program nie powodował błędnego wykonania innego programu. SO rozróżnia dwa tryby pracy: 1. Tryb użytkownika (User mode) wykonywanie w imieniu użytkownika. 2. Tryb monitora albo systemowy, czasem: tryb jądra (Monitor mode) wykonanie w imieniu systemu operacyjnego. Bit trybu pracy (Mode bit) wskazuje na bieżący tryb: monitor (0), user (1). W przypadku przerwania lub błędu sprzętowe przełączanie w tryb systemowy. monitor Interrupt/fault set user mode user Instrukcje uprzywilejowane wykonują się tylko w trybie systemowym. 2.19 2.20 Ochrona we/wy Operacja we/wy Instrukcje we/wy - uprzywilejowane. SO powinien zapewnić, że użytkownik nigdy nie przejmie kontroli nad komputerem pracującym w trybie systemowym (przechwyci wektor przerwań). 2.21 2.22 Ochrona pamięci Rejestry: bazowy i zakresu Ochrona wektora przerwań i procedur obsługi przerwań. Rejestry sprzętowe: Rejestr bazowy (Base register) przechowuje najmniejszy dopuszczalny adres pamięci fizycznej. Rejestr zakresu (Limit register) zawiera rozmiar obszaru Pamięć poza przyznanym obszarem jest chroniona. 2.23 2.24 4
Sprzętowa ochrona adresu Zmiany rejestrów W trybie monitora SO ma nieograniczony dostęp do pamięci systemu i użytkownika. Instrukcje ładowania rejestrów bazowego i zakresu są uprzywilejowane. 2.25 2.26 Ochrona CPU Struktury sieci Zegar (Timer) generuje cyklicznie przerwania, aby zapewnić SO kontrolę nad pracą. Zegar jest dekrementowany za każdym taktem. Gdy osiągnie 0, generowane jest przerwanie. Zwykle w systemach z podziałem czasu. Lokalne - Local Area Networks (LAN) Rozległe - Wide Area Networks (WAN) Ustawianie zegara jest operacją uprzywilejowaną. 2.27 2.28 Struktura sieci lokalnej LAN Struktura sieci rozległej WAN 2.29 2.30 5