background image

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.

background image

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 editionWiley 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.

background image

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

background image

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).

background image

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

background image

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.

background image

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).

background image

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

background image

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.

background image

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)

background image

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.

background image

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 .

background image

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 ).

background image

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

background image

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 komputerow
e: 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

background image

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.

background image

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 ).

background image

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

background image

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

background image

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

background image

21

Budowa bezpiecznych usług internetowych

na bazie certyfikatu klucza publicznego

41

Cykl rozkazowy - pobranie rozkazu

42

Cykl rozkazowy - wykonanie rozkazu

background image

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

background image

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

background image

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).

background image

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.

background image

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.

background image

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.

background image

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