1
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
WST P DO
WST P DO
SYSTEMÓW
SYSTEMÓW
OPERACYJNYCH
OPERACYJNYCH
Jerzy Peja
Politechnika Szczeci ska
Wydział Informatyki
ul. ołnierska 49, 71-210 Szczecin
2
Plan wykładu
Wprowadzenie i przegl d. Struktury systemów komputerowych.
Struktury systemów operacyjnych.
Procesy i w tki.
Planowanie przydziału procesora
Synchronizacja procesów
Blokady
Zarz dzanie pami ci .
Pami wirtualna
Systemy plików.
Przykłady konkretnych systemów:
Linux, FreeBSD,
Windows XP.
2
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
3
Literatura podstawowa
A. Silberschatz, P.B. Galvin, G. Gagne Podstawy systemów operacyjnych,
wydanie szóste, WNT 2005.
A. Silberschatz, P.B. Galvin, G. Gagne Operating System Concepts with Java,
sixth edition, Wiley 2004
W. Stallings Systemy operacyjne - struktura i zasady budowy, PWN, 2006
M. Ben-Ari Podstawy programowania współbie nego i rozproszonego, WNT,
1996
A. S. Tanenbaum Rozproszone systemy operacyjne, WNT, Warszawa, 1997 r.
M. J. Bach Budowa systemu operacyjnego Unix, WNT, Warszawa 1995 r.
D.P. Bovet, M. Ceasti, Linux Kernel, Wydawnictwo RM, Warszawa 2001
D. A. Solomon, M. E. Russinovich, Microsoft Windows 2000 od rodka. Helion,
2003.
A. Rubini, J. Corbet,
Linux Device Drivers
, 2nd edition, O'Reilly, June 2001.
K. Wall Linux – programowanie w przykładach, Mikom, Warszawa 2000
Free OnLine Books.
http://www.linux.org/docs/online books.html
Interactive Linux Kernel Map.
http://www.linuxdriver.co.il/-kernel map
4
Literatura pomocnicza
D. Pitss, B. Ball Red Hat Linux 6 – Ksi ga eksperta, Helion, Gliwice,
2000
Ch. Petzold Programowanie w Windows, WNT, Warszawa, 2000 r.
M. J. Rochkind Programowanie w systemie Unix dla zaawansowanych,
WNT, Warszawa, 1993
M. Back, H. Boehme, M. Dziadzka, U. Kuntz, R. Magnus, D. Verworner
Linux kernel – j dro systemu, Mikom, Warszawa 2000
W. Richard Stevens
Programowanie w rodowisku systemu UNIX, WNT, 2002.
UNIX programowanie usług sieciowych 1. API: gniazda i XTI, WNT, 2000.
UNIX programowanie usług sieciowych 2. Komunikacja mi dzyprocesowa,
WNT, 2001.
Programowanie zastosowa sieciowych w systemie Unix, WNT, 1995.
Biblia TCP/IP. Tom I: Protokoły, Read Me, 1998.
Biblia TCP/IP. Tom II: Implementacje (wspólnie z Wrightem), Read Me,
1998.
Biblia TCP/IP. Tom III: Uzupełnienie, Read Me, 1998.
3
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
5
Agenda
Definicja systemu operacyjnego, jego rola
i zadania
Klasyfikacja systemów operacyjnych
Systemy biurkowe, osobiste (systemy typu desktop)
Systemy wieloprocesorowe
Systemy rozproszone
Systemy klastrowe
Systemy czasu rzeczywistego
Systemy kieszonkowe
Zasada działania systemu operacyjnego
6
Deklaracja
Przy opracowywaniu niniejszego wykładu korzystano
z ogólnodost pnych slajdów do ksi ki
Podstawy
systemów operacyjnych (A. Silberschatz, P.B. Galvin,
G. Gagne) oraz do wykładów
Systemy operacyjne
(Jerzy Brzezi ski i Dariusz Wawrzyniak),
udost pnionych w ramach
Uczelni On-line
4
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
7
Definicja systemu operacyjnego, jego rola
i zadania
8
Co to jest system operacyjny?
System operacyjny jest zbiorem r cznych i automatycznych
procedur, które pozwalaj grupie osób na efektywne współdzielenie
urz dze maszyny cyfrowej (Per Brinch Hansen)
System operacyjny (nadzorczy, nadrz dny, steruj cy) jest to
zorganizowany zespół programów, które po rednicz mi dzy
sprz tem a u ytkownikami, dostarczaj c u ytkownikom zestawu
rodków ułatwiaj cych projektowanie, kodowanie, uruchamianie i
eksploatacj programów oraz w tym samym czasie steruj
przydziałem zasobów dla zapewnienia efektywnego działania (Alan
Shaw)
System operacyjny jest programem, który działa jako po rednik
mi dzy u ytkownikiem komputera a sprz tem komputerowym.
Zadaniem systemu operacyjnego jest tworzenie rodowiska, w
którym u ytkownik mo e wykonywa programy w sposób wygodny i
wydajny (Abraham Silberschatz).
5
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
9
Historia systemów operacyjnych
Zerowa generacja 1642 – 1945
mechaniczne maszyny licz ce
Pierwsza generacja 1945 - 1955
lampy pró niowe, panele
Druga generacja 1955 - 1965
tranzystory, systemy wsadowe
Trzecia generacja 1965 – 1980
Układy scalone i wieloprogramowo
Czwarta generacja 1980 – aktualnie
Układy o wielkiej skali integracji, komputery osobiste
10
Pierwsza generacja 1945 - 1955
ENIAC: Electronic Numerical Integrator and Computer
(elektroniczne urzadzenie numeryczne całkuj ce i licz ce), 1946-
1955 (J.Mauchly, J.P.Eckert)
18 tys. lamp pró niowych, 70 tys. oporników, 10 tys. kondensatorów,
1.5 tys. przeka ników, 6 tys. r cznych przeł czników
30 ton, 170 m
2
, moc 160kW
5000 operacji dodawania na sekund
maszyna dziesi tna (ka da liczba była reprezentowana przez
pier cie zło ony z 10 lamp)
r czne programowanie przez ustawianie przeł czników i wtykanie
kabli
6
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
11
Pierwsza generacja 1945 - 1955
Park w Bletchley, Anglia, 1939-1945
Government Code and Cipher School, a w rzeczywisto ci siedziba
wywiadu, gdzie łamano niemieckie szyfry przy pomocy
ulepszonej „bomby” M.Rejewskiego, a nast pnie maszyn Heath
Robinson, Mark 1 Colossus i Mark 2 Colossus.
Mark 2 Colossus:
2400-2500 lamp elektronowych
5 czytników ta m (25 tys. znaków na sekund , bufory)
arytmetyka binarna
testowanie Boole’owskich operacji logicznych
rejestry pami ci elektronicznej sterowane automatycznie
realizacja podprogramów dla wykonywania okre lonych funkcji
wyniki oblicze wyprowadzane za pomoc elektrycznej maszyny do
pisania
12
Pierwsza generacja 1945 - 1955
EDVAC: Electronic Discrete Variable Computer, 1946 (J. von
Neumann, Institute for Advanced Studies (IAS)); pomysł
pochodzi od Mauchly’ego i Eckerta
pamie główna (przechowywanie danych i rozkazów), 1000 słów 40
bitowych
jednostka arytmetyczno-logiczna (ALU, Arithmetic-Logic Unit)
wykonuj ca działania na danych binarnych
jednostka steruj ca, która interpretuje rozkazy z pami ci i powoduje
ich wykonanie
urz dzenia wej cia-wyj cia, których praca kieruje jednostka centralna
Komputery o takiej ogólnej strukturze okre la si jako
maszyny
von Neumanna.
7
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
13
Składowe systemu komputerowego
Sprz t - podstawowe zasoby
obliczeniowe (CPU, pami ,
urz dzenia wej cia-wyj cia)
System operacyjny - nadzoruje i
koordynuje posługiwanie si
sprz tem
Programy u ytkowe - okre laj
sposób u ycia zasobów systemu
do rozwi zania zada stawianych
przez u ytkowników
U ytkownicy (ludzie, maszyny,
inne komputery)
14
Ogólna struktura systemu operacyjnego
„Zwyczajowo” składnikami systemu
operacyjnego s wszystkie te elementy,
które udost pnia producent w ramach
zbioru oprogramowania nazywanego
systemem operacyjnym.
W ogólnym przypadku w strukturze
systemu operacyjnego wyró nia si
j dro oraz programy systemowe, które
dostarczane s razem z systemem
operacyjnym, ale nie stanowi
integralnej cz ci j dra.
J dro jest zbiorem modułów, które
ukrywaj szczegóły sprz towej
realizacji systemu komputerowego.
Interpreter umo liwia u ytkownikowi
kontakt z systemem komputerowym i
mo e by cz ci j dra lub programem
systemowym (np.w systemie UNIX).
8
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
15
Zadania systemu operacyjnego
Ukrycie szczegółów sprz towych systemu komputerowego. Przykłady:
jednolity sposób dost pu do urz dze zewn trznych
zbiory bloków dyskowych widziane jako pliki o symbolicznych nazwach
du a, szybka, dedykowana pami operacyjna
współbie ne wykonanie programów (jako abstrakcja równoległo ci)·
Zarz dzanie zasobami:
zasoby to obiekty niezb dne do wykonania programu, np. pami , czas CPU,
wej cie-wyj cie, porty komunikacyjne
strategie przydziału i odzyskiwania zasobów (zarz dzanie pami ci ,
zarz dzanie procesorem, zarz dzanie plikami, zarz dzanie urz dzeniami)
efektywno zarz dzania zasobami decyduje o wydajnej eksploatacji sprz tu
komputerowego
Dostarczenie przyjaznego interfejsu
wygoda u ycia (ustawianie przeł czników, terminale graficzne z myszk i
klawiatur )
16
Klasyfikacja systemów operacyjnych
9
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
17
Klasyfikacja systemów operacyjnych ze
wzgl du na sposób przetwarzania
Systemy przetwarzania bezpo redniego (ang. on-line processing
systems) - systemy interakcyjne
wyst puje bezpo rednia interakcja pomi dzy u ytkownikiem a
systemem
wykonywanie zadania u ytkownika rozpoczyna si zaraz po
przedło eniu
Systemy przetwarzania po redniego (ang. off-line processing
systems) - systemy wsadowe
wyst puje znacz ca zwłoka czasowa mi dzy przedło eniem a
rozpocz ciem wykonywania zadania,
niemo liwa jest ingerencja u ytkownika w wykonywanie zadania.
18
Klasyfikacja systemów operacyjnych ze
wzgl du na liczb wykonywanych programów
Systemy jednoprogramowe (nazywane tak e
systemami
jednozadaniowymi
) - niedopuszczalne jest rozpocz cie
wykonywania nast pnego zadania u ytkownika przed
zako czeniem poprzedniego.
Systemy wieloprogramowe (nazywane tak e
systemami
wielozadaniowymi
) - dopuszczalne jest istnienie jednocze nie
wielu zada (procesów), którym zgodnie z pewn strategi
przydzielany jest procesor.
10
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
19
Wieloprogramowe systemy wsadowe
Wiele (wi cej ni jedno) zada równocze nie przebywa w
pami ci i współdzieli procesor (wykonuje si
współbie nie)
20
Przykładowy scenariusz działania systemu
wieloprogramowego (2)
11
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
21
Jedno- i wieloprogramowo – histogram
wykorzystania
22
Cechy systemu operacyjnego niezb dne do
realizacji wieloprogramowo ci
Współdzielenie czasu procesora (wznawianie zada ,
synchronizacja i komunikacja) – system musi wybiera
spo ród kilku zada gotowych do wykonania
Współdzielenie pami ci operacyjnej (ile programów
równocze nie, ochrona) – system musi przydziela
pami kilku zadaniom.
Współdzielenie urz dze (program kanałowy, system
przerwa ) – przydzielanie i udost pnianie ich obsługi.
12
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
23
Wieloprogramowe systemy z podziałem czasu
– obliczenia interaktywne
Procesor wykonuje na przemian wiele ró nych zada , przy czym
przeł czenia nast puj tak cz sto, e u ytkownicy mog współdziała z
programem podczas jego wykonania.
Zadania przechowywane s w pami ci operacyjnej lub na dysku
(procesor jest przydzielany zadaniu tylko wtedy, gdy zadanie jest obecne
w pami ci).
Interakcja u ytkownika z systemem komputerowym (zadanie
interakcyjne składa si z wielu krótkich polece u ytkownika). W
przypadku zrealizowania jednego polecenia system szuka nast pnego
„wyra enia steruj cego” podanego z klawiatury u ytkownika.
Musi by dost pny system plików pracuj cy w trybie on-line (dost p do
programów i danych)
Wymiana zadania mi dzy pami ci i dyskiem (ang. swapping)
Wieloprogramowo i podział czasu procesora – to podstawowe
zagadnienie nowoczesnych systemów operacyjnych!
24
Klasyfikacja systemów operacyjnych ze
wzgl du na liczb u ytkowników
Systemy dla jednego u ytkownika – zasoby przeznaczone s dla
jednego u ytkownika (np. w przypadku komputerów osobistych),
nie ma mechanizmów autoryzacji, a mechanizmy ochrony
informacji s ograniczone.
Systemy wielodost pne - wielu u ytkowników mo e korzysta ze
zasobów systemu komputerowego, a system operacyjny
gwarantuje ich ochron przed nieupowa nion ingerencj .
13
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
25
Systemy komputerów stołowych (ang. desktop
systems)
Pocz tkowo:
Komputery osobiste (personal computers:PC): systemy komputerowe
dedykowane dla pojedynczego u ytkownika – pojawiły si w latach 1970-
tych
Brak potrzeby maksymalizowania wykorzystania CPU i urz dze
zewn trznych.
Mniej istotna ochrona plików, pami ci.
Nacisk na maksimum wygody u ytkownika i szybko kontaktu z
u ytkownikiem.
Systemy operacyjne: MS-DOS, wczesne Microsoft Windows, Apple
Macintosh.
Pó niej:
Sieci komputerowe, Internet – zmiana podej cia do kwestii ochrony I
bezpiecze stwa (konieczno ochrony danych, systemów).
Szybkie mikroprocesory, du e pami ci – mo liwo zaadaptowania cech
systemów du ych komputerów (wielozadaniowo itd.).
Nowa generacja systemów operacyjnych dla PC: Microsoft Windows
NT/2000/XP, IBM OS/2, Apple Macintosh OS X (Darwin), Linux.
26
Systemy wieloprocesorowe (ang.
multiprocessor systems)
Systemy
wieloprocesorowe z wi cej ni jednym CPU w cisłej
komunikacji mi dzy sob .
Zwane tak e
systemami równoległymi (parallel systems) lub mocno
sprz onymi (tightly coupled) – procesory dziel szyn systemow i zegar,
czasami pami i urz dzenia peryferyjne, komunikacja zwykle odbywa si
przez pami dzielon .
Zalety:
wi ksza przepustowo ,
wi ksza niezawodno (łagodna degradacja, tolerancja na awarie),
ekonomika skali (oszcz dno ).
14
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
27
Systemy wieloprocesorowe (ang.
multiprocessor systems)
Wieloprzetwarzanie symetryczne (symmetric multiprocessing: SMP):
Ka dy procesor wykonuje identyczn kopi systemu operacyjnego.
Wiele procesów mo e by wykonywanych równocze nie bez spadku
wydajno ci.
Systemy: Sun Solaris, Linux, MS Windows 2000/XP, Mac OS X.
Wieloprzetwarzanie asymetryczne (asymmetric multiprocessing):
Ka dy procesor ma przydzielone specyficzne zadanie; procesor
główny (master) szereguje i przydziela prac procesorom
podrz dnym (slaves).
Cz ciej spotykana w bardzo du ych systemach.
28
Architektura symetrycznej wieloprocesowo ci
15
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
29
Systemy rozproszone (ang. distributed
systems)
Systemy lu no powi zane (loosely coupled) – ka dy procesor ma swoj
własn pami lokaln ; procesory komunikuj si mi dzy sob za pomoc
ró nych linii komunikacyjnych (np. szybkie szyny danych, linie
telefoniczne).
Zalety:
podział zasobów (w ró nych miejscach mo na mie ró ne zasoby),
przyspieszanie oblicze (rozdzielanie oblicze mi dzy wiele procesorów,
u ywanie mniej obci onych komputerów – tzw. dzielenie obci e ),
niezawodno (awaria jednego komputera nie wstrzymuje pracy
pozostałych),
komunikacja (wymiana informacji, plików itd. mi dzy w złami).
Ogromnie zyskały na znaczeniu w ostatnich latach, a w przyszło ci powinny
jeszcze bardziej si rozwija – coraz szybsze i ta sze linie komunikacyjne!
30
Systemy rozproszone (ang. distributed
systems)
Internet, a w szczególno ci World Wide Web (CERN, 1990), miał i ma
przemo ny wpływ na rozwój współczesnych systemów operacyjnych.
Sieci komputerowe: lokalne (LAN), miejskie (MAN), rozległe (WAN),
oparte o technologie bezprzewodowe sieci małoobszarowe (small-area
network:
SAN).
Systemy klient-serwer: systemy serwerów oblicze , systemy serwerów
plików.
Systemy Peer-to-Peer (P2P): systemy wymiany plików, np. Napster,
Gnutella.
Rozproszone systemy operacyjne: systemy w bliskiej komunikacji przez
sie .
Rozwijane obecnie systemy
Gridowe – rozproszone systemy oblicze oraz
baz danych o zasi gu globalnym
16
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
31
Ogólna struktura systemu typu klient-serwer
32
Systemy klastrowe (zgrupowane)(ang. Cluster
Systems)
Według ogólnie akceptowanej definicji zgrupowane w
klaster komputery dziel
pami dyskow i s blisko ze sob powi zane poprzez sie LAN.
Ró ni si od systemów równoległych tym, e zło one s z dwu lub wi cej
indywidualnych systemów sprz onych razem.
Zwykle s u ywane w celu dostarczania serwisów
wysokiego poziomu dost pno ci
(high-availability services), tj. takich serwisów, które b d dost pne nawet gdy jeden
lub wi cej systemów w klastrze ulegnie awarii.
Tryb asymetryczny: jeden komputer pozostaje w pogotowiu (hot- standby host)
monitoruj c aktywne serwery aplikacji – gdy który z nich ulegnie awarii, wówczas
przejmuje jego rol .
Tryb symetryczny: wszystkie komputery klastra działaj jako aktywne serwery
aplikacji i zarazem monitoruj si nawzajem na wypadek awarii.
Inne rodzaje klastrów:
klastry równoległe: wiele komputerów ma dost p do tych samych danych w
dzielonej pami ci masowej (np. Oracle Parallel Server) – potrzebna synchronizacja,
np. w formie distributed lock manager
(DLM);
klastry w sieciach rozległych, np. storage-area networks (SAN) – wiele ró nych
systemów podł czonych do wielu jednostek pami ci masowej poprzez WAN.
17
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
33
Systemy czasu rzeczywistego (ang. real-time
systems)
Słu jako sterowniki urz dze o ci le okre lonym celu.
Ostre wymagania czasowe
Sprz enie zwrotne
Rygorystyczne systemy czasu rzeczywistego (hard real-time systems):
pami pomocnicza mała lub jej brak, dane przechowywane w pami ci o krótkim
czasie dost pu lub pami ci tylko do odczytu
(ROM);
w konflikcie z systemami z podziałem czasu; brak wsparcia ze strony uniwersalnych
systemów operacyjnych.
Zastosowania do sterowania procesami przemysłowymi, nadzorowania
eksperymentów naukowych, obrazowania bada medycznych itd.
Łagodne systemy czasu rzeczywistego (soft real-time systems):
krytyczne zadanie do obsługi w czasie rzeczywistym otrzymuje pierwsze stwo przed
innymi zadaniami,
łagodniejsze wymagania czasowe – mog wyst powa pewne opó nienia.
Zastosowania w technikach multimedialnych, wirtualnej rzeczywisto ci,
zaawansowanych projektach badawczych – wymagaj cych systemów operacyjnych o
rozbudowanych wła ciwo ciach.
Znajduj si w wi kszo ci współczesnych systemów operacyjnych, (wi kszo wersji
systemu UNIX, Windows XP).
34
Systemy kieszonkowe (ang. Handheld
Systems)
Personal digital assistants (PDA), takie jak Palm, Pocket-PC, telefony
komórkowe – coraz bardziej zyskuj na znaczeniu!
W porównaniu np. z komputerem PC dysponuj
niewielk pami ci , wolnym
procesorem, małym ekranem – wyzwania dla twórców systemów operacyjnych
(zwykle pełni wyspecjalizowane funkcje).
Ograniczenia w funkcjonalno ci s równowa one przez ich wygod i przeno no
(obecnie powszechny jest równie dost p do Internetu).
U yteczno i rola systemów kieszonkowych ci gle wzrasta!
W drówka cech
Wiele własno ci dawnych systemów operacyjnych, opracowanych np. dla
komputerów głównych (mainfraimes), zostało zaadaptowanych przez pó niejsze
systemy operacyjne, np. dla PC, a nawet dla PDA.
Np. sporo idei systemu
MULTICS (MIT, 1965-70) zastosowano przy projektowania
systemu
UNIX (Bell Labs, ok. 1970), którego z kolei wiele cech przenikn ło w latach
1980-tych i 1990-tych do systemów operacyjnych komputerów PC, takich jak
Linux,
IBM OS/2, Microsoft Windows NT, Mac OS X (np. wielodost p, mechanizmy
sieciowe itd.).
Aby zrozumie nowoczesne systemy operacyjne warto poznawa histori
rozwoju systemów operacyjnych (dawne idee mog si odradza ).
18
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
35
Systemy kieszonkowe
Osbisty asystent cyfrowy (ang. personal
digital assistant, PDA)
Telefony komórkowe
Ograniczenia:
Mał pami
Wolne procesowry
Małe wy wietlacze.
36
Rozwój koncepcji systemów operacyjnych i ich
cech
19
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
37
Zasada działania systemu operacyjnego
38
System operacyjny w uj ciu wielowarstwowym
Na
poziomie maszynowym procesora definiowana jest lista rozkazów procesora, tryby
adresowania pami ci, rejestry procesora.
Poziom systemu operacyjnego - pliki, procesy, pami operacyjna, mechanizmy
komunikacji i synchronizacji; współtworzy warstw usług dla programów u ytkowych
Na bazie tej warstwy budowane s kolejne poziomy abstrakcji, zwi zane z j zykami ni szego
lub wy szego poziomu
20
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
39
Architektura von Neumanna
Zarówno program (kody rozkazów), jak i dane (argumenty
rozkazu, operandy) znajduj si w pami ci operacyjnej.
Rozkazy wykonywane s w kolejno ci, w jakiej zostały
umieszczone w programie (i tym samym w pami ci), a zmiana tej
kolejno ci mo e nast pi w wyniku wykonania specjalnego
rozkazu, np. skoku, wywołania podprogramu, powrotu z
podprogramu, itp.
Adres komórki pami ci, od której rozpoczyna si kod nast pnego
rozkazu do wykonania, przechowywany jest w odpowiednim
rejestrze procesora, zwanym
licznikiem programu (PC – ang.
program counter) lub
wska nikiem instrukcji (IP - ang.
instruction pointer).
W celu pobrania rozkazu z pami ci procesor wystawia
odpowiedni adres na magistrali adresowej.
40
Cykl rozkazowy
Cykl rozkazowy - cykl działa procesora i jego interakcji
z pami ci operacyjn zwi zanych z realizacj rozkazu.
Cykl rozkazowy składa si z faz, zwanych
cyklami
maszynowymi.
Typowe fazy cyklu rozkazowego:
pobranie kodu rozkazu - odczyt pami ci
pobranie
operandu - odczyt pami ci
składowanie operandu - zapis pami ci
Operandy s argumentami operacji wykonywanej w ramach
rozkazu
21
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
41
Cykl rozkazowy - pobranie rozkazu
42
Cykl rozkazowy - wykonanie rozkazu
22
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
43
Podstawy działania systemu operacyjnego
Odwołania do j dra systemu przez system przerwa lub specjalne
instrukcje (przerwanie programowe)
Sprz towa ochrona pami ci
Dualny tryb pracy — tryb u ytkownika (ang. user mode) i tryb
systemowy (tryb j dra, ang. system mode)
Wyró nienie instrukcji uprzywilejowanych, wykonywanych tylko
w trybie systemowym
Uprzywilejowanie instrukcji wej cia-wyj cia
Przerwanie zegarowe
44
Architektura współczesnego systemu
komputerowego
23
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
45
Przerwania w systemie komputerowym
Przerwanie jest reakcj na asynchroniczne zdarzenie, polegaj c
na automatycznym zapami taniu bie cego stanu procesora w celu
pó niejszego odtworzenia oraz przekazaniu sterowania do
ustalonej procedury obsługi przerwania.
ródła przerwa
Przerwania zewn trzne - od urz dze zewn trznych
Przerwania programowe - wykonanie specjalnej instrukcji
Przerwania diagnostyczne - pułapki, bł dy programowe i sprz towe
46
Przerwania w uj ciu wielowarstwowym
24
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
47
Operacje systemu operacyjnego
Sterowniki urz dze (device controllers) oraz CPU s
poł czone wspólna szyn systemow (system bus)
CPU i sterowniki mog pracowa
równolegle.
Ka dy sterownik jest odpowiedzialny za prac urz dzenia
okre lonego typu (np. nap dy dysków, monitor, USB itd.).
Sterownik ka dego urz dzenia ma
lokalny bufor.
CPU przemieszcza dane z/do pami ci głównej do/z
lokalnych buforów
Operacje wej cia/wyj cia realizowane s z urz dzenia do
lokalnego bufora sterownika
Sterownik urz dzenia za pomoc przerwania (interrupt)
informuje CPU, e uko czył realizacj zleconego mu
zadania.
48
Podstawowe funkcje przerwa
Przerwanie przekazuje sterowanie systemem procedurze obsługi przerwania za
po rednictwem tzw.
wektora przerwa , który zawiera adresy wszystkich
procedur obsługi przerwa ..
W architekturze przerwa system operacyjny musi zachowa adres przerwanej
instrukcji (wykonywanej przed wyst pieniem przerwania).
Kolejne napływaj ce przerwania s
blokowane (ang. disabled) w czasie gdy inne
obsługiwane s inne przerwania; ma to na celu zapobieganie
utracie zgłosze
przerwa .
Przerwanie generowane przez oprogramowanie nazywa si
pułapk (trap) –
mo e by spowodowane przez jaki bł d (np. dzielenie przez zero) lub na
yczenie u ytkownika.
System operacyjny (SO) przechowuje stan CPU zapami tuj c zawarto
rejestrów i licznika rozkazów.
SO ustala rodzaj przerwania za pomoc :
odpytywania (polling) lub
wektorowego systemu przerwa .
Oddzielne segmenty kodu okre laj działania, jakie nale y podj dla ka dego
typu przerwania.
Nowoczesne systemy operacyjne s
sterowane przerwaniami (interrupt driven).
25
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
49
Zasady ochrony pami ci
W wyniku wykonywania programu nast puje odwołanie do
komórek pami ci o okre lonych adresach
Dost pne obszary pami ci opisane s przez dwa parametry:
baz (ang. base) i granic (ang. limit)
50
Pier cienie ochrony
Dla procesora program jest
ci giem instrukcji. Na tym
poziomie nie ma rozró nienia
typu u ytkownika.
Narzucenie restrykcji na
wykonanie niektórych instrukcji
wymaga wskazania trybu pracy
procesora (zwi zanego z
poziomem uprzywilejowania)
W najprostszym przypadku
wystarcz dwa tryby.
Na rysunku wyszczególniono 3
tryby, zwane te
pier cieniami
ochrony.
W architekturze Intel IA-32
wyró niono 4 pier cienie.
W trybie najbardziej uprzywile-
jowanym (
trybie j dra, poziomie
nr 0 w procesorach Intel) dost pne
s wszystkie instrukcje i rejestry
procesora. W ka dym nast pnym
(mniej uprzywilejowanym) trybie
jest coraz mniej dost pnych
instrukcji lub rejestrów.
26
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
51
Rozkazy uprzywilejowane
Rozkazami uprzywilejowanymi s te rozkazy procesora, które
mog by wykonywane jedynie w trybie j dra.
Na przykład, wszystkie operacje I/O s rozkazami
uprzywilejowanymi.
Ochrona I/O musi da pewno , e program u ytkownika nigdy
nie przejmie kontroli nad komputerem w trybie j dra (np. program
u ytkownika, który w ród swoich operacji posiada mo liwo
załadowania nowego adresu procedury przerwaniowej do wektora
przerwa ).
52
Operacje I/O u ytkownika
Rozkazy I/O s uprzywilejowane – jak zatem u ytkownik
mo e wykonywa operacje I/O?
Wywołanie systemowe (system call) – metoda poprzez któr
proces zamawia jak akcj systemu operacyjnego.
Zwykle przyjmuje posta przej cia do okre lonej komórki w
wektorze przerwa (poprzez rozkaz trap lub rozkaz syscall).
Sterowanie przechodzi przez wektor przerwa do procedury
obsługi w systemie operacyjnym, a
bit trybu jest ustawiany na
tryb pracy j dra.
J dro – po sprawdzeniu, e parametry wywołania s
poprawne i dozwolone – spełnia danie oraz zwraca
sterowanie do rozkazu, który nast puje po wywołaniu
systemowym.
27
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
53
Sposób wywołania funkcji systemowej obsługi
I/O
54
Przerwanie zegarowe
Zegar przerywa prace procesora po okre lonym czasie w celu upewnienia si , e
system operacyjny ma pełn kontrol nad systemem..
Licznik zegara jest zmniejszany po ka dym impulsie zegara.
Gdy licznik zegara osi gnie warto 0, wtedy zgłaszane jest przerwanie.
Obsługa przerwania zegarowego oznacza przekazanie sterowania do j dra
systemu operacyjnego, umo liwiaj c w ten sposób wykonanie pewnych zda
okresowych.
Operacja ustawienia zegara jest
rozkazem uprzywilejowanym.
28
Budowa bezpiecznych usług internetowych
na bazie certyfikatu klucza publicznego
DZI KUJ PA STWU
DZI KUJ PA STWU
KONIEC WYKŁADU
KONIEC WYKŁADU