SO W1 Wstęp do systemów operacyjnych

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

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


Wyszukiwarka

Podobne podstrony:
SO pytania z egzaminu 2012, Systemy operacyjne
SO, Materiały, III semestr, Systemy operacyjne- materiały, egzamin, egzamin SO, egzamin SO
Wstęp do systemów SDH(1), SPRAWOZDANIA czyjeś
wstęp do systemu zabezpieczeń w windows 2000
Wstęp do systemów SDH, SPRAWOZDANIA czyjeś
Wstęp do systemów PDH, SPRAWOZDANIA czyjeś
Tytuł i wstep do systemu szkolenia z zakresu KWS i SIS
SO W2 Procesy i wątki w systemach operacyjnych
System operacyjny, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
Zaliczenie poprawkowe 1 WSTĘP DO PROGR, Studia, Systemy operacyjne
Wstęp do informatyki z architekturą systemów kompuerowych, Wstęp
Pytania do egzaminu z Systemow Operacyjnych cz, EdukacjaTEB
so, Akademia Morska, IV semestr, systemy operacyjne
Przenoszenie plików systemowych do pamięci operacyjnej
Współczesne systemy polityczne - vademecum, Wstęp do nauki o państwie i prawie
LINUX, SZKOLNE PLIKI-mega zbiory (od podstawówki do magisterki), Systemy operacyjne
fras,systemy wbudowane L, Wstęp do mikrokontrolerów rodziny MCS 51
VIII System prawa ćw, Politologia, Wstęp do nauki o państwie a prawie, Ćwiczenia

więcej podobnych podstron