Systemy operacyjne. Struktura systemu komputerowego a system operacyjny

Содержание

Слайд 2

Informacje wstępne Omawiany system komputerowy zgodny z architekturą von Neumanna Zasadnicze

Informacje wstępne

Omawiany system komputerowy zgodny z architekturą von Neumanna
Zasadnicze elementy: procesor,

sterowniki urządzeń i szyna systemowa
Rozruch systemu komputerowego ma charakter sprzętowy
Слайд 3

Schemat systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik pamięci operacyjnej Pamięć operacyjna

Schemat systemu komputerowego

Jednostka
centralna

Sterownik
dysku

Sterownik
drukarki

Sterownik
pamięci operacyjnej

Pamięć operacyjna

Слайд 4

Start systemu komputerowego Początkowo kontrolę nad systemem pełni program rozruchowy (bootstrap)

Start systemu komputerowego

Początkowo kontrolę nad systemem pełni program rozruchowy (bootstrap)
Znajduje się

na ogół na płycie głównej w pamięci ROM lub podobnej
Określa stan początkowy wszystkich elementów systemu
Musi wiedzieć, gdzie jest system operacyjny
Слайд 5

Start systemu operacyjnego Informacje o systemie operacyjnym oraz jego lokalizacji znajdują

Start systemu operacyjnego

Informacje o systemie operacyjnym oraz jego lokalizacji znajdują się

w początkowym sektorze dysku twardego
Najważniejsze jest jądro – „ścisłe centrum” systemu operacyjnego
Pierwszym procesem musi być proces inicjujący wszystkie inne (np. init)
Слайд 6

Schemat systemu operacyjnego Modułowa budowa systemu ułatwia wprowadzanie zmian Dąży się do minimalizacji jądra (mikrojądro)

Schemat systemu operacyjnego

Modułowa budowa systemu ułatwia wprowadzanie zmian
Dąży się do minimalizacji

jądra (mikrojądro)
Слайд 7

Systemy sterowane przerwaniami Zajście zdarzenia sygnalizowane jest przerwaniem (interrupt) Źródło zdarzenia

Systemy sterowane przerwaniami

Zajście zdarzenia sygnalizowane jest przerwaniem (interrupt)
Źródło zdarzenia może być

sprzętowe lub programowe
Procedura obsługi przerwań systemu operacyjnego nazywana jest wywołaniem systemowym lub funkcją systemową
Слайд 8

Obsługa przerwań programowych Gdy przerwania nie występują, system jest bezczynny Zajście

Obsługa przerwań programowych

Gdy przerwania nie występują, system jest bezczynny
Zajście zdarzenia jest

sygnalizowane za pomocą pułapki/wyjątku (trap/exception)
Przyczyną wyjątku jest błąd programowy (np. dzielenie przez zero) lub wymaganie obsługi programu użytkownika przez system operacyjny
Każde przerwanie ma własną procedurę
Слайд 9

Obsługa przerwań sprzętowych Obsługa przerwania wymaga przejścia do konkretnego miejsca w

Obsługa przerwań sprzętowych

Obsługa przerwania wymaga przejścia do konkretnego miejsca w pamięci

(adres startowy procedury)
Wektor przerwań przechowuje wskaźniki do poszczególnych procedur

CPU

Urządzenie
we/wy

Obsługa PU

Obsługa I/O

bezczynne

przesyła

czas

Zamówienie wejścia-wyjścia

Zamówienie wejścia-wyjścia

Przesłanie wykonane

Przesłanie wykonane

Слайд 10

