Działanie systemu
operacyjnego
Działanie systemu
operacyjnego
Budowa systemu komputerowego
Budowa systemu komputerowego
Jednostka
centralna
Sterownik
dysku
Sterownik
pamięci
operacyjnej
Sterownik
drukarki
Sterownik
sieci
Pamięć
operacyjna
Szyna systemowa
(magistrala danych)
Przerwania
Przerwania
Przerwanie
jest sygnałem pochodzącym od
jest sygnałem pochodzącym od
sprzętu lub oprogramowania i sygnalizuje
sprzętu lub oprogramowania i sygnalizuje
wystąpienie
wystąpienie zdarzenia
Sygnały przerwań od sprzętu wysyłane są
Sygnały przerwań od sprzętu wysyłane są
do procesora najczęściej za pośrednictwem
do procesora najczęściej za pośrednictwem
szyny systemowej
szyny systemowej
Oprogramowanie może spowodować
Oprogramowanie może spowodować
przerwanie poprzez wykonanie
przerwanie poprzez wykonanie
wywołania
wywołania
systemowego
systemowego
Zdarzenia powodujące przerwanie:
Zdarzenia powodujące przerwanie:
Zakończenie operacji wejścia-wyjścia
Dzielenie przez zero,
Dzielenie przez zero,
Niedozwolony dostęp do pamięci,
Niedozwolony dostęp do pamięci,
Zapotrzebowanie na usługę systemu,
Zapotrzebowanie na usługę systemu,
itd., itp..
itd., itp..
Każdemu przerwaniu odpowiada procedura
Każdemu przerwaniu odpowiada procedura
obsługi.
obsługi.
Wykres czasowy przerwań procesu
wykonującego operację wejścia-wyjścia
Wykres czasowy przerwań procesu
wykonującego operację wejścia-wyjścia
Proces
użytkownika
Obsługa
przerwań I/O
Wył
Zał
START
START STOP
STOP
Procesor
Urządzenie
wejścia-wyjścia
Wektor przerwań
Wektor przerwań
Aby przyspieszyć operację obsługi przerwań
Aby przyspieszyć operację obsługi przerwań
stosuje się tablicę wskaźników do procedur
stosuje się tablicę wskaźników do procedur
obsługujących poszczególne przerwania.
obsługujących poszczególne przerwania.
Indeksy tej tablicy odpowiadają numerom
Indeksy tej tablicy odpowiadają numerom
urządzeń „generujących” przerwania, a
urządzeń „generujących” przerwania, a
elementami tablicy są adresy procedur
elementami tablicy są adresy procedur
obsługujących przerwania.
obsługujących przerwania.
Przy przejściu do obsługi przerwania należy
Przy przejściu do obsługi przerwania należy
zapamiętać adres przerwanego rozkazu, a
zapamiętać adres przerwanego rozkazu, a
także np. zawartości rejestrów, jeżeli
także np. zawartości rejestrów, jeżeli
obsługa przerwania zmienia je.
obsługa przerwania zmienia je.
W nowych systemach adres powrotny
W nowych systemach adres powrotny
przechowywany jest na stosie systemowym.
przechowywany jest na stosie systemowym.
Podczas obsługi jednego przerwania inne są
Podczas obsługi jednego przerwania inne są
wyłączone, lub ustalone są
wyłączone, lub ustalone są
priorytety
priorytety
przerwań
przerwań
(przerwania maskowane).
(przerwania maskowane).
Wyjątki
Wyjątki
Pułapka (wyjątek) jest rodzajem przerwania
Pułapka (wyjątek) jest rodzajem przerwania
generowanym przez oprogramowanie, a
generowanym przez oprogramowanie, a
spowodowanym przez błąd numeryczny (np.
spowodowanym przez błąd numeryczny (np.
dzielenie przez zero) lub przez niewłaściwy
dzielenie przez zero) lub przez niewłaściwy
dostęp do pamięci, bądź też na specjalne
dostęp do pamięci, bądź też na specjalne
zamówienie użytkownika (wywołanie
zamówienie użytkownika (wywołanie
procedury obsługiwanej przez system
procedury obsługiwanej przez system
operacyjny)
operacyjny)
Obsługa wejścia-wyjścia
Obsługa wejścia-wyjścia
a) synchroniczna:
a) synchroniczna:
b) asynchroniczna
AKTYWNOŚĆ
STER. I/O
O.P.
TRANSMISJA
AKTYWNOŚĆ
STER. I/O
O.P.
Asynchroniczne wejście-wyjście
Asynchroniczne wejście-wyjście
W czasie wykonywania operacji wejścia
W czasie wykonywania operacji wejścia
-
-
wyjścia jednostka centralna systemu może
wyjścia jednostka centralna systemu może
być użyta do obliczeń lub do rozpoczynania
być użyta do obliczeń lub do rozpoczynania
operacji wejścia
operacji wejścia
-
-
wyjścia z innych urządzeń.
wyjścia z innych urządzeń.
Ponieważ operacje I/O są powolne w
Ponieważ operacje I/O są powolne w
porównaniu z szybkością procesora, może
porównaniu z szybkością procesora, może
on w międzyczasie obsłużyć kilka innych
on w międzyczasie obsłużyć kilka innych
zadań.
zadań.
Bezpośredni dostęp do pamięci (DMA)
Bezpośredni dostęp do pamięci (DMA)
W przypadku wolnych urządzeń I/O,
W przypadku wolnych urządzeń I/O,
obsługa przesyłania danych z bufora
obsługa przesyłania danych z bufora
urządzenia do pamięci, nie angażuje zbytnio
urządzenia do pamięci, nie angażuje zbytnio
procesora.
procesora.
Dla urządzeń szybkich (dysk, sieć)
Dla urządzeń szybkich (dysk, sieć)
wygodniej jest przesyłać cały blok danych
wygodniej jest przesyłać cały blok danych
bezpośrednio do pamięci, bez angażowania
bezpośrednio do pamięci, bez angażowania
procesora. Umożliwia to mechanizm
procesora. Umożliwia to mechanizm
Direct
Direct
Memory
Memory
Access, realizowany sprzętowo.
Access, realizowany sprzętowo.
Uwaga! Kradnie cykle pamięci!
Uwaga! Kradnie cykle pamięci!
Pamięć komputerowa
Pamięć komputerowa
Taśma magnetyczna
Dysk optyczny
Dysk magnetyczny
Dysk elektroniczny
Pamięć operacyjna
Pamięć podręczna
Rejestry
Dwa tryby pracy procesora
Dwa tryby pracy procesora
Procesor rozróżnia dwa tryby
Procesor rozróżnia dwa tryby
:
:
Tryb użytkownika (z ograniczeniami)
Tryb użytkownika (z ograniczeniami)
Tryb monitora, nadzorcy, systemu,
Tryb monitora, nadzorcy, systemu,
uprzywilejowany. Wykonuje potencjalnie
uprzywilejowany. Wykonuje potencjalnie
niebezpieczne operacje. Są to tzw.
niebezpieczne operacje. Są to tzw. operacje
uprzywilejowane.
Operacje wejścia/wyjścia nie są
bezpośrednio dostępne dla użytkownika
(musi o nie prosić system operacyjny).
Użytkownik ma dostęp tylko do pamięci
przydzielonej swojemu programowi.
Nie wolno też dopuścić do tego, aby system
stracił kontrolę nad procesorem, np. przez
nieskończoną pętlę w programie
użytkownika.
Proces
Proces
Proces
jest programem, który jest aktualnie
jest programem, który jest aktualnie
wykonywany.
wykonywany.
Jest to jednostka pracy w systemie.
Jest to jednostka pracy w systemie.
System składa się ze zbioru procesów, z
System składa się ze zbioru procesów, z
których część to procesy systemu
których część to procesy systemu
operacyjnego, a pozostałe są procesami
operacyjnego, a pozostałe są procesami
użytkowymi.
użytkowymi.
Zarządzanie procesami przez OS
Zarządzanie procesami przez OS
Tworzenie i usuwanie procesów użytkowych
Tworzenie i usuwanie procesów użytkowych
i systemowych,
i systemowych,
wstrzymywanie i wznawianie procesów,
wstrzymywanie i wznawianie procesów,
dostarczanie mechanizmów synchronizacji
dostarczanie mechanizmów synchronizacji
procesów,
procesów,
dostarczanie mechanizmów komunikacji
dostarczanie mechanizmów komunikacji
procesów,
procesów,
dostarczanie mechanizmów obsługi
dostarczanie mechanizmów obsługi
zakleszczeń.
zakleszczeń.
Zarządzanie pamięcią przez OS
Zarządzanie pamięcią przez OS
Ewidencja aktualnie zajętych obszarów
Ewidencja aktualnie zajętych obszarów
pamięci, informacja o użytkownikach
pamięci, informacja o użytkownikach
danych obszarów,
danych obszarów,
decydowanie o tym, które procesy mają być
decydowanie o tym, które procesy mają być
załadowane do zwolnionych obszarów
załadowane do zwolnionych obszarów
pamięci,
pamięci,
przydzielanie i zwalnianie obszarów pamięci
przydzielanie i zwalnianie obszarów pamięci
stosownie do potrzeb.
stosownie do potrzeb.
Zarządzanie plikami przez OS
Zarządzanie plikami przez OS
Tworzenie i usuwanie plików,
Tworzenie i usuwanie plików,
tworzenie i usuwanie katalogów,
tworzenie i usuwanie katalogów,
dostarczanie elementarnych informacji do
dostarczanie elementarnych informacji do
manipulowania plikami i katalogami,
manipulowania plikami i katalogami,
odwzorowanie plików na obszary pamięci
odwzorowanie plików na obszary pamięci
pomocniczej,
pomocniczej,
składowanie plików na trwałych nośnikach
składowanie plików na trwałych nośnikach
pamięci.
pamięci.
Inne funkcje systemu operacyjnego
Inne funkcje systemu operacyjnego
Zarządzanie systemem wejścia
Zarządzanie systemem wejścia
-
-
wyjścia
wyjścia
(buforowanie, pamięć,
(buforowanie, pamięć,
spooling
spooling
, interfejs,
, interfejs,
moduły sterujące),
moduły sterujące),
zarządzanie pamięcią pomocniczą
zarządzanie pamięcią pomocniczą
(dyskową),
(dyskową),
praca sieciowa,
praca sieciowa,
system ochrony,
system ochrony,
system interpretacji poleceń (powłoka).
system interpretacji poleceń (powłoka).
Usługi systemu operacyjnego
Usługi systemu operacyjnego
Wykonanie programu,
Wykonanie programu,
operacje wejścia
operacje wejścia
-
-
wyjścia,
wyjścia,
manipulowanie systemem plików,
manipulowanie systemem plików,
komunikacja między procesami,
komunikacja między procesami,
wykrywanie błędów.
wykrywanie błędów.
przydzielanie zasobów,
przydzielanie zasobów,
rozliczanie
rozliczanie
ochrona
ochrona
Funkcje systemowe
Funkcje systemowe
Tworzą interfejs pomiędzy wykonywanym
Tworzą interfejs pomiędzy wykonywanym
programem a systemem operacyjnym.
programem a systemem operacyjnym.
Poprzez f.s. program użytkownika „daje
Poprzez f.s. program użytkownika „daje
zlecenia” systemowi operacyjnemu.
zlecenia” systemowi operacyjnemu.
F.S. - Nadzorowanie procesów
F.S. - Nadzorowanie procesów
Załadowanie lub wykonanie programu,
Załadowanie lub wykonanie programu,
zakończenie lub zaniechanie procesu,
zakończenie lub zaniechanie procesu,
utworzenie lub zakończenie procesu
utworzenie lub zakończenie procesu
(potomnego),
(potomnego),
pobranie lub ustawienie parametrów
pobranie lub ustawienie parametrów
procesu,
procesu,
czekanie czasowe,
czekanie czasowe,
oczekiwanie na zdarzenie lub sygnalizacja
oczekiwanie na zdarzenie lub sygnalizacja
zdarzenia,
zdarzenia,
przydział i zwolnienie pamięci.
przydział i zwolnienie pamięci.
F.S. - Operacje na plikach
F.S. - Operacje na plikach
Utworzenie lub usunięcie pliku,
Utworzenie lub usunięcie pliku,
otwarcie lub zamknięcie pliku,
otwarcie lub zamknięcie pliku,
czytanie, pisanie lub zmiana położenia,
czytanie, pisanie lub zmiana położenia,
pobranie lub ustawienie atrybutów pliku.
pobranie lub ustawienie atrybutów pliku.
F.S. - Operacje na urządzeniach
F.S. - Operacje na urządzeniach
Zamówienie lub zwolnienie urządzenia,
Zamówienie lub zwolnienie urządzenia,
czytanie, pisanie lub zmiana położenia,
czytanie, pisanie lub zmiana położenia,
pobranie lub ustawienie atrybutów
pobranie lub ustawienie atrybutów
urządzenia,
urządzenia,
logiczne przyłączanie lub odłączanie
logiczne przyłączanie lub odłączanie
urządzeń.
urządzeń.
F.S. - Utrzymywanie informacji
F.S. - Utrzymywanie informacji
Pobranie lub ustawienie daty/czasu,
Pobranie lub ustawienie daty/czasu,
pobranie lub ustawienie danych
pobranie lub ustawienie danych
systemowych,
systemowych,
pobranie atrybutów procesu, pliku lub
pobranie atrybutów procesu, pliku lub
urządzenia,
urządzenia,
ustawienie atrybutów procesu, pliku lub
ustawienie atrybutów procesu, pliku lub
urządzenia.
urządzenia.
F.S. - Komunikacja
F.S. - Komunikacja
Utworzenie, usunięcie połączenia
Utworzenie, usunięcie połączenia
komunikacyjnego,
komunikacyjnego,
nadawanie, odbieranie komunikatów,
nadawanie, odbieranie komunikatów,
przekazywanie informacji o stanie,
przekazywanie informacji o stanie,
przyłączanie i odłączanie urządzeń
przyłączanie i odłączanie urządzeń
zdalnych.
zdalnych.
Programy systemowe
Programy systemowe
Manipulowanie plikami,
Manipulowanie plikami,
informowanie o stanie systemu,
informowanie o stanie systemu,
tworzenie i zmienianie zawartości plików,
tworzenie i zmienianie zawartości plików,
translatory języków programowania,
translatory języków programowania,
ładowanie i wykonywanie programów,
ładowanie i wykonywanie programów,
komunikacja.
komunikacja.
Struktura systemu - UNIX
Struktura systemu - UNIX
Użytkownicy
Powłoki i polecenia
Kompilatory i interpretery
Biblioteki systemowe
Interfejs funkcji systemowych jądra
Sygnały
Obsługa terminali
System znakowego
wejścia-wyjścia
Moduły sterujące
terminali
System plików
Wymiana
System blokowego
wejścia-wyjścia
Moduły sterujące
dysków i taśm
Planowanie
przydziału procesora
Zstępowanie stron
Stronicowanie
na żądanie
Pamięć wirtualna
Interfejs między jądrem a sprzętem
Sterowniki terminali
Terminale
Sterowniki urządzeń
Dyski i taśmy
Sterowniki pamięci
Pamięć operacyjna
Struktura warstwowa
Struktura warstwowa
Warstwa M
Warstwa M
Warstwa M-1
Warstwa M-1
Warstwa M-2
Warstwa M-2
Stare
operacje
Nowe
operacje
Najnowsze
operacje
Przykładowa struktura warstwowa
Przykładowa struktura warstwowa
Warstwa 5: programy użytkowe
Warstwa 5: programy użytkowe
Warstwa 4: buforowanie urządzeń wejścia i
Warstwa 4: buforowanie urządzeń wejścia i
wyjścia
wyjścia
Warstwa 3: program obsługi konsoli operatora
Warstwa 3: program obsługi konsoli operatora
Warstwa 2: zarządzanie pamięcią
Warstwa 2: zarządzanie pamięcią
Warstwa 1: planowanie przydziału procesora
Warstwa 1: planowanie przydziału procesora
Warstwa 0: sprzęt
Warstwa 0: sprzęt