Wywołanie systemowe Procedura systemu operacyjnego odpowiedzialna za wykonanie operacji (np. obsługę

Wywołanie systemowe

Procedura systemu operacyjnego odpowiedzialna za wykonanie operacji (np. obsługę urządzenia)
Konieczne

przechowywanie adresu przetwarzanego rozkazu
Obecnie najczęściej wykorzystuje się tu stos
Przykłady implementacji: rozkaz trap
Слайд 11

Schemat operacji wejścia-wyjścia Współpraca procesora i sterownika urządzenia Model synchroniczny i

Schemat operacji wejścia-wyjścia

Współpraca procesora i sterownika urządzenia
Model synchroniczny i asynchroniczny
Gdy procesor

czeka na zakończenie operacji wejścia/wyjścia, wykonuje rozkaz wait (lub równoważną pustą pętlę)
W systemie operacyjnym za czekanie odpowiada proces bezczynności
Слайд 12

Synchroniczne a asynchroniczne wejście/wyjście Proces zamawiający oczekiwanie Moduł obsługi urządzenia Procedura

Synchroniczne a asynchroniczne wejście/wyjście

Proces zamawiający oczekiwanie
Moduł obsługi urządzenia
Procedura obsługi przerwania
Sprzętowe przesyłanie

danych

Proces zamawiający oczekiwanie
Moduł obsługi urządzenia
Procedura obsługi przerwania
Sprzętowe przesyłanie danych

synchroniczne

asynchroniczne

Слайд 13

Zachowanie procesora podczas przerwania Synchroniczne Specjalny rozkaz wejścia w pętlę czekania

Zachowanie procesora podczas przerwania

Synchroniczne
Specjalny rozkaz wejścia w pętlę czekania (wait)
Wada: tylko

jedno urządzenie obsługiwane!
Asynchroniczne
Jeśli brak innych operacji do wykonania, to wejście w pętlę czekania
Jeśli są inne urządzenia do obsługi, trzeba je obsłużyć
Rozwiązanie wydajne, obecnie standard
Слайд 14

Obsługa wielu przerwań Tablica stanów urządzeń pozwala przechowywać żądania dostępu do

Obsługa wielu przerwań

Tablica stanów urządzeń pozwala przechowywać żądania dostępu do urządzeń,

które nie mogą być obsłużone natychmiast

Urządzenie: mysz
Stan: odłączone

Urządzenie: skaner
Stan: zajęty

Urządzenie: klawiatura
Stan: bezczynna

Urządzenie: CD-ROM
Stan: zajęty

Zamówienie na skaner Adres: xxxx

Zamówienie na CD-ROM Adres: yyyy

Zamówienie na CD-ROM Adres: zzzz

Слайд 15

Procedura obsługi przerwania Identyfikacja urządzenia odpowiedzialnego za przerwanie Pobranie informacji o

Procedura obsługi przerwania

Identyfikacja urządzenia odpowiedzialnego za przerwanie
Pobranie informacji o stanie urządzenia

z tablicy
Wykonanie odpowiedniej procedury
Oddanie sterowania programowi użytkownika lub systemowi operacyjnemu
Слайд 16

DMA a system operacyjny Program użytkownika lub system operacyjny zgłasza żądanie

DMA a system operacyjny

Program użytkownika lub system operacyjny zgłasza żądanie komunikacji

z szybkim urządzeniem wejścia-wyjścia (np. macierzą dyskową)
SO wybiera bufor do odczytu lub zapisu
Moduł obsługi urządzenia (device driver) konfiguruje jego rejestry
Sterownik DMA wykonuje resztę pracy
Слайд 17

Ochrona pamięci Wieloprogramowość wymusza ochronę programów przed sobą Współczesne systemy (Windows,

Ochrona pamięci

Wieloprogramowość wymusza ochronę programów przed sobą
Współczesne systemy (Windows, Linux) zapewniają

taką ochronę, starsze (DOS) – nie
Sprzęt powinien wykrywać takie sytuacje (pułapki!) – SO je obsługiwać
Слайд 18

Tryby pracy SO Procesor wyposażony jest w bit trybu Tryby mają

Tryby pracy SO

Procesor wyposażony jest w bit trybu
Tryby mają na celu

ochronę sprzętu i SO
Tryb użytkownika – obsługuje pracę programów użytkownika
Tryb nadzorcy – zarezerwowany dla SO
Programy użytkownika zlecają zadania dla SO (wywołania systemowe)
Przejście do wykonania programu obsługi przerwania (wektor przerwań) powoduje ustawienie sprzętu w tryb nadzorcy
Слайд 19

Ochrona wejścia-wyjścia Rozkazy wejścia-wyjścia wykonuje tylko system operacyjny Wywołanie systemowe Przejście

Ochrona wejścia-wyjścia

Rozkazy wejścia-wyjścia wykonuje tylko system operacyjny

Wywołanie systemowe

Przejście do monitora

Monitor

czytanie

Powrót do

użytkownika
Слайд 20

Ochrona pamięci Podstawowej ochronie podlegają: Wektor przerwań Procedury obsługi przerwań Dodatkowo

Ochrona pamięci

Podstawowej ochronie podlegają:
Wektor przerwań
Procedury obsługi przerwań
Dodatkowo programy są wzajemnie chronione
Wsparcie

sprzętowe: rejestr bazowy i graniczny
Każdy wygenerowany adres jest weryfikowany!
Слайд 21

Ilustracja działania rejestrów procesor Baza Baza + granica ≥ Pamięć Adres

Ilustracja działania rejestrów

procesor

Baza

Baza + granica


<

Pamięć

Adres

Tak

Nie

Nie

Tak

Błąd adresowania (obsługa systemu operacyjnego)

Tylko SO ma

dostęp do tych rejestrów!
Слайд 22

Ochrona procesora Cel: zapobieganie zawieszeniom Środek: czasomierz Stały Zmienny Zastosowanie: systemy

Ochrona procesora

Cel: zapobieganie zawieszeniom
Środek: czasomierz
Stały
Zmienny
Zastosowanie: systemy z podziałem czasu
Kwant czasu –

ilość czasu przydzielona procesowi, użytkownikowi itp.