background image

 

Praca semestralna

  

Podstawy systemów operacyjnych 

Spis tre ci 

1.

  Wprowadzenie  

1.

  Architektura współczesnych komputerów - maszyna von Neumanna  

2.

  Definicja systemu operacyjnego  

3.

  Struktura systemu operacyjnego  

2.

  Zarz dzanie czasem procesora  

1.

  Definicje procesu, wieloprocesowo ci, wielodost pu i wywłaszcania procesora  

2.

  Graf stanów procesu  

3.

  Kolejki i priorytety  

4.

  W tki  

5.

  Kontekst procesu  

6.

  Procesy interakcyjne i wsadowe  

3.

  Zarz dzanie pami ci   

1.

  Do czego procesowi pami   

2.

  Gospodarka pami ci  w systemach bez mechanizmu pami ci wirualnej  

3.

  Mechanizm pami ci wirtualnej  

4.

  Zarz dzanie wej ciem-wyj ciem  

1.

  Ogólna architektura podsystemu wej ia/wyj cia  

2.

  Zasoby urz dze  fizycznych  

3.

  Sterowniki i urz dzenia logiczne  

4.

  Urz dzzenia dyskowe  

5.

  Systemy plików  

5.

  Zagadnienia bezpiecze stwa  

1.

  Autentykacja na przykładzie haseł wielokrotnych  

2.

  Autoryzaja czyli o uprawnieniach  

3.

  Audyt  

4.

  Kopie bezpiecze stwa  

5.

  Kryptografia  

6.

  Inne zagadnienia  

Literatura 

Literatura podstawowa (dla zainteresowanych) 

1.

  Zbigniew Weiss "Komputery jak ludzie", WNT, Warszawa 1996;  

2.

  Abracham Silberschatz, James L. Peterson, Peter B. Gavin "Podstawy systemów 

operacyjnych", WNT, Warszawa 1993;  

3.

  Maurice J. Bach "Budowa systemu operacyjnego Unix", WNT, Warszawa 1995;  

4.

  Simson Garfinkel, Gene Spafford "Bezpiecze stwo w unixie i internecie", 

Wydawnictwo RM, Warszawa 1997;  

5.

  Helen Custer "Inside Windows NT", Microsoft Press 1992;  

background image

 

6.

  Paul Tyler "Windows NT server - czarna ksi ga administratora", Helion, Gliwice 

1997;  

Podr czniki dla pocz tkuj cych u ytkowników komputerów 

7.

  T. Kołodziejczak "Podstawy Informatyki", Prószy ski i S-ka, Warszawa 1992;  

8.

  Witold Wrotek "PC i ty, pierwszy krok", PLJ, Warszawa 1995;  

9.

  Stanisław Jachimek "Informatyka dla szkół", Helion, Gliwice 1996/97;  

10.

 Anna Kurzydłowska et al "Kompendium Obsługi Komputera", Mikom, Warszawa 

1997;  

11.

 Zdzisław Dec, Robert Konieczny "Abc komputera", Edition 2000, Kraków 1998;  

12.

 Shelly O'Hara "Komputer od A do Z", Read Me, Warszawa 1998;  

13.

 Dan Gookin "Komputer dla opornych", Read Me, Warszawa 1997;  

Literatura pomocnicza 

14.

 Don Sellers "Nie daj si , czyli jak komputer mo e ci  wyko czy ", Helion, Gliwice 

1996.  

 
 
 
 
 
 
 
 
 
 

 

background image

 

Rozdział 1: Wprowadzenie 

Architektura współczesnych komputerów - maszyna von Neumanna 

W drugiej połowie lat 40. John von Neumann zaproponował schemat blokowy elektronicznej 

maszyny licz cej (rys. 1.1).  

 

Schemat ten a  do dzisiaj z niewielkimi modyfikacjami jest podstaw  budowy komputerów.  

Gdzie:  

• 

Procesor (ang. processor) - układ dokonuj cy operacji na danych zgromadzonych w 

pami ci lub płyn cych z/do urz dze  wej cia wyj cia, sterowany programem, którego 

kod znajduje si  w pami ci. Do przechowywania swojego wewn trznego stanu 

procesor wyposa ony jest w pen  ilo  rejestrów, z których najwa niejsze to:  

o

 

Wska nik instrukcji (ang. instruction pointer) - wskazuje komórk  pami ci, z 

której pobrany b dzie nast pna instrukcja do wykonania.  

o

 

Rejestr flag stanu (ang. flag register, flags) - składaj  si  na niego jednobitowe 

flagi przechowuj ce informacje o stanie procesora (np. dopuszczalno ci 

background image

 

przerwa ) lub rezultacie ostatnio wykonanej instrukcji (np. czy otrzymano 

zero).  

o

 

Wska nik stosu (ang. stack pointer) - wskazuje pierwsz  woln  komórk  

pami ci na stosie procesora - strukturze danych typu FILO (ang. first in last 

out - pierwszy przyszedł,ostatni wyszedł) wykorzystwanej przy skokach do 

podprogramów dla przechowywania adresu powrotu i zmiennych lokalnych.  

o

 

Akumulator (ang. accumulator) - słu y jako argument a zarazem miejsce 

umieszczania rezultatów operacji arytmetycznych.  

• 

Pami  (pami  operacyjna, ang memory) - przechowuje dane i kod prgramu. Je eli 

jej konstrukcja umo liwia oprócz odczytu dokonywanie w niej modyfikacji nazywamy 

j  RAM (ang. random access memory), je li jej konstrukcja pozwala jedynie na odczyt 

nazywana jest ROM (ang. read only memory). Obecnie konstruaowane pami ci RAM 

trac  swoj  zawarto  w chwili wył czenia zasilania w przeciwie stwie do ROM. 

Niezale nie od typu, pami  dzieli si  na komórki, z których ka da jest w stanie 

przechowa  liczb  całkowit  z ustalonego dla danej architektury zakresu. Najcz ciej 

jest to 0, 1,...,255. Do zakodowania takich liczb potrzeba 8 bitów t.j. 1 bajt. Ka da 

komórka pami ci posiada unikalny numer zwany adresem fizycznym, który słu y 

procesorowi do owoływania si  do niej. Je li nie decyduj  o tym inne wa ne wzgl dy, 

komórkom pami ci przydziela si  adresy fizyczne poczynaj c od zera bez luk w 

numeracji.  

• 

Zegar - odmierza cykle wykonywania instrukcji programu.  

• 

Magistrale (ang. buses) słu  do przesyłania danych i synchornizacji mi dzy 

elementami komputera:  

o

 

Magistrala danych (ang. data bus) słu y do przesyłania danych mi dzy 

pami ci , układami we/wy a procesorem. Ilo  u ytych tutaj linii jest równa 

długo ci słowa masynowego i jest równa rozmiarowi komórki pami ci, lub jest 

jego wielokrotno ci .  

o

 

Magistrala adresów (ang. address bus) słu y procesorowi do wysyłania 

numerów komórek pami ci lub rejestrów we/wy na których b dzie doknane 

nast pne przesłanie danych. Ilo  u ytych tutaj linii decyduje o ilo ci pami ci 

jak  mo na zaadresowa .  

o

 

Magistrala steruj ca (ang. control bus) słu y do wzajemnej synchronizacji oraz 

przekazywania i potwierdzania przyj cia/wykonania zlece .  

• 

Wej cie/Wyj cie pozwala kompuerowi kontaktowa  si  z zewn trznym  wiatem 

(klawiatura, monitor, czytniki, adaptery sieciowe itp) lub przechowywa  dane poza 

pami ci  operacyjn  (dyski). Na wej cie wyj cie składaj  si  nast puj ce układy i 

urz dzenia:  

o

 

Sprz towe sterowniki wej cia wyj cia. Układy te potrafi  si  porozumiewa  z 

procesorem poprzez rejestry we/wy, przerwania, kanały DMA i własn  

adresowaln  przez procesor pami  układu. Wykonuj c zlecenia procesora 

steruj  urz dzeniami wej cia wyj cia. W technologii mikrokomputerowej s  

montowane jako karty rozszerzaj ce wewn trz obudowy komputera.  

o

 

Urz dzenia zewn trzne - zapewniaj  kontakt komputera ze  wiatem. Mog  to 

by  klawiatury, monitory, dyski, drukarki, modemy ale tak e czujniki i 

ramiona robotów w procesie produkcyjnym.  

o

 

Interfejsy. Interfejs jest to specyfikacja sposobu przesyłania danych mi dzy 

dwoma urz dzenami. Poj cie to bywa cz sto przenoszone na realizacj  

sprz tow  interfejsu w postaci gniazd, wtyków i kabli. Bywa te  rozszerzane 

na komunikacj  człowiek-maszyna, mówimy wtedy o interfejsie u ytkownika.  

background image

 

Pod wzgl dem funkcjonalnym komputer von Neumanna składa si  z uwidocznionego na rys. 

1.1 sprz tu i oprogramowania zawartego w pami ci (nieuwidocznionego).  Przez system 

komputerowy (informatyczny) rozumie si  komputer (sprz t + oprogramowanie) i osoby 

zwi zane z jego działaniem.  

W ród osób zwi zanych z działaniem komputera wyodr bnia si  nast puj ce typy:  

• 

U ytkownicy - wykorzystuj  komputery jako narz dzia uł twiaj ce pewne rutynowe 

czynno ci przetwarzania informacji.  

• 

Administratorzy - personel dbaj cy o poprawne działanie systemu informatycznego.  

• 

Twórcy oprogramowania - tworz  oprogramowanie działaj ceme w systemie 

informatycznym i zapewniaj  mu serwis.  

• 

Dostawcy sprz tu - produkuj  i dostarczaj  sprz t działaj cy w systemie 

informatycznym oraz zapewniaj  mu serwis.  

Definicja systemu operacyjnego 

Definicje 

Oprogramowanie komputera daje si  podzieli  na oprogramowanie wykonuj ce u yteczne dla 

u ytkownika obliczenia i oprogramowanie dbaj ce o poprawn  prac  systemu 

komputerowego jako cało ci, jednak e nie zawsze ten podział jest oczywisty i precyzyjny. 

Oprogramowanie tworzone z przeznaczeniem do wykonywania u ytecznych oblicze  

nazywamy aplikacjami. Oprogramowania tworzone z przeznaczeniem do zapewniania 

poprawnej pracy systemowi informatycznemu nazywamy oprogramowaniem systemowym.  

Rdzeniem oprogramowania systemowego jest system operacyjny. Z powodu trudno ci w 

precyzyjnym zdefiniowaniu tego co jest, a co nie jest systemem operacyjnym, niektórzy 

autorzy definiuj  system operacyjny jako wszystko to opragramowanie, które producent 

wkłada do pudełka z tak  nazw .  

Silberschatz et al w [2] podaj  nast puj ce definicje systemu operacyjnego:  

System operacyjny jest dystrybutorem zasobów komputera.  

System operacyjny jest programem steruj cym. Program steruj cy nadzoruje działanie 

programów u ytkownika, przeciwdziała bł dom i zapobiega niewła ciwemu u yciu 

komputera. Zajmuje si  zwłaszcza obsługiwaniem i kontrolowaniem pracy urz dze  

wej cia/wyj cia.  

Nie ma [...] w pełni adekwatnej definicji systemu operacyjnego. Istnienie systemów 

operacyjnych jest uzasadnione tym,  e pozwalaj  one w rozs dny sposób rozwi za  problem 

kreowania u ytecznego  rodowiska pracy.  

Przez zasoby rozumie si  wszystkie te elementy komputera, którymi daje si  dysponowa  

jako odr bnymi obiektami, np: procesor (w sensie przydziału jego czasu pracy), obszary 

pami ci, obszary dyskowe, drukarki itp.  

Na potrzeby niniejszego wykładu 

system operacyjny zostanie zdefiniowany jako zbiór 

programów i podprogramów wywoływanych przez inne programy lub u ytkownika, 

które maj  zapewni  u ytkownikowi i jego aplikacjom niezawodne, zestandaryzowane, 

wygodne i wydajne  rodowisko pracy.  

Mo na w zwi zku z powy szym przyj ,  e oprogramowanie rozdziela si  na dwie warstwy, 

system operacyjny jest t  warstw , która separuje warstw  aplikacji od sprz tu, a przez to je 

od niego uniezale nia (rys. 1.2).  

background image

 

 

Dla u ytku aplikacji system operacyjny tworzy pewne abstrakcje zasobów sprz towych, 

zrealizowane w postaci pewnych struktur danych i podprogramów, w dalszej cz ci wykładu 

równie  zwane zasobami. Separacj  aplikacji od sprz tu nale y rozumie  w ten sposób,  e 

aplikacje nie steruj  bezpo rednio sprz tem, a jedynie posługuj  si  strukturami danych 

dostarczonymi przez system operacyjny (abstrakcjami zasobów sprz towych) i wywołuj  

systemowe podprogramy.  

Zalety istnienia w komputerze systemu operacyjnego 

• 

mo liwo  posługiwania si  komputerem przez osoby nie b d ce ekspertami budowy 

komputerów oraz mo liwo  wydajnej pracy tych osób,  

• 

brak konieczno ci gruntownych szkole  personelu w razie wymiany komputerów lub 

ich podzespołów,  

• 

minimalizacja ilo ci oprogramowania do wymiany w razie wymiany komputerów lub 

ich podzespołów,  

• 

mo liwo  zamawiania, tworzenia, czy wreszcie kupowania aplikacji bez 

konieczno ci dokładnego precyzowania parametrów sprz tu,  

• 

mo liwo  tworzenia sterowników programowych urz dze  niezale nie od aplikacji, 

które ja wykorzystaj ,  

• 

w poł czeniu z j zykami programowania wysokiego poziomu, mo na we wzgl dnie 

ł twy sposób tworzy  wersje oprogramowania dla ró nych komputerów,  

• 

mo liwo  wyegzekwowania zasad ochrony danych przed niepowoł nym dost pem, 

dost pu do innych zasobów (jak drukarki) czy przestrzegania godzin pracy systemu,  

• 

mo liwo  rozliczania u ytkowników/klientów za wykorzystanie czasu pracy 

procesora i innych zasobów.  

Struktura systemu operacyjnego 

J dro systemu 

Aby zabezpieczy  si  przed mo liwo ci  bezpo redniego sterowania sprz tem przez 

aplikacje, konstruktorzy procesorów podzielili  

zbiór instrukcji procesora na dwie cz ci (niekiedy na wi cej, ale pominiemy te przypadki). 

Jeden zbiór instrukcji, zawieraj cy jedynie instrukcje nie steruj ce bezpo rednio sprz tem i 

odwołuj ce si  do wydzielonych obszarów pami ci, dopuszczono do u ytku przez aplikacje (i 

oczywi cie system operacyjny). Drugi zbiór, zawieraj cy instrukcje steruj ce sprz tem, lub 

odwołuj ce si  do dowlnych miejsc w pami ci dopuszczono do u ytku tylko przez system 

background image

 

operacyjny.  

Aby w praktyce zorganizowa  wła ciwe u ycie tych instrukcji wprowadzono tak e dwa tryby 

pracy procesora: tryb u ytkownika i tryb j dra. W trybie u ytkownika dopuszczone s  tylko 

instrukcje nie steruj ce sprz tem i o ograniczonym dost pie do pami ci, jest on przeznaczony 

dla aplikacji. W trybie j dra dopuszczone s  wszystkie instrukcje, jest on przeznaczony dla 

systemu operacyjnego.  

Nie cały system operacyjnym musi si  wykonywa  w trybie j dra, wobec czego wyodr bnia 

si  z systemu operacyjnego zbiór podprogramów o  ywotnym znaczeniu. Zbiór ten nosi 

nazw  j dra systemu operacyjnego.  

Wywołanie podprogramu j dra przez aplikacj  (w celu dost pu do zasobów) powoduje 

natychmiastowe przeł czenie si  procesora w tryb j dra, w trybie tym wykonuje si  

wielokrotnie sprawdzony podprogram j dra, który tu  przed powrotem do aplikacji przeł cza 

si  z powrotem do trybu u ytkownika.  

Twórcy nowoczesnych systemów operacyjnych nadaj  j dru modułow  budow , co mi dzy 

innymi pozwala wydzieli  grupy podprogramów zwane sterownikami programowymi we/wy 

(ang. driver) obsługuj cych konkretne urz dzenia i wł cza  je do j dra zale nie od potrzeb.  

Programy 

U ytkownik nie mo e wywoływa  bezpo rednio podprogramów j dra systemu operacyjnego. 

Oprogramowanie, które mo e by  wywoływane bezpo rednio przez u ytkownika nazywamy 

programami. Zgodnie z tym, co zostało powiedziane wcze niej programami s  aplikacje i 

cz

 systemu operacyjnego przeznaczona do bezpo redniego wywoływania przez 

u ytkownika tj. powłoki i programy narz dziowe.  

 

Podstawow  rzecz  jak  system operacyjny musi udost pni  u ytkownikowi jest mo liwo  

wywoływania aplikacji i innych programów. Do tego słu  powłoki.  

Powłoka jest to program przeznaczony do bezpo redniej konwersacji z u ytkownikiem, 

przyjmowania od niego zlece  i wywoływania na jego polecenie innych programów.  

Zadaniem programów narz dziowych jest wsparcie administratorów w piel gnacji komputera.  

Zadaniem programów usługowych (zwanych serwerami lub demonami) jest wspieranie j dra 

w tych czynno ciach, których samo nie mo e z ró nych wzgl dów wykona  (np. wymiatanie 

pami ci podr cnej) lub zarz dzanie abstrakcyjnymi zasobami (np. kolejki wydruków, silniki 

baz danych, serwery stron www).  

Start komputera 

background image

 

W czasie startu komputera (ang. boot) pierwsze ładowane jest j dro (np. w MS-DOS s  to 

pliki IO.SYS i MSDOS.SYS), nast pnie j dro ładuje wymagane sterowniki (w MS-DOS 

nast puje to w trakcie interpretacji pliku CONFIG.SYS), startuje programy usługowe i 

uruchamia powłok  (COMMAND.COM w MS-DOS).  

Je li system przewiduje kontrol  dost pu, przed uruchomieniem powłoki autentykuje 

u ytkownika.  

Po starcie powłoki u ytkownik mo e podj  prac , jao  e powłoka daje mu mo liwo  

uruchamiania własnych aplikacji. Cz sto startuj ca powłoka wykonuje skrypt startowy aby 

skonfigurowa   rodowisko u ytkownika i uruchamia przy tym odpowiednie aplikacje (w MS-

DOS skryptem startowym jest AUTOEXEC.BAT).  

 

 

Rozdział 2: Zarz dzanie czasem procesora 

Definicje procesu, wieloprocesowo ci, wielodost pu i wywłaszcania procesora 

Pierwsze systemy operacyjne pozwalały na wykonanie jednego programu na raz. W raz z 

rozwojem informatyki w szczególno ci pojawieniem si  interakcyjnych wielodost pnych 

systemów operacyjnych, a pó niej wprowadzeniem graficznych interfejsów u ytkownika 

wyst piła opotrzeba jednoczesnego uruchamiania na tym samym procesorze wielu 

programów w taki sposób by zminimalizowa  mo liwo ci wzajemnych zakłóce  mi dzy 

procesami.  

System operacyjny nazyway wielodost pnym, je eli wielu u ytkowników mo e jednocze nie 

z nim pracowa , ka dy z nich ma wra enie ci głej pracy systemu na jego rzecz.  

Podobn  drog  przeszły mikrokomputery od systemu CP/M i MS-DOS do dzisiejszych 

MAC-OSa i MS Windows NT.  

W nowoczesnym systemie operacyjnym dany program mo e by  wykonywany przez wielu 

u ytkowników jednocze nie, w zwi zku z tym wprowadza si  poj cie procesu. Silberschatz et 

al w [2] definiuj  

proces jako program, który jest wykonywany. Sprecyzowa  nale y,  e 

ka dy załadowany do pami ci operacyjnej celem wykonania egzempla  programu razem z 

danymi na których operuje stanowi oddzielny proces.  

System operacyjny nazywamy wieloprocesowym je eli dopuszcza jednoczesne istnienie w 

nim wielu procesów. Takim systemem jest np. MS-DOS, przy czym w tym wypadku proces 

raz uruchomiony blokuje innym procesom dost p do procesora a  do swego zatrzymania, 

dopiero wówczas mo e na nowo podj  swe wykonanie jego proces macierzysty. Takim 

systemem nie jest np. CP/M, w którym mo e istnie  tylko jeden proces.  

Jak to ju  stwierdzono w MS-DOSie po uruchomieniu procesu potomnego dany proces był 

zamra any i faktycznie nie mógł si  wykonywa  a  do zako czenia potomka. Je eli 

oczekujemy od komputera z jednym procesorem aby był wielodost pny, musimy zadba  o to 

by dzieli  czas procesora mi dzy ró ne procesy, niezale nie od tego, czy aktualnie 

wykonuj cy si  proces ma ochot  zwolni  procesor, czy nie. Takim mechanizmem jest 

wywałaszczanie procesora.  

Ka dy proces w systemie wieloprocesowym z wywłaszczaniem w chwili uzyskania 

procesoraotrzymuje te  kwant czasu. Po wyczerpaniu swego kwantu czasu proces jest 

przerywany, a na jego miejsce wykonywany jest inny proces. Wywłaszczony proces trafia na 

koniec kolejki procesów ubiegaj cych si  o procesor. Przykładami takich systemów s  Unix, 

Windows NT i Windows 95.  

background image

 

Graf stanów procesu 

Współbie na praca wi cej ni  jednego procesu niesie z sob  mozliwo  konfliktów przy 

dost pie do zasobów. W takich warunkach ujawnia si  rola systemu operacyjnego jako 

dystrybutora zasobów. System operacyjny (a w zasadzie jego j dro) rozstrzyga konflikty o 

zasoby przydzielaj c je jednym ubiegaj ceym si  o nie procesom a innne procesy 

powstrzymuj c do czasu zwolnienia zasobów przez dotychczasowych zwyci zców.  

Proces, który za dał dost pu do zasobu (w szczególno ci wykonania operacji we/wy) i go 

nie otrzymał nie mo e by  dalej wykonywany a  do chwili uzyskania zasobu (zako czenia 

operacji we/wy). O takim procesie mówi si   e jest w stanie u pionym. Zwalnia on procesor 

pozwalaj c innym procesom na wykonywanie si .  

W systemach z wywłaszczaniem procesora wyró nia si  pewien specjalny stan - oczekiwanie 

na przydział procesora. Mamy z nim do czynienia gdy proces posiada wszystkie niezb dne 

mu zasoby, nie wykonuje operacji wej cia wyj cia a czeka jedynie na przydzielenie mu 

[czasu] procesora. O takim procesie mówimy,  e jest w stanie gotowy do wykonania.  

Ró ne systemy operacyjne wyró niaj  ró ny zestaw stanów, przez które przechodzi proces w 

trakcie  ycia, ale w ka dym systemie wieloprocesowym z wywłaszczaniem mo na wyró ni  

nast puj ce stany:  

• 

Wykonywany - jest aktualnie wykonywany przez procesor,  

• 

Gotów do wykonania - oczekuje na swoj  kolejk  do wykonania,  

• 

U piony - oczekuje na dost p do zasobu lub operracj  wej cia/wyj cia, np. wcisni cie 

klawisza przez u ytkownika,  

• 

Niszczony - w trakcie zwalniania zasobów po zako czeniu.  

 

   

Kolejki i priorytety 

Procesy oczekuj ce na zwolnienie procesora mog  mie  ró n  wa no . Przykładowo, mo e 

to by  proces dokonuj cy pomiaru w tocz cym si  eksperymencie, edytor teksu, proces 

systemowy uruchomiony celem zrobinia okresowych porz dków i zadanie symulacji 

numerycznej pewnego układu fizycznego wykonywane długi czas w tle. Pierwsze dwa 

procesy maj  to do siebie,  e wi kszo  czasu oczekuj  na zaj cie operacji wej cia wyj cia, a 

gdy ju  to nast pi, powinny natychmiast reagowa , z kolei dwa ostatnie wykorzystuj  

background image

 

10 

głównie czas procesora, ale nie s  na tyle pilne, by nie mogły ust powa  w razie potrzeby 

innym.  

W zale no ci od pilno ci zadania i jego dotychczasowego przebiegu, system operacyjny 

nadaje procesowi priorytet. Generalnie, czym mniejsz  liczb  jest wyra ony, tym lepiej z 

punktu widzenia procesu - ma wi ksy dost p do procesora. Dla ka dego priorytetu tworzona 

jest osobna kolejka procesów gotowych do wykonania. Dopóki w kolejce o priorytecie 

wyra onym mniejsz  liczb  czekaj  procesy, prcesy z kolejki wi kszego priorytetu nie b d  

wykonywane.  

Najmniejsze priorytety s  zarezerwowane dla u ytku systemu operacyjnego, s  one do tego 

stopnia uprzywilejowane,  e procesy wykonuj ce si  z tymi priorytetami nie s  

wywłaszczane. St d te  s  u ywane jedynie w wyj tkowych okoliczno ciach przez krótkie 

procedury systemowe.  

U ytkownik ma zwykle mo liwo  wyboru priorytetu dla uruchamianego procesu, jednak e 

jest w swym wyborze ograniczony "z dołu". System operacyjny rezewuje sobie mo liwo  

zmiany priorytetu w trakcie działania procesu, celem wyrównania szans ró nych procesów.  

W tki 

Niektóre systemy operacyjne dopuszczaj  współbie no  w ramach jednego procesu. Okre la 

si  wówczas 

w tek jako jednostk  wykonania. Ka dy wykonuj cy si  proces ma 

przynajmniej jeden w tek, ka dy w tek wykonuje si  w ramach jednego procesu.  

W tki konkuruj  ze sob  o czas procesora. Pozostałe zasoby przydzielane s  na rzecz procesu. 

System operacyjny zostawia programi cie aplikacji woln  r k  w rozstrzyganiu konfliktów 

pomi dzy w tkami o dost p do zasobów przydzielonych procesowi.  

System operacyjny nazywamy wielow tkowym, je eli dopuszcza istnienie wielu w tków 

wykonania w ramach jednego procesu. Przykładami systemów wielow tkowych s  Windows 

NT, Windows 95 i niektóre odmiany Uniksa.  

W systemach nie b d cych wielow tkowymi poj cie w tku i prcesu uto samia si .  

Przedstawiony na rys. 2.1 graf stanów procesu oraz kolejkowanie w systemie 

wielow tkowym dotyczy oczywi cie w tków. Proces nie posiada stanów, jest ko czony w 

momencie gdy sko czy si  jego ostatni w tek.  

Je eli nie b dzie to wyra nie zaznaaczone, w dalszej cz ci wykładu procesy i w tki b d  ze 

sob  uto samiane.  

Kontekst procesu 

Aby proces/w tek mógł by  wznowiony od miejsca w którym przerwane zostało jego 

wykonanie, nale y zachowa  pewne informacje o stanie procesora w chwili przerywania 

działania procesu. Zbiór wszystkich informacji niezb dnych do podj cia prez proces działania 

z miejsca, w którym si  znajduje nazywamy kontekstem procesu. Zdarzenie zapami tania 

kontekstu aktualnego procesu i wprowadzenia do procesora wcze niej zachowanego 

kontekstu innego procesu celem rozpocz cia jego wykonania nazywamy przeł czeniem 

kontekstu.  

Kontekst procesu składa si  z zawarto ci rejestrów procesora, w szczególno ci wska nika 

instrukcji, rejestru flag stanu i wska nika stosu. W przypadku systemów z pami ci  wirtualn  

w skład kontekstu wchodz  tablice stron.  

Procesy interakcyjne, wsadowe i demony 

background image

 

11 

Nie wszystkie procesy wymagaj  ci głej współpracy u ytkownika w trakcie działania. Te 

które wymagaj  - nazywamy interakcyjnymi. S  to m.in. edytory tekstu, programy do 

odbierania poczty itp. Programy interakcyjne maj  zawsze przypisany jaki  zasób 

umo liwiaj cy konwersacj  z u ytkownikiem. W przypadku Uniksa jest to terminal znakowy. 

W przypadku programu z graficznym interfejsem u ytkownika jest to okienko graficzne na 

ekranie komputera.  

Procesy nie wymagaj ce uwagi u ytkownika dziel  si  na dwie kategorie:  

• 

demony - programy  wiadcz ce usługi dla systemu jako cało ci (program wymiataj cy 

pami  podr czn ) lub dla ogółu u ytkowników (silnik bazy danych) oraz  

• 

zadania wsadowe - zadania uruchomione przez jednego u ytkownika, wykonuj ce 

długotrwałe obliczenia, których nie trzeba nadzorowa , np: sysmulacje numeryczne, 

tworzenie grafiki w oparciu o techniki  ledzenia promieni, itp.)  

System operacyjny dostarcza administratorowi narz dzi do uruchamiania i nadzorowania 

procesów pierwszego typu, a pozostałym u ytkownikom drugiego typu.  

 

 

Rozdział 3: Zarz dzanie pami ci  

Do czego procesowi pami  

Ka dy prces działaj cy w komputerze wymaga pami ci operacyjnej do przechowywania kodu 

swego prograamu i danych które przetwarza.  

Dane, które przetwarza proces reprezentowane s  przez zmienne programu. Przez zmienn  

programu rozumie si  obszar pami ci o ustalonym adresie pocz tkowym i długo ci, do 

którego mo na odwoływa  si  z programu poprzez symbol zwany nazw  zmiennej.  Ka da 

zmienna posiada swój typ, definiowany jako zbiór, którego elementy mog  by  kodowane 

przez warto ci zmiennej, np. typ 

char

 j zyka C koduje znaki zbioru ASCII lub liczby z 

przedziału -128 do 127.  Typ decyduje o długo ci obszaru przeznaczonego na zmienn . 

Wa nymi typami zmiennych s  zmienne wska nikowe. Przechowuj  one adresy (adresy 

pocz tku obszaru) innych zmiennych.  

Z punktu widzenia zarz dzania pami ci  wyró nia si  trzy klasy zmiennych:  

• 

Zmienne statyczne - s  tworzone przy starcie procesu i istniej  przez cały czas jego 

ycia.  

Okre lenie zmienna statyczna mo e by  myl ce. Zmienna ta, oczywi cie, mo e by  

modyfikowana przez program. Okre lenie statyczna odnosi si  do sposobu 

gospodarowania pami ci  tej zmiennej - rezerwuje si  j  przy starcie a zwalnia przy 

ko cu procesu. Przez cały czas  ycia procesu dany obszar pami ci wykorzystywany 

jest w ten sam sposób - na przechowywanie aktualnej warto ci danej zmiennej.  

• 

Zmienne lokalne podprogramów zwane te  automatycznymi - s  tworzone dla 

ka dego wywołania podprogramu i usuwane po jego zako czeniu.  

• 

Zmienne dynamiczne - s  tworzone i usuwane w miar  potrzeby.  

Wyró nia si  trzy zasadnicze grupy obszarów pami ci, z których korzysta proces:  

background image

 

12 

• 

Obszary zajmowane przez kod programu i bibliotek. Na pami ci wchodz cej w skład 

tych obszarów po załadowaniu programu (lub biblioteki) procesor wykonuje jedynie 

operacje odczytu. Obszary te mog  by  wspólny dla ró nych procesów wykonuj cych 

ten sam program, lub korzystaj cych z tej samej bibloteki ładowanej dynamicznie.  

• 

Obszary zajmowany przez prywatne dane programu, w tym zmienne statyczne i 

dynamiczne. Obszar ten jest inicjowany przy starcie procesu pocz tkowymi 

warto ciami zmiennych globalnych (cz sto zerami). W trakcie  ycia procesu 

dokonywane s  zarówno operacje odczytu jak i zapisu. Obszar przechowuj cy 

zmienne dynamiczne nazywany jest stert . Tworzenie i niszczenie zmiennych 

dynamicznych mo e powodowa  zwi kszanie si  i zmniejszanie tego obszaru w 

trakcie  ycia procesu. Ka dy proces wymaga własnego obszaru prywatnych danych. 

Je eli proces składa si  z w tków, w tki współdziel  obszar danych procesu.  

• 

Obszar stosu. W obszarze tym zapami tuje si  adresy powrotów z podprogramów oraz 

przechowuj zmienne lokalne (dla ka dego wywołania podprogramu tworzony jest jego 

własny komplet zmiennych lokalnych). Obszar ten jest rezerwowany w pami ci przy 

starcie procesu. Z pocz tku jest pusty. Wypełnia si  i opró nia w miar  jak 

wywoływane i ko czone s  poszczególne podprogramy. Ka dy w tek wymaga 

własnego obszaru stosu.  

Powy sze obszary pami ci bywaj  cz sto nazywane segmentami odpowiednio kodu, danych i 

stosu.  

Mo na wyró ni  dodatkowe obszary pami ci dost pnej procesowi:  

• 

Obszary systemowe. W nowoczesnych systemach operacyjnych dost p do tych 

obszarów proces ma tylko wtedy, gdy wykonuje w trybie j dra podprogram j dra 

systemu operacyjnego.  

o

 

Dane systemu operacyjnego w tym np. bufory dyskowe,  

o

 

kod j dra systemu operacyjnego,  

o

 

kod sterowników urz dze  w pami ci ROM,  

o

 

adresowalna pami  urz dze  wej cia wyj cia, np. pami  obrazu karty 

graficznej.  

• 

Pami  dzielona - obszary pami ci przechowuj ce dane, do których dost p ma wi cej 

ni  jeden proces.  

• 

Pliki dyskowe mapowane na pami .  

Rozwa my prosty program w C  

#include <stdio.h> 

#include <string.h> 

 

char napis[] = "Hello world!"; 

 

void main() 

  char *tymczasowa; 

  tymczasowa=strdup(napis); 

  printf("%s\n",tymczasowa); 

  free (tymczasowa); 

Rys. 3.1 Przykładowy program w C u ywaj cy ró nych klas zmiennych 

W trakcie działania powy szego programu tworzone s  (a potem usuwane) nast puj ce 

zmienne:  

background image

 

13 

• 

zmienna statyczna ``

napis

 '' zawieraj ca ła cuch "

Hello World!

";  

• 

bezimienna zmienna statyczna zawieraj ca ła cuch "

%s\n

";  

• 

zmienna lokalna funkcji ``

main

'' typu wska nikowego (wska nik do typu 

char

) o 

nazwie ``

tymczasowa

'';  

• 

zmienna dynamiczna, b d ca duplikatem zmiennej ``

napis

'', wska nik do niej 

podstawiany jest do zmiennej ``

tymczasowa

''.  

• 

inne zmienne zadeklarowane w standardowej bibliotece C, których deklaracje 

znajduj  si  w plikach nagłówkowych stdio.h i string.h  

Przy starcie procesu wykonuj cego powy szy program w obszarze kodu programu znajdzie 

si  skompilowana funkcja ``

main

'' oraz skompilowane niezb dne funkcje biblioteczne w tym 

funkcje ``

printf

'', ``

strdup

'' i ``

free

''. W obszarze danych statycznych utworzone b d  zmienne 

``

napis

'', bezimienna zmienna zawieraj ca ła cuch "

%s\n

" oraz niesprecyzowane tutaj bli ej 

zmienne tworzone dla potrzeb bibliotek.  

Po zainicjowaniu pami ci proces zaczyna wykonywa  swój kod poczynaj c od funkcji 

``

main

''. W trakcie prologu tej funkcji rezerwowane jest na stosie miejsce na zmienn  

``

tymczasowa

''. W trakcie wykonania (druga linijka) tworzona jest zmienna dynamiczna b d ca 

duplikatem zmiennej ``

napis

'' a jej adres wstawiany jest do zmiennej ``

tymczasowa

''. Przy ko cu 

programu zmienna dynamiczna (której adres wci  przechowuje zmienna ``

tymczasowa

'') jest 

niszczona. Epilog funkcji ``

main

'' niszczy zmienn  lokaln  ``

tymczasowa

''. Zako czenie si  tej 

funkcji ko czy jednocze nie proces. W trakcie usuwania zako czonego procesu niszczone s  

pozostałe zmienne.  

Gospodarka pami ci  w systemach bez mechanizmu pami ci wirtualnej 

CP/M 

Najprostsz  gospodark  pami ci  prezentuje system operacyjny CP/M. Poniewa  w systemie 

tym mo e istnie  tylko jeden proces, dostaje on cał  pami  w swoje władanie. System 

operacyjny iinformuje go jedynie, gdzie znajduj  si  jego obszary pami ci. Poza tym 

ostrze eniem, system operacyjny nie chroni swej pami ci przed procesem.  

Systemy wieloprocesowe 

W wieloprocesowych systemach operacyjnych nale y stworzy  mechanizmy przydzielania 

pami ci wielu procesom oraz ochrony pami ci przydzielonej poszczególnym procesom i 

pami ci zajmowanej przez kod i dane j dra przed innymi procesami.  

W pierwszych sysemach wieloprocesowych z ochron  pami ci uruchamiany proces 

otrzymywał sztywn  pul  pami ci wyznaczn  przez adresy graniczne. Proces musiał zmie ci  

swój kod i dane w zadanym obszarze. U ycie zmiennych dynamicznych było w zwi zku z 

tym ograniczone. W przypadku odwołania si  do adresów spoza wyznaczonych granic proces 

wpadał w pułapk  i był ko czony.  

MS-DOS 

W systemie operacyjnym MS-DOS proces przy starcie mo e zarezerwowa  pewn  ilo  tzw. 

segmentów pami ci operacyjnej poło onej poni ej adresu 655360. W trakcie  ycia mo e 

zarezerwowa  dodatkowe segmenty lub zwolni  je. Mo e te  rezerwowa  i zwalnia  pami  

powy ej 1MB. Nowy proces b dzie uruchomiony pod warunkiem,  e jest do  segmentów 

dla niego w obszarze pierwsych 640kB pami ci. MS-DOS nie zapewnia ochrony pami ci.  

background image

 

14 

MS-Windows 3.x 

Windows 3.x s  nakładk  na MS-DOS cz ciowo modyfikuj c  jego zachowanie, m in. 

zarz dzanie pami ci . Przede wszystkim znika ograniczenie wielko ci pami ci procesu do 

640kB. MS-Windows równie  nie zapewniaj  pami ci.  

Obszary pami ci mo na rezerwowa  jako:  

• 

Fixed - Obszar ten cały czas dost pny jest pod adresami przydzielonymi mu przy 

rezerwacji. W obszarach tej klasy lokuje si  kod, dane statyczne i stos procesu.  

• 

Movable - Aby odwoływa  si  do adresów w tym obszarze, nale y go zablokowa . 

System operacyjny gwarantuje,  e po odblokowaniu zawarto  obszaru nie b dzie 

zniszczona, jednak nie gwarantuje,  e po powtórnym zablokowaniu znajdowa  si  

b dzie w tym samym miejscu pami ci. W zwi zku z tym, adresy zmiennych 

zawartych w tym obszarze, po jego odblokowaniu trac  wa no . Obszary tej klasy 

wykorzystuje si  na współdzielone dane i pewne mniej potrzebne zmienne 

dynamiczne.  

• 

Discardable - Aby odwoływa  si  do adresów w tym obszarze, nale y go zablokowa . 

Po odblokowaniu obszaru mo e on zosta  zniszczony. W zwi zku z tym, adresy 

zmiennych zawartych w tym obszarze, po jego odblokowaniu trac  wa no . Obszary 

tej klasy wykorzystuje si  na pewne mniej potrzebne zmienne dynamiczne.  

MS-Windows zapewnia dwa mechanizmy gospodarowania pami ci :  

1.

  Konsolidacja. W przypadku gdy dla nowotworzonego procesu, lub procesu, który 

zarz dał pami ci brak miejsca, odblokowane obszary klasy discardable s  niszczone, a 

odblokowane obszary klasy movable przesuwane tak by utworzy  spójny obszar 

background image

 

15 

mog cy zaspokoi   danie.  

 

2.

  Wymiana. Je eli powy sze operacje nie pozwalaj  uzyska  spójnego obszaru pami ci 

odpowiedniej wielko ci, jeden lub wi cej z obszarów klasy fixed, lub zablokowanych 

obszarów klas movable i discardable nale cych do innych procesów trafia na dysk do 

pliku wymiany. Zmiana kontekstu (uzyskanie procesora przez inny proces) powoduje 

e obszary pami ci danego procesu umieszczone w pliku wymiany s  sprowadzane do 

pami ci operacyjnej, a obszary nale ce do innych procesów, pokrywaj ce si  w 

pami ci operacyjnej z nimi s  konsolidowane lub trafaj  do pliku wymiany.  

Jak wida  na rysunku 3.2 pomimo zastosowania konsolidacji pami ci, jest ona wci  

pofragmentowana, cho  najwi kszy spójny obszar znacz co wzrósł. Fragmentacja pami ci 

powoduje,  e  dania przydziału pami ci, domagaj ce si  mniej pami ci ni  jest w sumie 

wolne, ale wi cej ni  zawiera najwi kszy spójny obszar mog  nie zosta  spełnione.  

Z pomoc  przychodzi wymiana (mechanizm zapewniany przez system operacyjny) i 

nakładkowanie (mechanizm zapewniany przez programist  lub jego kompilator). Polegaj  

one na czasowym usuwaniu pewnych obszarów pami ci na dysk do specjalnie utworzonego 

pliku wymiany. Mechanizmem nakładkowania nie b dziemy si  tu zajmowa , jest on 

zbli ony do mechanizmu wymiany, a dotyczy głównie wymiany zestawów podprogramów.  

Wad  mechanizmu wymiany jest to,  e pami  jest usuwana na dysk wielkimi blokami, a w 

razie przeł czenia kontekstu cała pami  procesu musi by  przeniesiona od razu z pliku 

background image

 

16 

wymiany do pami ci operacyjnej. Nie mo na równie  zarezerwowa  obszaru wi kszego ni  

dost pna pami  operacyjna.  

Mechanizm pami ci wirtualnej 

Zalety i wady 

Mechanizm pami ci wirtualnej nie posiada wad przedstawionych w poprzednim paragrafie. 

Jego cechy to:  

• 

Powstanie prywatnych przestrzeni adresowych dla ka dego procesu. Procesy nie 

widz  nawzajem swoich przestrzeni adresowych.  

• 

Niewidoczny dla procesu podział pami ci na niewielkie (rz du 1kB) obszary pami ci 

podlegaj ce wymianie zwane stronami.  

• 

Praktyczne nieistnienie problemu fragmentacji pami ci.  

• 

Mo liwo c przechowywania w pami ci operacyjnej w trakcie wykonywania procesu 

jedynie najcz ciej ostatnio u ywanych stron. Długo niewykorzystywane strony 

trafiaj  na dysk do pliku wymiany. Przy przeł czaniu kontekstu nie ma potrzeby 

ładowa  całej przestrzeni adresowej do pami ci operacyjnej, wystarczy strona z 

komórk  zawieraj c  nast pn  instrukcj  programu, oraz strona z wierzchem stosu.  

• 

Proces ma iluzj  posiadania przez maszyn  znacznie wi kszej ilo ci pami ci 

operacyjnej ni  ma ona w rzeczywisto ci, w szczególno ci mo na tworzy  zmienne o 

rozmiarze przekraczaj cym rozmiar pami ci operacyjnej.  

• 

Mo liwo  poddania ochronie obszarów przestrzeni adresowej procesu, w 

szczególno ci obszarów systemowych, obszaru kodu i pami ci współdzielonej.  

• 

Mo liwo  spójnego implementowania pami ci wirtualnej, pami ci współdzielonej, 

mapowania pliku na pami  operacyjn  i buforowania operacji dyskowych.  

Wadami mechanizmu pami ci wirtualnej s   

• 

Narzut na pami  zwi zany z przechowywaniem dodatkowych struktur danych t.j. 

tablic stron.  

• 

Narzut na wydajno  i zło ono  procesora zwi zany z wyliczaniem adresów 

fizycznych z adresów wirtualnych.  

• 

Narzut na wydajno  systemu zwi zany z konieczno ci  wczytania do procesora 

cz sci tablicy stron nowego procesu przy przeł czaniu kontekstu.  

• 

Narzut na wydajno  systemu zwi zany z operacjami dyskowymi wymiany stron. 

Trzeba tu jednak zaznaczy ,  e dobre algorytmy wymiany stron minimalizuj  ten 

narzut.  

Zasada działania 

Najistotniejszym elementem mechanzmu jest rozró nienie mi dzy adresem logicznym a 

fizycznym komórki pami ci i sposób odwzorowania adresu logicznego na fizyczny.  

Adresem fizycznym komórki nazywamy adres, jaki wysyła na magistral  adresow  procesor, 

aby odwoła  si  do tej komórki. Ka da komórka pami ci operacyjnej ma swój niezmienny 

adres fizyczny. Ka dy adres fizyczny odnosi si  zawsze do tej samej komórki pami ci lub jest 

zawsze bł dny.  

Adresem logicznym (lub wirtualnym) nazywamy adres jakim posługuje si  program, aby 

odwoła  si  do zmiennej lub instrukcji. Adres logiczny mo e odnosi  si  zarówno do komórki 

background image

 

17 

pami ci operacyjnej jak i słowa maszynowego zapisanego na dysku. Przypisanie adresu 

logicznego do konkretnej komórki pami ci, czy konkretnego miejsca na dysku jest inne dla 

ka dego procesu i mo e si  zmienia  w trakcie jego  ycia.  

Pami  operacyjna dzielona jest na ramki, to jest spójne obszary o stałym romiarze zwanym 

wielko ci  ramki. Przestrze  adresów wirtualnych dzielona jest na strony, to jest spójne 

obszary o stałym rozmiarze zwnym wielko ci  strony. Wielko  strony równa si  wielko ci 

ramki i jest wielokrotno ci  rozmiaru sektora dyskowego. Wielko  strony jest rz du 1kB, i 

tak, w systemie VMS wynosi ona 512B, w Linuksie - 1kB a w Windows NT - 4kB.  

Analogicznie do pami ci operacyjnej, mo na przyj ,  e plik wymiany dzieli si  równie  na 

ramki. Strona pami ci wirtualnej mo e znajdowa  si  w jednej z ramek pami ci operacyjnej, 

jednej z ramek pliku wymiany lub by  stron  niezarezerwowan  (bł dn ). Odwzorowania 

stron pami ci wirtualnej w ramki pami ci operacyjnej lub ramki pliku wymiany dokonuje 

procesor za ka dym razem, gdy oblicza adres fizyczny z adresu wirtualnego (celem pobrania 

instrukcji, lub odwołania si  do zmiennej). Do odwzorowywania stron w ramki słu  mu 

tablice stron wirtualnych.  Szczegóły tłumaczenia adresu logicznego na fizyczny w prypadku, 

gdy strona znajduje si  w pewnej ramce pami ci operacyjnej ilustruje rys. 3.3.  

 

Adres logiczny składa si  z dwóch c ci: numery strony i przesuni cia na stronie. Numer 

strony słu y jako indeks do tablicy stron wirtualnych. W tablicy tej odnajdywana jaest 

pozycja odpowiadaj ca dnej stronie. Na podstawie atrybutów procesor ustala, czy strona 

znajduje si  w pami ci operacyjnej i je li tak, pobiera numer ramki po czym ł czy go z 

przesuni ciem na stronie otrzymuj c adres fizyczny, który mo e by  wysłany na magistral  

adresow .  

Je eli atrybut dost pno ci strony wskazuje,  e znajduje si  ona w pami ci wymiany, nast puje 

tzw. ``page fault'' - wyj tek pami ci wirtualnej. Procesor przerywa proces (w tek), który 

background image

 

18 

odwołał si  do nieobecnej strony i przenosi go w stan u piony. Jednocze nie podejmowane s  

działania maj ce na celu sprowadzenie strony do pami ci t.j. wyszukiwana jest wolna ramka. 

Je li wolnej ramki brak, jedna z ramek zaj tych zapisywana jest na dysk i zwalniana. 

Uzyskana ramka pami ci operacyjnej zapełniana jest zawarto ci  przywracanej strony 

przechowywan  w pliku wymiany.  

Tablice stron mog  rezydowa  tak jak to pokazano na rysunku w specjalnych obszarach 

pami ci, które s  znane procesorowi przez ich adres fizyczny (a nie logiczny) lub te  mog  

by  cz ciowo przechowywane w podr cznej pami ci asocjacyjnej procesora. Wiele 

systemów operacyjnych dopuszcza by cz

 tabeli stron mogła by  przenoszona do pliku 

wymiany.  

Du a cz

 mechanizmu pami ci wirtualnej musi by  realizowana sprz towo przez procesor. 

System operacyjny dochodzi do głosu gdy nast puje page fault i trzeba sprowadzi  stron  do 

pami ci, usuwaj c by  mo e inn  stron  oraz dokona  przeł czenia kontekstu. Mechanizm 

ten mo e zatem działa  jedynie w systemach operacyjnych działaj cych na procesorach 

wspieraj cych go, takich jak np. Intel i386 i nowsze procesory Intela, procesory Alpha, 

nowsze procesory Motorolli itd.  

Izolacja procesów i ochrona pami ci. 

Aby zapewni  ka demu procesowi prywatn  przestrze  adresow , dostaje on własn  tablic  

stron wirtualnych. W zwi zku z tym tablica ta jest elementem kontekstu procesu. Przeł czenie 

kontekstu wymaga wczytania do procesora tablicy stron nowego procesu (a przynajmniej jej 

cz ci).  

Atrybutem strony mo e by  uprawnienie procesu do posługiwania si  t  stron :  

• 

Uprawnienie do odczytu i zapisu (read/wite). To uprawnienie otrzymuj  strony 

obszarów danych i stosu programu.  

• 

Uprawnienie do odczytu (read only). To uprawnienie nadaje si  m.in. stronom 

zawieraj cym kod programu. Mo na dzi ki temu współdzieli  te strony mi dzy 

procesami wykonuj cymi ten sam program bez obawy,  e jeden proces zmodyfikuje 

kod programu i tym samym wpłynie katastrofalnie na przebieg działania drugiego 

procesu.  

• 

Uprawnienie zabraniaj ce wszelkich operacji (no access). Tym atrybutem oznacza si  

strony przechowuj ce kod i dane j dra systemu operacyjnego oraz strony nie 

zarezerwowane dot d przez proces.  

Niektóre systemy operacyjne wyró niaj  bardziej zło ony system uprawnie  np. copy on 

write i execute only, pod warunkiem,  e procesor wspiera takie upranienia.  

Proces, diałaj c w trybie u ytkownika, nie ma mo liwo ci bezpo redniej zmiany zawarto ci 

tablicy stron. Mo e on zleci  systemowi operacyjnemu rezerwacj  nowych stron (np. na 

zmienne dynamiczne) lub zwolnienie tych które przestał u ywa . Odbywa si  to przez 

wywołanie odpowiednich podprogramów j dra (działaj cych w trybie j dra).  

 

 

Rozdział 4: Zarz dzanie wej ciem-wyj ciem 

Ogólna architektura podsystemu wej ia/wyj cia 

background image

 

19 

Ogóln  architektur  wej cia/wyj cia przedstawiono na rys. 4.1.  

 

Na sprz t (patrz 

rozdział 1

 i rys. 1.1) składa si  pewna ilo  urz dze  wej cia wyj cia 

zwanych dalej urz dzeniami fizycznymi (ang. phisical device), ka de z tych urz dze  

sterowane jest przez sterownik sprz towy (ang. hardware controller).  

Do komunikacji z urz dzeniami fizycznymi wykorzystuje si  zasoby urz dze  t.j. rejestry 

we/wy, przerwania, adresowaln  pami  urz dze  i kanały DMA.  

J dro systemu operacyjego zawiera pewn  ilo  modułów zwanych stertownikami 

programowymi urz dze  (ang. device driver), które potrafi  sterowa  urz dzeniami. Jeden 

sterownik mo e obsługiwa  wiele urz dze  podobnego typu (np. sterownik dysków) lub 

uzupełniaj cych si  typów (np. sterownik terminala obsługuje klawiatur  i kart  graficzn  

wraz z monitorem).  

Sterowniki programowe tworz  dla wy szych warstw oprogramowania urz dzenia logiczne 

(ang. logical device). Urz dzenie logiczne jest obiektem b d cym abstrakcj  urz dzenia 

fizycznego. Na urz dzeniu logicznym mo na dokonywa  operacji zapisu i odczytu poprzez 

podprogramy dostarczane przez sterownik. Wy sze warstwy oprogramowania nie musz  zna  

background image

 

20 

szczegółów sterowania danym urz dzeniem.  

Wsród urz dze  logicznych mo na wyodr bni  nast puj ce typy:  

• 

Urz dzenia znakowe lub strumieniowe (ang. character device). Z urz dzenia 

znakwego mo na czyta  w sposób sekwencyjny ci gi bajtów, lub w sposób 

sekwencyjny zapisywa  ci gi bajtów.  

Przykłady urz dze  fizycznych dla których tworzy si  logiczne urz dzenia znakowe: 

zegar systemowy, porty szergowe i równoległe oraz widoczne przez nie drukarki, 

modemy, myszy i terminale, komsola, streamery itp.  

• 

Urz dzenia blokowe (ang. block device). Z urz dzenia blokowego mo na odczytywa  

i zapisywa  bloki bajtów okre lonej dla danego urz dzenia wielko ci. Dost p do 

danych w urz dzeniu blokowym w przeciwie stwie do urz dze  znakowych jest 

swobodny t.j. poprzez podanie adresu bloku.  

Przykłady urz dze  fizycznych dla których tworzy si  logiczne urz dzenia blokowe: 

dyski, niektóre skanery.  

• 

Inne. Urz dzenia te oferuj  funkcje, która wykraczaj  znacz co poza operacje 

odczytu/zapsu na urz dzeniu znakowym lub blokowym.  

Przykłady urz dze : karty sieciowe, karty graficzne. 

Modyły j dra odpowiedzialne za wy sze funkcje to moduły systemów plików, protokołów 

sieciowych, interfejsu u ytkownika itp.  

Systemy plików mog  by  zakładane na urz dzeniach blokowych. System plików umo liwia 

przechowywanie na tym  samym urz dzeniu ró nych informacji w sposób pozwalaj cy 

wyszuka  potrzebne zbiory danych oraz zabezpieczy  dane przed niepowołanym dost pem.  

Wy sze funkcje we/wy dost pne s  przez tzw. API (application programmer's interface - 

interfejs programisty aplikacji) czyli zbiory podprogramów dost pnych do wywołania przez 

aplikacje.  

Istniej  pewne zło one operacje, które nie powinny lub nie musz  by  wykonywane w j drze 

systemu operacyjnego ze wzgl du np. na wydajno  systemu, d enie do zmniejszenia 

stopnia komplikacji j dra czy bezpiecze stwo. Do wykonania tych operacji uruchamia si  

przy starcie systemu programy usługowe zwane te  demonami (ang. daemon). Przykłady 

zastosowa : zarz dzanie kolejkami wydruków, implementacja cz ci usług sieciowych czy 

wymiatanie buforów dyskowych.  

Programy usługowe i aplikacje mog  si  odwoływa  bezpo rednio do urz dze  logicznych, 

je eli konfiguracja systemu na to pozwala lub do odpowiednich API.  adna warstwa 

oprogramowania z wyj tkiem sterowników programowych nie odwołuje si  bezpo rednio do 

sprz tu.  

Zasoby urz dze  fizycznych 

Zasoby urz dze  fizycznych umo liwiaj  procesorowi i wykonywanemu si  na nim 

oprogramowaniu komunikowa  si  z urz dzeniami fizycznymi. Wyró nia si  cztery klasy 

zasobów urz dze  fizycznych:  

• 

rejestry we/wy (ang. I/O registers),  

• 

przerwania (ang. interrupts),  

• 

adresowalna pami  sterownika,  

• 

kanały DMA.  

Rejestry we/wy 

background image

 

21 

Rejestry we/wy to rejestry sterowników sprz towych, do których procesor mo e wpisywa  

(lub odczytywa ) dane podane na magistral  danych, podaj c na magistral  adresow  adres 

rejestru. Wiele procesorów informuje o operacjach na rejestrach we/wy podaj c sygnał na 

specjaln   cie k  w magistrali steruj cej, co pozwala oddzieli  przestrze  adresow  pami ci 

fizycznej od przestrzeni adresowej rejestrów we/wy. Rozwi canie to zastosowano w 

procesorach Intela. Istniej  procesory, które nie rozró niaj  pami ci operacyjnej i rejestrów 

we/wy, jak np. Motorolla 6502. Komplikuje to prac  projektantom magistral.  

Funkcje rejestrów we/wy mog  by  ró ne. Zapis do pewnego rejestru mo e by  komend  dla 

sterownika sprz towego urz dzenia. Inne rejestry słu  jako bufory wej cia wyj cia - nale y 

do nich wpisyswa  dane wysyłane do urz dzenia a odczytywa  dane przychodz ce z 

urz dzenia. Jeszcze inne rejestry pozwalaj  odczyta  status urz dzenia lub ostatnio 

wykonanej operacji.  

Adresy rejestrów we/wy danego sterownika sprz towego cz sto mog  by  modyfikowane. 

Nadaje si  je ustawiaj c zworki na karcie sterownika (np. dawne modele kart sieciowych 

zgodnych z NE2000), konfiguruj c programem SETUP (np. adresy portów szeregowych) lub 

programem dostarczonym przez producenta urz dzenia (np. karty sieciowe ISA 3Com) lub 

poprzez fakt wł czenie karty w konkretne gniazdo magistrali (np. karty PCI).  

O ustawieniu adresów we/wy na sterowniku sprz towym nale y poinformowa  sterownik 

programowy (ang. driver), aby mógł si  poprawnie odwoływa  do danego urz dzenia. 

Nowsze sterowniki programowe potrafi  same wykry  adresy we/wy swoich sterowników 

fizycznych.  

Adresy we/wy nie musz  tworzy  spójnej przestrzeni adresowej jak to było z pami ci  

fizyczn . Je eli adresy we/wy dwóch sterowników pokrywaj  si , to urz dzenia te nawzajem 

przeszkadzaj  sobie w pracy. Mówimy wtedy o konflikcie adresów we/wy. Konflikt 

rozwi zuje si  nadaj c jenemu z urz dze  inne adresy we/wy i informuj c o tym sterownik 

programowy danego urz dzenia.  

Rejestry we/wy zapewniaj  przepływ niewielkich paczek informacji w obie strony (procesor 

<-> urz dzenie). Inicjatorem komunikacji jest zawsze procesor.  

Przerwania 

Przerwana to sygnały jakie wysyłaj  sterowniki sprz towe aby poinformowa  procesor o 

istotnym zdarzeniu, które wymaga po wi cenia przez procesor uwagi danemu urz dzeniu. 

Przykładami takich wydarze  mo e by  wci ni cie klawisza, zako czenie operacji dyskowej, 

nadej cie pakietu informacji do karty sieciowej itp.  

Aby odró ni  zdarzenia pochodz ce od ró nych urz dze , poszczególnym sterownikom 

sprz towym przypisuje si  numery przerwa  w podobny sposób jak to było z adresami 

we/wy, przy czym zakres numerów przerwa  sprz towych jest niewielki i przykładowo 

wynosi od 0 do 15 dla komputerów o architekturze PC/AT. Konflikt numerów przerwa  mo e 

by  równie katastrofalny w skutkach jak konflikt adresów we/wy. Podobnie jak z adresami 

we/wy, o ustawieniu numeru przerwania w sterowniku sprz towym nale y poinformowa  

odpowiedni sterownik programowy.  

Po otrzymaniu przerwania procesor przerywa aktualnie wykonywany proces, zapisuje cz

 

swego kontekstu na stosie (przynajmniej wska nik instrukcji i rejestr flagowy) i przechodzi 

do wykonania podprogramu obsługi przerwania zarejestrowanego dla danego numeru 

przerwania. Podprogram ten pochodzi ze sterownika programowego danego urz dzenia i 

został zarejestrowany w trakcie inicjacji sterownika. Po zako czeniu obsługi przerwania 

sterowanie wraca do przerwanego procesu, który wykonuje si  dalej tak jakby nie został 

przerwany.  

Istnieje hierarchia przerwa , tzn. pewne przerwania mog  by  przerywane przez inne 

background image

 

22 

umieszczone wy ej w hierarchii.  

Aby zwi kszy  szybko  reagowania na przerwania podprogram obsługi przerwania 

wykonuje si  w kontek cie procesu, który został przerwany, co poci ga za sob  mo liwo  

manipulowania danymi procesu przez podprogram obsługi przerwania pochod cy ze  le lub 

zło liwie napisanego sterownika programowego.  

Adresowalna pami  

Adresowalna pami  sterownika to cz

 pami ci RAM lub ROM sterownika sprz towego, 

która jest widoczna dla procesora w przestrzeni adresów fizycznych pami ci. Przykłady 

zastosowa : pami  obrazu karty graficznej, pami  ROM zawieraj ca kod podprogramów 

wchodz cych w skład sterownika programowego danego urz dzenia.  

Kanały DMA 

Kanały DMA (direct memory access - bezpo redni dost p do pami ci) s  to narz dzia jakie 

udost pniaj  magistrale sterownikom sprz towym we/wy, aby te mogły bezpo rednio czyta  

lub pisa  do pami ci operacyjnej (bez pochłaniania uwagi procesora). Podczas gdy sterownik 

sprz towy dokonuje operacji przez kanał DMA magistrala stgeruj ca blokuje procesorowi 

dost p do cało ci lub cz ci pami ci. Z kanałów DMA korzystaj  sterowniki urz dze  

przesyłaj cych dane z wielkimi pr dko ciami takich jak dyski, karty sieciowe czy kardt 

d wi kowe.  

Kanały DMA maj  swoje numery, do których przydzielania odnosz  si  podobne uwagi co do 

przydziału adresów we/wy.  

Sterowniki i urz dzenia logiczne 

Sterownik programowy (ang. device driver) to zbiór podprogramów pozwalaj cych sterowa  

danym urz dzeniem (urz dzeniami) fizycznym. Dla poprawnej pracy sterownik musi zna  

zasoby sterownika sprz towego urz dzenia fizycznego, poprzez które mo e si  z nim 

komunikowa . Je eli sam nie potrafi ich znale , nale y poda  mu je podczas konfiguracji.  

Pojedy czy sterownik mo e obsługiwa  wiele urz dze  fizycznych tego samego typu (np. 

dysków) lub typów uzupełniaj cych si  (np. klawiatura i ekran).  

Wy szym warstwom oprogramowania sterownik prezentuje pewn  ilo  urz dze  logicznych 

(ang. logical device). Ka de urz dzenie logiczne ma swoj  unikaln  nazw  np. "A:", "C:", 

"COM1:" w MS DOS czy "/dev/fd0", "/dev/hda1", "/dev/cua0" w Linuksie (podobne nazwy 

s  w innych systemach uniksowych).  

W MSDOSie nazwy urz dze  logicznych nie mog  by  dłu sze ni  9 znaków ł cznie z 

obowi zkowym ko cowym znakiem dwukropka ":". W MS Windows NT nazwy urz dze  

logicznych umieszczone s  w drzewie nazw obiektów systemowych, dodatkowo istnieje 

mechanizm tłumaczenia nazw MSDOSa na nazwy obiektów MS Windows NT. W uniksie 

ka demu urz dzeniu logicznemu udost pnionemu przez administratora odpowiada plik 

specjalny w katalogu "/dev", st d nazwy urz dze  zaczynaj  si  na "/dev/".  

Urz dzenia logiczne reprezentuj  abstrakcje urz dze  fizycznych:  

• 

Urz dzenia logiczne mog  wprost odpowiada  urz dzeniom fizycznym. Np. w 

MSDOS urz dzenie logiczne "COM1:" odpowiada pierwszemu portowi szeregowemu 

i w konsekwencji przypi tej do niego myszce.  

• 

W niektórych przypadkach wiele urz dze  logicznych odpowiada temu samemu 

urz dzeniu fizycznemu. Dzieje si  tak gdy urz dzenie daje si  na pewnym poziomie 

background image

 

23 

abstrakcji podzieli  na kilka odr bnych fragmentów. Np. w systemie MSDOS 

działaj cym na komputerze z jednym dyskiem podzielonym na dwie partycje, 

urz dzenia logiczne "C:" i "D:" odpowiadaj  poszczególnym partycjom tego samego 

dysku fizycznego. Inny przykład: na wietlarka t.j. urz dzenie do na wietlania klisz do 

offsetu mo e by  widoczna jako kilka drukarek logicznych, ka da drukarka logiczna 

reprezentuje inne parametry na wietlania (takie jak rozdzielczo ).  

• 

Mo liwa jest równie  sytuacja gdy jedno urz dzenie logiczne odpowiada wi cej ni  

jednemu rz dzeniu fizycznemu, np. "/dev/console" w linuksie odpowiada konsoli 

znakowej, czyli klawiaturze i monitorowi.  

Sterownik programowy urz dzenia zapewnia m.in.:  

• 

podprogramy obsługi przerwa  obsługuj ce przerwania danego urz dzenia,  

• 

podprogramy implementuj ce operacje na urz dzeniach logicznych jakie dany 

sterownik dostarcza wy szym warstwom,  

• 

podprogramy do wykonania czynno ci organizacyjnych zlecanych przez system 

operacyjny takich jak np. inicjacja urz dzenia.  

Sterowniki programowe urz dze  mog  by  dostarczne przez firmy niezale ne od producenta 

systemu operacyjnego w szczególno ci przez proucentów urz dze  we/wy. Najbardziej 

fundamentalne sterowniki takie jak sterowniki dysków, klawiatury, karty graficznej i 

monitora przychodz  razem z systemem operacyjnym. System operacyjny musi dawa  si  

rozszerza  o inne sterowniki oraz definiowa  i egzekwowa  normy, których przestrzeganie 

pozwoli współistnie  w jednym systemie operacyjnym sterownikom programowym 

pochodz cym od ró nych producentów.  

Po zainstalowaniu, sterownik programowy staje si  cz ci  systemu operacyjnego, w zwi zku 

z czym, sterowniki nieznanego pochodzenia mog  stanowi  wyłom w bezpiecze stwie 

systemu.  

Urz dzenia dyskowe 

Budowa urz dze  dyskowych 

Dysk jest urz dzeniem blokowym przeznaczonym do przechowywania du ych ilo ci danych. 

Najmniejsz  porcj  danych jaka mo e by  odczytana/zapisana na dysk nazywamy sektorem.  

Obecnie budowane dyski składaj  si  z pewnej ilo ci talerzy (ang. plate) na których 

dwustronnie zapisywana jest informacja przez kolumn  głowic (ang. head) odczytuj co-

zapisuj cych. Na ka dym talerzu wyodr bni  mo na  cie ki (ang. track) w postaci 

koncentrycznych okr gów, na których przy ustalonym poło eniu kolumny głowic zapisywana 

jest informacja.  cie ki nale ce do ró nych dysków odpowiadaj ce ustalonemu poło eniu 

kolumny głowic nazywa si  cylindrem (ang. cylinder). Na ka dej  cie ce wyodr bnia si  

pewn  ilo  sektorów.  

Bezpo redni kontroler dysku jest najcz ciej zintegrowany z dyskiem. Do komputera dysk 

jest przył czony poprzez magistral  dyskow  i adapter - sterownik sprz towy magistrali 

dyskowej. Popularnie stosowane s  dwa rodzaje magistral dyskowych i zwi zanych z nimi 

protokołów komunikacji z dyskami:  

• 

IDE (Integrated Drive Electronics - zintegrowany kontroler dysku), którego nowsze 

wersje wyst puj  pod akronimami: ATA (AT Attachment Interface - interfejs 

przył cza architektury AT), EIDE (Enhanced IDE - rozszerzony IDE), ATA-2, Fast-

background image

 

24 

ATA, ATAPI (ATA Packet Interface - interfejs pakietowy do ATA, wzorowany na 

SCSI, u ywany do nap dów CD-ROM). Do magistrali IDE mo na prezył czy  1 

adapter i maksymalnie 2 dyski. Jeden z dysków pełni rol  nadrz dn  (ang. master) w 

stosunku do drugiego (ang. slave). W wytwarzanych obecnie komputerach PC 

najcz ciej dwa adaptery (pierwszy - primary i drugi - secondary) IDE s  

zintegrowane z płyt  główn , pozwalaj c obsługiwa  maksymalnie 4 dyski. Zalet  

standardu IDE jest niski stopie  komplikacji sterowników sprz towych a co za tym 

idzie niska cena. Wad  jest mała elastyczno , rozszerzalno  i wydajno . Niska 

wydajno  (w porównaniu ze SCSI) wynika z przyj tego protokołu, który blokuje 

magistral  IDE, a przez to drugi dysk do czasu wykonania operacji.  

• 

SCSI (small computer system interface - interfejs małych systemów komputerowych) 

zaprojektowany pocz tkowo dla minikomputerów okazał si  bezkonkurencyjny przy 

budowie serwerów i silnych stacji roboczych oraz przył czaniu do komputera 

urz dze  niekoniecznie dyskowych produkuj cych lub konsumuj cych du e ilo ci 

danych (takich jak np. skanery i na wietlarki). Do magistrali SCSI mo na przył czy  

do 8 lub w nowszych wersjach do 16 urz dze . Jednym z nich jest adapter komputera 

zarz dzaj cy magistral  (ang. host adapter). Zalet  tego rozwi zania jest jego 

elastyczno  i du a wydajno . Protokół SCSI pozwala by adapter wysyłał zlecenia do 

urz dzenia podczas gdy urz dznie to lub inne przył czonego do tej samej magistrali 

wci  jeszcze wykonuje swoje poprzednie zlecenie. Wad  jest du y stopie  

komplikacji urz dze  a przez to wyskoa cena.  

Wydajno  dysku (ang. overall disk speed) charakteryzuj  parametry:  

• 

Pr dko  transferu danych z dysku do sterownika (ang. data transfer rate) - jest to 

pr dko , z jak  dysk jest w stanie przesyła  dane na magistral  ł cz c  go z 

adapterem. Traci na znaczeniu, gdy odwołania do dysku nast puj  w du ej ilo ci do 

przypadkowych miejsc.  

• 

redni czas dost pu do sektora (ang. average seek time) - jest to  redni czas potrzebny 

głowicy na znalezienie si  nad losowo wybranym sektorem.  

• 

Ilo  obrotów dysku na minut  (rpm - ang. reverses per minute) i zwi zany z tym 

redni czas oczekiwania głowicy na odczyt/zapis sektora na tej samej  cie ce (ang. 

average track seek time). Ten czynnik ma du e znaczenie gdy odwołania nast puj  w 

wiekszo ci do s siednich sektorów dysku, co dzieje si  przy wczytywaniu du ych 

niepofragmentowanych plików.  

• 

Ilo  pami ci podr cznej na danym dysku (ang. internal disk cache size). Wewn trzna 

pami  podr czna dysku pozwala przyspieszy  operacje na dysku:  

o

 

zmniejszeniu ulega ilo  fizycznych odczytów/zapisów dysku dzi ki 

przechowywaniu ostatnio odczytanych/zapisanych sektorów oraz  

o

 

mo na zaimplementowa  mechanizm czytania sektorów z wyprzedzeniem.  

Organizacja logiczna dysku 

Dysk jest charakteryzowany przez nast puj ce zale ne od siebie parametry, od których zale y 

pojemno  dysku:  

• 

geometri : ilo  zapisywalnych stron talerzy (ang. sides) = ilo  głowic (ang. heads), 

ilo  cylindrów, ilo  sektorów na  cie ce (ang. sectors per track), rozmiar sektora 

(ang. sector size);  

• 

ilo  wszystkich sektorów, rozmiar sektora;  

background image

 

25 

Sektory na dysku mo na posortowa  w/g numeru cylindra, numeru głowicy i numeru sektora 

na  cie ce a nast pnie w tej kolejno ci ponumerowa . Powstaje w ten sposób płaski numer 

sektora. Niektóre dyski dopuszczaj  by do ich sektorów odwoływa  si  poprzez podanie 

płaskiego numeru sektora, inne wymagaj  podania tzw. parametrów geometrycznych tj. 

numeru głowicy, numeru cylindra i numeru sektora na  cie ce.  

Utworzenie na dysku  cie ek i sektorów na  cie kach nazywamy formatowaniem 

niskopoziomowym. Formatowanie niskopoziomowe przeprowadzane jest najcz ciej u 

producenta lub jako pierwsza czynno  po zainstalowaniu dysku w systemie. W czasie 

formatowania niskopoziomowego dokonywane jest tak e sprawdzanie zdatno ci no nika 

magnetycznego. Przeprowadzenie formatowania niskopoziomowego wymazuje z dysku 

wszelkie informacje (ł cznie z tablic  partycji).  

Na dysku mo na wydziela  obszary zwne partycjami, przydzielane ró nym systemom plików, 

by  mo e nale cych do ró nych systemów operacyjnych. Wiele systemów plików wymaga 

aby ich partycje zawierały pełne cylindry. Opis podziału dysku na partycje znajduje si  w 

tzw. tablicy partycji umieszczonej na pocz tku dysku. Zmiana podziału na partycje niszczy 

zawarto  partycji, których rozmiar lub poło enie uległo zmianie. Do manipulacji tablic  

partycji słu y program fdisk.  

Na ka dym dysku obsługiwanym przez MSDOS, MS Windows 3.xx lub 95 mo e istnie  

jedna partycja podstawowa FAT16 lub FAT32 oraz jedna partycja rozszerzona z pewn  

ilo ci  podpartycji FAT16 lub FAT32.  

Po utworzeniu partycji nale y na ka dej z nich zapisa  dane niezb dne do poprawnego 

funkcjonowania systemu plików. Ten proces nazywamy formatowaniem 

wysokopoziomowym. Formatowanie wyskokpoziomowe mo e zniszczy  dane zapisane na 

danej partycji.  

Je eli system operacyjny startuje z dysku, jedna z partycji, tzw. partycja aktywna powinna 

zawiera  program ładuj cy j dro systemu operacyjnego oraz wszystkie inne pliki niezb dne 

do startu systemu. Program ładuj cy jadro bywa umieszczany w zerowym sektorze dysku, 

zwieraj cym te  tablic  partycji zwanym sektorem startowym (ang. bootsector).  

System operacyjny ł czy sektory dyskowe w wi ksze jednostki, które traktuje nierozdzielnie 

przy przydzielaniu ich plikom. Jednostki te nazywaj  si  w ró nych systemach: jednostkami 

alokacji (ang. allocation unit), blokami (ang. block) klasterami (ang.cluster). Przykładowe 

rozmiary jednostek alokacji to:  

• 

512 B = 1 sektor - SCO Unix, MSDOS FAT16 dla partycji nie wi kszych ni  32 MB  

• 

1kB = 2 sektory - Linux Ext2, MSDOS FAT16 dla partycji nie wi kszych ni  64 MB  

• 

4kB = 8 sektorów - Novell Netware, MSDOS FAT16 dla partycji nie wi kszych ni  

256MB, MS Windows NT NTFS, MS Windows 95 FAT32.  

Programowe sterowniki dysków wykorzystuj  pami  podr czn  przy dost pie do dysków. W 

pami ci podr cznej przechowywane s  jednostki alokacji, na których ostatnio dokonywano 

operacji (zapis na dysk nie nast puje natychmiast) oraz te, o których s dzi si ,  e w niedługim 

czasie b d  odczytywane. Przyspiesza to czas operacji na cz sto u ywanych plikach, lub gdy 

wczytuje si  dane z pliku w sposób sekwencyjny. W MSDOSie i MS Windows 3.11 rozmiar 

dyskowej pami ci podr cznej nale ało ustawi  r cznie. W nowszych systemach rozmiar ten 

ustalany jest automatycznie na podstawie ilo ci dost pnej pami ci i cz sto ci operacji na 

dysku.  

Systemy plików 

Pliki 

background image

 

26 

Systemy plików maj  zapewni  mo liwo  przechowywania zbiorów danych na urz dzeniach 

zewn trznych komputera w sposób pozwalaj cy na pó niejsze odwoływanie si  do danych, 

ich przetwarzanie oraz łatwe wyodr bnianie, kopiowanie, przenoszenie i usuwanie do i z 

systemu.  

Plikiem lub zbiorem danych (ang. file) nazywamy ci g bajtów okre lonej długo ci stanowi cy 

dla systemu plików atomiczn  cało , wyposa ony w nazw  i inne atrybuty zale ne od 

systemu plików takie jak daty utworzenia, ostatniej modyfikacji, dost pu, flag  archiwizacji, 

czy uprawnienia.  

Strumieniem (ang. stream) nazywamy obiekt z którego mo na czyta  lub do którego mo na 

zapisywa  dane w sposób sekwencyjny (bajt po bajcie). Strumienie stanowi  wa n  

abstrakcj  danych, wykorzystywan  m.in. przy dost pie do plików. Przykładami strumieni 

mog  by  poza zwykłymi plikami znakowe urz dzenia logiczne (w szczególno ci terminale).  

Wiekszo  systemów plików zapewnia do zwykłych plików zarówno dost p sekwencyjny 

(tak jak do strumienia) jak i swobodny (w dowolnym momencie mo na powoływa  si  na 

dowolny bajt, lub ci g bajtów pliku podaj c adres pierwszego bajtu i długo  ci gu).  

Katalogi 

Aby ułatwi  odszukiwanie plików, tworzy si  hierarchiczn  struktur  zwan  drzewem 

katalogów.  

Katalogiem (ang. directory) nazywamy plik interpretowany przez system plików jako list  

odwoła  do innych plików. Jako synonimy katalogu stosuje si  tak e nazwy folder i 

kartoteka.  

Wszystkie obecnie spotykane systemy plików dopuszczaj  aby katalogi zawierały inne 

katalogi (tzw. podkatalogi ang. subdirectory), przy czym wymaga si , aby graf katalogów był 

drzewem (ang. tree) skierowanym. Ka dy katalog ma co najwy ej jeden nadkataolg (ang. 

updir). Istnieje dokładnie jeden katalog b d cy korzeniem drzewa katalogów, który nie 

posiada swego nadkatalogu (lub sam jest sobie nadkatalogiem, ang. root directory). Niektóre 

systemy plików (np. uniksowe systemy plików) dopuszczaj  aby ten sam plik mógł si  

znajdowa  w wielu katalogach jednocze nie lub w tym samym katalogu pod ró nymi 

nazwami. W takich systemach plików katalogi i pliki tworz  graf acykliczny. W systemach 

plików FAT16 i FAT32 stosowanych w MSDOS i MS Windows 3.xx i 95 pliki i katalogi 

tworz  drzewo.  

Nazywanie plików 

Jak wcze niej stwierdzono, ka dy plik posiada nazw  (ang. file name). Nazwa pliku musi by  

unikalna w ramach katalogu.  

Ka dy plik w systemie plików posiada (przynajmniej jedn ) pełn  (bezwzgl dn ) nazw , 

unikaln  w ramach całego systemu plików, tworzon  przez poł czenie z nazw  pliku tzw. 

cie ki bezwzgl dnej, t.j. nazw wszystkich katalogów, jakie nale y przej  aby osi gn  dany 

plik poczynaj c od korzenia drzewa katalogów. Je li pliki i katalogi tworz  drzewo to ka dy 

plik posiada dokładnie jedn  pełn  nazw .  

Mi dzy innymi dla uproszczenia nazewnictwa plików wprowadza si  poj cie katalogu 

bie cego. Katalog bie cy mo e by  zwi zany z procesem (jak np. w Uniksie) lub by  

globalnym dla wszystkich procesów systemu (MSDOS). Nazwa utworzona z nazwy pliku i 

tzw.  cie ki wzgl dnej, t.j. nazw katalogów jakie nale y przej  aby osi gn  dany plik 

poczynaj c od katalogu bie cego nosi nazw  nazwy wzgl dnej. Przej cie do nadkatalogu 

sygnalizowane jest w  cie ce i nazwie wzgl dnej przez człon "..".  

Do ł czenia nazw katalogów i plików w  cie ki i nazwy wzgl dne i bezwzgl dne u ywa 

background image

 

27 

znaku charakterystycznego dla danego systemu operacyjnego zwanego dalej znakem 

katalogu:  

• 

"\" - w MSDOS, MS Windows XX,  

• 

"/" - w systemach zgodnych z uniksem,  

• 

"." - w VMSie  

W MSDOSie, MS Windows XX i systemach zgodnych z uniksem katalog główny nosi nazw  

tak  jak znak katalogu ("\" w MSDOS, "/" w uniksach), a nazwa bezwzgl dna ró ni si  tym 

od nazwy wzgl dnej,  e nazwa bezwzgl dna zaczyna si  znakiem katalogu, np. 

"\Windows\Command" -  cie ka bezwzgl dna, "Command" - nazwa wzgl dna, (wzgl dem 

katalogu "\Windows").  

System operacyjny z ró nych powodów narzuca pewne ograniczenia na nazwy plików, np. 

długo  - 8 znaków nazwy wła ciwej + 3 znaki rozszerzenia w MSDOS, 14 znaków w 

niektórych uniksach, 255 znaków w niektórych nowszych systemach operacyjnych. Innym 

ograniczeniem jest to jakie znaki mo na stosowa  w nazwach. Uniksy dopuszczaj  wszystkie 

znaki oprócz (co jest oczywiste) znaku katalogu "/" i znaku ko ca ła cucha (znak o kodzie 0). 

Systemy te rozró niaj  du e/małe litery. MSDOS dopuszczał jesynie litery, cyfry, i kilka 

znaków nieliterowych, m.in. "_", "$" i "!". MS Windows 95 dopuszczaj  m.in. odst p (czyli 

sacj  " "), "-" i wiele innych. Systemy te nie rozró niaj  du ych/małych liter przy 

odwołaniach do plików, cho  MS Windows 95 rozró nia je przy wy wietlaniu nazw plików.  

Kilku słów komentarza wymaga mechanizm pozwalaj cy korzysta  z tego samego systemu 

plików zarówno przez MS Windows 95 (długie nazwy) jak i starsze wersje systemów 

Microsoftu. Mechanizm ten zwany jest Virtual FAT (vfat). Ka dy plik posiada dwie nazwy, 

tzw. nazw  dług  tworzon  zgodnie z regułami MS Windows 95 i nazw  8+3 tworzon  

zgodnie z regułami MSDOSa na podstawie nazwy długiej. MSDOS widzi w danym katalogu 

tylko nazwy 8+3, natomiast MS Windows 95 widzi obie nazwy, a domy lnie wy wietla 

nazwy długie.  

Systemy plików a dyski logiczne 

Ka dej partycji odpowiada urz dzenie logiczne i zwi zana z nim nazwa dysku logicznego. 

Istniej  dwa podej cia do nazywania plików poło onych na ró nych partycjach:  

1.

  Globalny system plików. Takie nazewnictwo wyst puje w uniksach. Istnieje jeden 

katalog główny dla całego systemu operacyjnego. Katalog ten jest jednocze nie 

katalogiem głównym wyró nionej partycji, zwanej partycj  korzeniow  (ang. root). 

Katalogi główne pozostałych partycji s  montowane do li ci drzewa partycji 

korzeniowej lub wcze niej zamontowanych partycji, rozbudowuj c drzewo. 

Rozmieszczenie poszczególnych katalogów i plików na partycjach jest przezroczyste 

dla u ytkowników. Doło enie nowego dysku lub przemieszczenie całych katalogów 

pomi dzy partycjami nie musi powodowa  zmiany nazwy bezwzgl dnej  adnego 

pliku. Pomaga w tym mechanizm dowi za  symbolicznych (ang. symbolic link, czyli 

skrót, ang. shortcut, w terminologi MS Windows ).  

2.

  Jawne nazwy dysków. Takie nazewnictwo wykorzystuj  m.in. MS DOS i MS 

Windows XX. Nie istnieje globalny system plików. Tworz c pełn  nazw  pliku nale y 

powoła  si  na nazw  dysku logicznego. Dyski logiczne maj  nazwy składaj ce si  z 

pojedy czej du ej litery alfabetu łaci skiego i dwukropka (np. "A:", "C:", takich 

nazw  mo e by  najwy ej 26). U ytkownik musi pami ta  na którym dysku znajduj  

si  jego pliki. Dodanie nowego dysku lub przemieszczenie katalogów mi dzy dyskami 

background image

 

28 

powoduje zmian  bezwzgl dnych nazw plików.  

Dla ułatwienia tworzenia nazw wzgl dnych pojawia si  poj cie dysku bie cego. 

Je eli nazwa pliku nie zawiera nazwy dysku, to przyjmuje si   e odnosi si  do dysku 

bie cego.  

Ka dy dysk logiczny ma swój katalog bie cy. Je li w nazwie pliku podana b dzie 

nazwa dysku, a po niej nie nast pi znak "\", to plik jest poszukiwany id c po  cie ce 

poczynaj c od bie cego katlogu podanego dysku. 

Typy plików 

Systemy operacyjne wyró niaj  typy plików, które s  traktowane w sposób specyficzny. 

Jeden spo ród atrybutów pliku zwany typem pliku decyduje o sposobie traktowania pliku 

przez system operacyjny. Najcz ciej spotykane typy plików to:  

1.

  Katalogi. O katalogach była ju  mowa.  

2.

  Pliki specjalne urz dze  - wyst puj  w systemach uniksopodobnych, słu a do 

nazywania urz dze  logicznych.  

3.

  Kolejki FIFO, kolejki komunikatów, gniazda (ang. sockets), strumienie - pliki 

realizuj ce bardziej zło one sposoby dost pu. Wyst puj  w systemach 

uniksopodobnych i MS Windows NT.  

4.

  Dowi zania sybmoliczne (ang. symbolic link) inaczej skróty (ang. shortcut). Pliki 

które stanowi  odwołanie do innych plików lub katalogów. Wi kszo  operacji 

wykonywanych na tych plikach odnosi si  w rzeczywisto ci do plików przez nie 

wskazywanych.  

5.

  Pliki wykonywalne (ang. executables): programy, komendy, skrypty (ang. scripts), 

pliki wsadowe (ang. batch files) - pliki zawieraj ce kod programu do wykonania przez 

procesor lub komendy do wykonania przez powłok  (lub inny interpreter). 

Programy mog  by  wyró nione jak w systemach uniksopodobnych przez posiadanie 

specjalnego uprawnienia do wykonania lub przez nadanie odpowiedniego 

rozszerzenia, np. ".COM", ".EXE " i ".BAT" w MSDOSie.  

6.

  Zwykłe pliki z danymi. Te dziel  si  na podtypy, zale nie od posiadanego 

rozszerzenia, tj przyrostka nazwy pliku zaczyaj cego si  zazwyczja znakiem kropki 

lub od tzw. liczby magicznej tj. pierwszych 2 lub 4 bajtów zawarto ci pliku. 

Interpretacj  zawarto ci plików z danymi róznych typów zajmuj  si  specjalizowane 

aplikacje (takie jak MS Word, AutoCAD itp.). System operacyjny nie próbuje 

interpretowa  tych plików, co najwy ej powłoki u ytkownika dostarczaj  narz dzi do 

łatwego uruchamiania odpowiednich aplikacji, rejestrowania nowych typów plików z 

danymi i kojarzenia z nimi aplikacji.  

ASCII 

Na osobne omówienie zasługuje plik tekstowy ASCII. Otrzymuje on cz sto rozszerzenia 

".txt" lub ".asc". Bajty przechowywane w tym pliku interpretowane s  jako znaki 

alfanumeryczne kodowane w ASCII (Amercan Standard Code for Information Interchange). 

Kod ten koduje du e i małe litery, cyfry, znaki przestankowe oraz podstawowe symbole 

matematyczne.  

Aby nada  danym przechowywanym w plikach ASCII form  podobn  do dokumentów 

pisanych na dwuwymiarowych kartkach, pewne znaki o kodach mniejszych od 32 oraz znak o 

kodzie 127 otrzymuj  specjalne znaczenie steruj ce. Na znaczenia przypisane znakom 

steruj cym powa ny wpływ miały terminale teletekstowe (ang. teletype) stosowane w 

pocz tkowych fazach rozwoju informatyki. Wa niejsze znaki steruj ce to:  

background image

 

29 

• 

CR (dziesi tny kod znaku: 13) - Carriage Return - powrót karetki. Oznacza 

przesuni cie głowicy drukarki na pocz tek wiersza.  

• 

LF (dziesi tny kod znaku: 10) - Line Feed - przej cie do nowego wiersza. W 

systemach uniksopodobnych słu y do rozdzielnia wierszy pliku tekstowego. W 

systemach Microsoftu do tego celu słu y para nastepuj cych po sobie znaków CR LF.  

• 

FF (dziesi tny kod znaku: 12) - Form Feed - przej cie do nowej strony. Powoduje 

wysuni cie strony z drukarki i przej cie do drukowania na nowej.  

• 

HT (dziesi tny kod znaku: 9) - Horizontal Tab - tabulacja pozioma. Powoduje 

przej cie do nast pnej pozycji przy tworzeniu tabel, zazwyczaj przej cie do najbil szej 

kolumny znaków o numerze podzielnym przez 8.  

• 

BS (dziesi tny kod znaku: 8) - BackSpace - wymazywanie wsteczne. Nakazuje 

wymazanie poprzedniego znaku.  

• 

ESC (dziesi tny kod znaku: 27) - Escape - kod ucieczki. Oznacza,  e po nim nast pi 

zakodowana komenda dla urz dzenie wy wietlaj cego lub drukuj cego. W edytorach 

nazywany jest tak e metaznakiem (ang. meta, metacharacter) słu cym do 

konstruowania znaków niedost pnych bezpo rednio z klawiatury lub komend.  

• 

Znak ko ca pliku (kod dziesi tny ró ny w róznych systemach). Oznacza koniec pliku 

tekstowego lub transmisji tekstowej.  

Oryginalny kod ASCII jest siedmiobitowy. Ósmy bit bajtu u ywany był jako suma kontrolna. 

Obecnie wykorzystywane jest wszystkie osiem bitów. Tak uzyskane dodatkowe 128 znaków 

słu y do przedstawiania semigrafiki lub znaków narodowych. Poniewa  jest to zamało do 

przedstawienia znaków narodowych, cho by wszystkich alfabetów łaci skich, wprowadzono 

strony kodowe, t.j. sposoby kodowania znaków spoza podstawowego alfabetu łaci skiego. W 

Polsce obowi zuje norma przemysłowa zgodna z norm  mi dzynarodow  ISO 8895-2. 

Popularnie stosowane oprogramowanie Microsoftu z wyj tkiem MS Windows NT 

stosuj cych unikody (ang. unicode) nie jest zgodne z powy szymi normami i wprowadza 

dwie własne strony kodowe CP 852 (MSDOS) i CP 1250 (MS Windows XX).  

Pliki ASCII ze wgl du na prostot  kodowania informacji s  powszechnie wykorzystywane 

jako pliki konfiguracyjne, dzienniki odnotowuj ce błedy programów, pliki przenosz ce dane 

mi dzy ró nymi aplikacjami lub przechowuj ce dane w sposób ułatwiaj cy u ytkownikowi 

ingerencj  niezale nie od aplikacji.  

 

 

Rozdział 5: Zagadnienia bezpiecze stwa 

W j zyku angielskim wyró nia si  dwa terminy, którym odpowiada jedno polskie okre lenie - 

bezpiecze stwo:  

• 

safety - bezpiecze stwo u ytkownika (i jego danych) przed niezgodnym ze 

specyfikacj  (awaryjnym) działaniem systemu i  

• 

security - bezpiecze stwo systemu przez destrukcyjnymi działaniami u ytkownika.  

S  to dwie strony tego samego medalu. System nie b d cy bezpiecznym w jednym z 

powy szych znacze , przestaje by  bezpieczny w drugim.  

Autentykacja na przykładzie haseł wielokrotnych 

background image

 

30 

Autentykacja jest to proces, w którym komunikuj cy si  partnerzy potwierdzaj  swoj  

to samo . Najcz ciej autentykacja ogranicza si  jedynie do potwierdzenia to samo ci 

u ytkownika. Zakłada si  tutaj,  e u ytkownik pracuje w otoczeniu zaufanych komputerów. 

Jednak zdarzaj  si  przypadki podszywania si  "wrogich" komputerów pod "przyjazne" 

serwery, aby np. przechwyci  hasła nie wiadomych u ytkowników. Wskazanie sposobów 

rozwi zania tego problemu znajduje si  w punkcie po wi conym kryptografii. Tutaj 

omówiony b dzie najprostszy przypadek, gdy komputery sieci lokalnej s  dostatecznie dobrze 

chronione przed podszywaniem by ka dy u ytkownik mógł ufa ,  e ka dy komputer jest tym 

za którego si  podaje.  

U ytkownik przyst puj c do pracy (lub ł cz c si  z kolejnym komputerem), proszony jest to 

podanie identyfikatora (konta lub profilu).  

Identyfikator jest jawny. Pozwala on innym u ytkownikom i oprogramowaniu powoływa  si  

na danego u ytkownika. Identyfikator ten jest ci giem znaków, najcz ciej małych liter. 

Zaleca si , aby miał jaki  zwi zek z imieniem, nazwiskiem lub wydziałem, w którym pracuje 

u ytkownik.  

Teraz u ytkownik musi potwierdzi  swoje prawo do posługiwania si  identyfikatorem. 

Najcz ciej proszony jest o podanie znanego tylko jemu hasła. Hasło nie pojawia si  na 

ekranie.  

Oczywi cie, istniej  inne bardziej wyrafinowane sposoby potwierdzania to samo ci 

u ytkownika oparte o biometri , karty magnetyczne lub procesorowe, czy hasła jednorazowe, 

ale ich omówienie wykracza poza ramy tego wykładu.  

Zalet  haseł wielokrotnych jest "prostota obsługi" i brak konieczno ci instalowania 

specjalizowanego sprz tu. Wady s  rozliczne:  

• 

U ytkownicy wybieraj  hasła, które łatwo jest odgadn .  

• 

Bywa,  e hasło jest zapisane w dost pnym dla postronnych miejscu, lub jest gubione.  

• 

Hasła s  przechowywane w niektórych komputerach, lub przesyłane sieci  w postaci 

jawnej (niezaszyfrowanej), co pozwala na ich przechwytywanie.  

• 

U ytkownicy posługuj  si  tymi samymi hasłami w odniesieniu do kont na ró nych 

komputerach. Nieuczciwy administrator, lub włamywacz, przegl daj c pliki z hasłami 

na jednym komputerze wchodzi w posiadanie haseł na innych komputerach.  

Wad tych nie mo na w cało ci wyeliminowa , ale mo na zrobi  wiele aby je zmniejszy :  

• 

Aby utrudni  odgadni cie hasła:  

o

 

W  adnym wypadku nie nale y ustawia  sobie jako hasła, słowa, które łatwo 

jest skojarzy  z własn  osob , tj: nazwy konta, imienia, nazwiska (własnego, 

członka rodziny, znajomego lub zwierz cia domowego), numeru telefonu, 

rejestracji samochodu, adresu, daty urodzin itp.  

o

 

Hasło powinno mie  przynajmniej 6 znaków, czym dłu sze tym lepsze.  

o

 

Niektórzy włamywacze próbuj  ró nych haseł pochodz cych ze specjalnie 

sporz dzonych słowników zawieraj cych popularne słowa z danego j zyka, 

nazwy geograficzne, słownictwo fachowe, imiona bohaterów powie ci, filmów 

itp. Je li zatem stosuje si  hasło, które jest popularnym słowem, nale y wple  

w nie cyfr  lub znak nieliterowy, lub je li pozwala na to oprogramowanie, 

cz

 znaków wpisa  du ymi, a cz

 małymi literami.  

o

 

Dobre hasła uzyskuje si  bior c pierwsze litery z wybranego zdania.  

• 

Przez pewien czas zalecano by haseł nie zapisywa , lecz pami ta  je. Obecnie zaleca 

si  zapisywanie haseł, ale przechowywa  nale y je w miejscach dla innych 

background image

 

31 

niedost pnych, np. w portfelu. Dobrze jest te  zamaskowa  hasło wplataj c je w inne 

napisy.  

• 

Nale y unika  ł czenia si  przez niepewne sieci z usługami wymagaj cymi haseł. Np. 

z domu przez publiczny modem telekomunikacji i dalej przez Internet do pracy 

(nale y dzwoni  bezpo rednio na firmowy modem, je li takowy jest). Je li tylko 

mo na, nale y skorzysta  z oprogramowania kryptograficznego.  

• 

Dobrze jest posiada  inne hasło do ka dego z kont. Czasem jest to uci liwe, dlatego 

mo na ograniczy  si  do posiadania jednego hasła do komputerów w pracy i drugiego 

do usług w Internecie. W  adnym razie nie nale y zakłada  sobie takiego samego 

hasła w jakiejkolwiek usłudze internetowej, jakie ma si  w pracy.  

Autoryzaja czyli o uprawnieniach 

Autoryzacja, oznacza udzielanie dost pu danemu u ytkownikowi (reprezentowanemu przez 

zautentykowany identyfikator) do tych zasobów, które s  dla niego przeznaczone. W tym celu 

system operacyjny danego komputera utrzymuje baz  danych zawieraj c  informacje o tym 

które zasoby (pliki, katalogi, urz dzenia itp.) mog  by  udost pniane poszczególnym 

u ytkownikom i na jakich prawach.  

Baza ta zawiera nast puj ce informacje:  

1.

  Obiekty podlegaj ce ochronie. Najcz ciej s  to pliki i katalogi, w ogólno ci s  to 

zasoby danego komputera.  

2.

  Podmioty uzyskuj ce prawa dost pu. Podmiotami tymi s  u ytkownicy. Aby ułatwi  

zarz dzanie prawami du ych zbiorowo ci u ytkownków wprowadza si  grupy 

u ytkowników, które s  równie  podmiotami uzyskuj cymi uprawnienia. 

U ytkownicy s  przypisywani do grup. Dany u ytkownik mo e nale e  do wielu grup. 

Przez fakt przynale no ci do danej grupy u ytkownik zyskuje lub traci takie 

uprawnienia jakie zostały przypisane grupie.  

3.

  Uprawnienia. We wszystkich systemach operacyjnych powtarzaj  si  prawa do zapisu 

i odczytu plików. Wiele systemów rozszerzaja te podstawowe uprawnienia o prawo do 

uruchamiania programów, prawo do kasowania lub tworzenia plików w katalogu, 

prawo do powoływania si  na katalogi itp.  

Na poziomie systemu operacyjnego wyró ni  mo na kilka klas systemów autoryzacji, 

dokładn  klasyfikacj  daje "Pomara czowa ksi ga" Ministerstwa Obrony USA, na potrzeby 

tego opracowania ogranicz  si  do krótkiej listy:  

1.

  Brak autoryzacji. Takie systemy nadaj  si  dla pojedy czego u ytkownika, lub tam 

gdzie autoryzacja nie jest wymagana. Np. MS DOS.  

2.

  Profile u ytkownika. Komputer rozpoznaje u ytkowników, ka demu daje 

spersonalizowane  rodowisko pracy, jednak nie zabezpiecza danych jednego 

u ytkownika przed innym u ytkownikiem. W praktyce takie systemy s  wi c 

równowa ne poprzedniej klasie. Nadaj  si  dla niewielkiej grupy zaufanych 

u ytkowników. Np. MS Windows 9x.  

3.

  Wspólne hasła. System nie wyró nia u ytkowników, wyró nia natomiast zasoby 

maj ce przypisane hasła. Ka dy u ytkownik, który poda hasło do zasobu, otrzymuje 

do niego dost p. Utrzymanie bezpiecze stwa takich systemów jest mo liwe tylko w 

niewielkich grupach zaufanych u ytkowników. Np. Microsoft Networks w wersji 

peer-to-peer tj. bez serwerów Netware i NT.  

background image

 

32 

4.

  Klasyczne systemy wielou ytkownikowe. Wyró niaj  u ytkowników i grupy. 

Autentykacja u ytkownika nast puje w momencie rozpoczynania sesji pracy z 

systemem. Z ka dym obiektem zwi zana jest ograniczona liczba podmiotów jakie 

uzyskuj  do niego uprawnienia. Np. w standardowym uniksie ka dy plik ma dokładnie 

jednego wła ciciela-u ytkownika, któremu przypisane s  pewne uprawnienia, 

dokładnie jednego wła ciciela-grup  maj c  uprawnienia, oraz uprawnienia stosowane 

do pozostałych. Podobnie jest w VMSie. Wiele takich systemów jest zgodnych z klas  

bezpiecze stwa C2 w sensie "Pomara czowej ksi gi". W oparciu o takie systemy 

uprawnie  działa spora cz

 serwerów w internecie. Pewn  wad  tego systemu jest 

to,  e jedynie administrator ma swobod  nadawania uprawnie . Zwykły u ytkownik 

ma ograniczone mo liwo ci okre lania uprawnie  dla innych podmiotów do swoich 

zasobów.  

5.

  Systemy z ACL (Access Control List - lista kontroli dost pu). Systemy te ró ni  si  

tym od klasycznych,  e z ka dym obiektem mo na zwi za  dowolnie lub 

wystarczaj co dług  (np 32 elementow  w Netware) list  podmiotów maj cych 

uprawnienia do danego zasobu. U ytkownik mo e bez pomocy administratora 

nadawa  uprawnienia innym podmiotom do swoich zasobów (z oczywistym 

ograniczeniem,  e nie mo e nada  wi kszych ni  sam ma). Do tej klasy nale  takie 

systemy jak Novel Netware, Windows NT i niektóre uniksy np. Solaris. S  one 

wystarczaj ce do wi kszo ci zastosowa  cywilnych.  

6.

  Systemy z okre leniem klas poufno ci. Oprócz istnienia grup i ACL u ytkownicy i 

zasoby komputera s  przydzieleni do klas poufno ci.  aden u ytkownik nie mo e 

udzieli  uprawnie  do zasobów danej klasy poufno ci innemu u ytkownkowi 

nale cemu do klasy gorszej. Utrudnia to przypadkowe przecieki informacji tajnych i 

z tego powodu jest stosowane w instytucjach o podobnym do wojskowego sposobie 

zarz dzania dost pem do informacji poufnych.  

Wiele aplikacji, w szczególno ci bazy danych ma własne mechanizmy autentykacji i 

autoryzacji, gdzie wyró nia si  przywileje przypisywane u ytkownikom do wykonywania 

pewnych charakterystycznych dla tych aplikacji operacji (np. nie ka dy mo e dokona  

sprzeda y).  

Wiele serwerów sieciowych rozszerza podstawowe systemy uprawnie  dostarczane przez 

system operacyjny, aby ograniczy  dost p z zen trz do charakterystycznych dla tych 

serwerów usług, np. serwer WWW Apache okre la w których katalogach mo na umieszcza  

skrypty CGI, programy umieszczone poza tymi katalogami nie b d  uruchamiane przez 

serwer.  

Oprócz uprawnie  do pojedy czych zasobów mog  istnie  w systemie tzw, kwoty (ang. 

quota) tj. ograniczenia ilo ci jednocze nie wykorzystywanych zasobów danej klasy. Kwoty 

zabezpieczaj  system przed wyczerpaniem zasobów przez zachłannych u ytkowników. Np. 

kwota dyskowa okre la jak du y obszar dysku mo e by  jednocze nie zaj ty przez pliki 

danego u ytkownika. Kwoty mog  te  dotyczy  procentu czasu pracy procesora na rzecz 

danego u ytkownika w jednostce czasu, ilo ci uruchomionych procesów itp.  

W wielu systemach istniej  mechanizmy do ograniczania u ytkownikowi dost pu do 

wydzielonych stanowisk lub okre lonych godzin pracy.  

W ród u ytkowników wyró nia si  administratorów i operatorów, czyli takich, do których 

zada  nale y troska o poprawne działanie systemu. Maj  w zwi zku z tym znacznie szersze 

prawa. W rozbudowanych systemach mo na wyró ni  kilka klas administratorów:  

• 

główny administrator (w uniksie zwany tradycyjnie root, w innych systemach admin, 

sysadmin itp.), ma maksymalne prawa do systemu operacyjnego, mo e w 

background image

 

33 

szczególno ci nadawa  prawa innym, w zwi zku z czym jego hasło nie powinno by  

jego prywatn  tajemnic , lecz tajmnic  firmy,  

• 

operatorzy poszczególnych usług i aplikacji, przykładowo:  

o

 

operatorzy backupu - maj  prawo nadzorowa  wykonanie kopii 

bezpiecze stwa systemu,  

o

 

administratorzy baz danych - odpowiadaj  za integralno  bazy danych i 

poprawne działanie jej oprogramowania,  

o

 

webmasterzy odpowiedzialni za poprawn  prac  serwisu WWW,  

o

 

operatorzy drukarek - odpowidaj  za poprawn  prac  drukarek, mog  m.in. 

wstrymywa  i usuwa  z kolejek wyduku zadania innych u ytkowników.  

Osobnym zagadnieniem s  prawa głównego administratora. Mo na tu wyró ni  dwa 

podej cia:  

• 

Administrator jest osob , która doskonale zna system, która go zainstalowała na 

komputerze oraz ma pełne prawa zapisu i odczytu dysków i pami ci operacyjnej, wi c 

nie ma sensu broni  u ytkowników przed nieuczciwym administratorem, poniewa  

mo e on wszystkie mechanizmy obej  lub wył czy . Takie podej cie prezentuje 

wi kszo  uniksów. Włamywacz, który przejmie prawa administratora mo e nie 

zostawi   ladów swej działalno ci.  

• 

Twórcy systemu operacyjnego utajniaj  pewne informacje (m. in. projekt i kod 

ródłowy) dotycz ce systemu operacyjnego, a w szczególno ci systemu plików, dzi ki 

czemu administrator nie mo e wykona  z systemem wszystkiego w szczególno ci 

usun   ladów swoich działa . Takie podej cie zastosowano w Windows NT. (Np. 

je li administrator przejmie uprawnienia do jakiego  pliku, to nie mo e si  potem tego 

wyprze . Niestety tajemnice bywaj  wykradane jak to si  stało z kodem  ródłowym 

tego systemu i kwesti  czasu jest pojawienie si  oprogramowania usuwaj cego  lady 

działania administratora w wystarczaj co popularnym systemie.)  

Audyt 

Audyt oznacza  ledzenie działania systemu i poczyna  u ytkowników. Pozwala ustali  

przyczyny awarii oraz momenty i sprawców narusze  bezpiecze stwa. U ytkownicy 

komputerów powinni sobie zdawa  spraw ,  e ich prywatno  jest w ka dej chwili naruszana 

przez audyt. Jest to zło konieczne, z którego administratorzy nie zgodz  si  zrezygnowa . 

Dost p do dzienników systemowych powinien by   ci le limitowany.  

Kopie bezpiecze stwa 

Awarii systemu ko cz cych si  utrat  danych nigdy nie da si  wykluczy . Posiadanie starych 

wersji dokumentów, które przestały by  u yteczne i zostały normaln  drog  usuni te z 

systemu te  mo e by  niekiedy cenne. Niekiedy archiwizacja wymuszana jest osobnymi 

przepisami, np. bazy danych ksi gowo ci. St d jednym z zada  administratora jest rutynowe 

wykonywanie kopii bezpiecze stwa plików. Systemy operacyjne i oprogramowanie 

narz dziowe niezale nych producentów dostarcza mu niezb dnego wsparcia. Istniej  

wyspecjalizowane firmy zajmuj ce si  kompleksowo archiwizacj  danych komputerowych i 

tworzeniem elektronicznych baz dokumentów papierowych.  

Narz dzia 

background image

 

34 

Do tworzenia kopii bezpiecze stwa słu y specjalizowany sprz t i oprogramowanie.  

Ze sprz tu nale y wymieni  przede wszystkim nap dy i no niki o du ej pojemno ci (rozmiary 

no ników podane s  orintacyjnie):  

• 

Do przeszło ci odchodz  dyskietki, stosowane do archiwizacji drobnych plików. 

Przeci tne pojemno ci s  rz du 1MB.  

• 

Obecnie popularno  zdobywaj  no niki magnetooptyczne. Dost pne technologie 

pozwalaj  zmie ci  powy ej 100MB na jednym no niku. W niedługiej przyszło ci 

pojemno ci tych no ników maj  wzrosn  do rz du 10GB i wi cej. No niki te 

charakteryzuj  si  dost pem swobodnym i mo liwo ci  wielokrotnego zapisu.  

• 

Najpopularniejszymi no nikami kopii zapasowych s  streamery, b d ce kasetami z 

t m  magnetyczn . Pojemno ci streamerów wahaj  si  od 100MB do 30GB, zapewne 

b d  jeszcze rosły. Kasety s  wielokrotnie zapisywalne. Dost p do nich jest 

sekwencyjny, co przy robieniu cało ciowych zrzutów nie ma znaczenia. No niki te s  

najmniej wra liwe na awarie nap du w trakcie odczytu/zapisu.  

• 

Dyski optyczne jednokrotnego zapisu. Niemo no  wymazania raz zapisanych danych 

w tym zastosowaniu mo e by  ich zalet . Najbardziej rozpowszechnione s  dyski CD-

ROM o pojemno ci 650MB, powoli standaryzuje si  technologia DVD o pojemno ci 

rz du 10GB. Wad  tych no ników jest to,  e w czasie procesu zapisu komputer musi 

dostarcza  w odpowiednim tempie strumie  danych, co powoduje,  e w czasie zapisu 

komputer nie mo e wykonywa  innych czynno ci.  

Niektórzy zalecaj  wybiera  takie no niki, by zmie cił si  na nich w cało ci zrzut dysku bez 

robienia kompresji.  

Nap dy backupuj ce mo na:  

• 

wmontowa  na stałe po jednym do ka dego komputera,  

• 

przył cza  na czas robienia zrzutu przez magistral  SCSI lub w inny sposób, lub  

• 

umie ci  na wydzielonym komputerze, który b dzie  ci gał zrzuty z innych 

komputerów sieci .  

W ród oprogramowania nale y wyró ni :  

• 

programy dokonuj ce zrzutów i odtworze  cało ci dysku bez kompresji: tar, cpio, 

dump/restore, backup/restore,  

• 

programy kompresuj ce/dekompresuj ce: zip, gzip, pkzip, arj, lharc i in.,  

• 

narz dzia kryptograficzne,  

• 

narz dzia do weryfikacji kopii bezpiecze stwa,  

• 

zło one programy rozwi zuj ce problem kompleksowo, w tym pozwalaj ce planowa  

zakres zrzutów oraz ich automatyczne wykonanie np. sysadmsh w SCO Uniksie, 

Microsoft Backup i in.  

Do robienia kopii zapasowych nale y wybiera  narz dzia, które b d  dost pne wiele lat po 

zrobieniu kopii.  

Torzenie kopii bezpiecze stwa 

Istniej  ró ne poziomy kopii bezpiecze stwa:  

• 

zerowy - pełna kopia - obejmuje cały dysk lub drzewo katalogów,  

background image

 

35 

• 

kopie ró nicowe lub przyrostowe - obejmuj  tyko pliki, które zmieniły si  od ostatniej 

kopii, mo e tu istnie  wiele poziomów (pierwszy, drugi, ...), dany poziom obejmuje te 

pliki, które zmieniły si  od czasu ostatniej kopii poziomu ni szego.  

System operacyjny wspiera tworzenie przyrostowych kopii bezpiecze stwa utrzymuj c 

informacje o datach modyfikacji plików lub flagi niezb dno ci archiwizacji.  

Przyjmuje si ,  e kopie poziomu zerowego powinno si  robi  nie rzadziej ni  raz na kwartał a 

zaleca si  raz na miesi c. Kopie takie powinno si  przechowywa  przez czas nieokre lony, 

dobrze sprawdzaj  si  tutaj streamery i CD-ROMy.  

Kopie wy szych poziomów powinno sporz dza  si  w połowie okresów wykonywania kopii 

poziomów ni szych, nale y je przechowywa  przynajmniej przez dwukrotno  okresu jej 

sporz dzania. Po upływie czasu przechowywania kopii, no nik mo na wykorzysta  

powtórnie. Dobrze sprawdzaj  si  tutaj takie no niki jak streamery i dyski magnetooptyczne.  

Nie wszystkie dane w komputerze s  równie nara one na mo liwo c utraty, mo na je 

podzieli  pod tym wgl dem na kilka grup:  

• 

Pliki tymczasowe. W zasadzie nie wymagaj  archiwizacji.  

• 

Oprogramowanie systemowe i inne oprogramowanie niededykowane. W razie utraty 

mo na je powtórnie zainstalowa  z no ników instalacyjnych. Pod warunkiem 

zapewnienia ochrony no nikom instalacyjnym nie wymagaj  archiwizacji.  

• 

Dzienniki systemu (logi). Zawieraj  cenne informacje dla administratora, jednak ich 

utrata zazwyczaj nie uniemo liwia bie cego działania systemu. Warto archiwizowa .  

• 

Konfiguracja oprogramowania. Cz sto łatwa do odtworzenia, zwłaszcza, gdy została 

udokumentowana na papierze, jednak w zło onych programach odtworzenie mo e 

wymaga  wielu godzin  mudnej pracy. Zaleca si  archiwizowa .  

• 

Oprogramowanie dedykowane i jego konfiguracja. Powtórna instalacja 

oprogramowania dedykowanego, takiego jak programy bankowe, oprogramowanie 

linii technologicznej itp. mo e wymaga  obecno ci przedstawicieli producenta a sam 

proces zazwyczaj jest długotrwały. Nale y liczy  si  z tym,  e producent mo e nie 

dysponowa  plikami instalacyjnymi pewnych modułów oprogramowania, je li były 

robione dla potrzeb specyficznego klienta. Nale y archiwizowa .  

• 

Dane przedsi biorstwa, własna twórczo  u ytkownika itp. S  bezcenne. 

Bezwzgl dnie archiwizowa .  

Do ró nego stopnia wra liwo ci i zmienno ci danych mo na dostosowa  cz sto  robienia 

kopii zapasowych. I tak, przyrostowe kopie firmowych danych mo na robi  codziennie, a 

kopie oprogramowania raz na kwartał oraz po wi kszych instalacjach lub uaktualnieniach.  

Proste narz dzia wymagaj  uwagi operatora przy tworzeniu kopii, zło one (np. sysadmsh dla 

SCO Uniksa) potrafi  wł cza  kopiowanie automatycznie w  rodku nocy w/g 

przygotowanego wcze niej przez administratora planu.  

Po wykonaniu kopii bezpiecze stwa nale y j  zweryfikowa . Nale y sprawdza  tak e kopie 

przechowywanez dłu szy czas w archiwum przez losowe odtwarzanie zawartych w nich 

plików.  

Kopie bezpiecze stwa, przynajmniej te poziomu zerowego nale y robi  w kilku 

egzempla ach, z których jeden powinien by  przechowywany w miejscu mo liwie odległym 

od tego, w którym pracuj  obj te kopi  komputery.  

Kryptografia 

background image

 

36 

Techniki kryptograficzne pozwalaj  chroni  poufno  i autentyczno  informacji. Poufno  

oznacza,  e informacja mo e by  poprawnie odczytana jedynie przez upowa nione osoby (lub 

programy). Autentyczno  oznacza,  e informacja mo e (mogła) by  wygenerowana jedynie 

przez upowa nione osoby w sposób daj cy si  pó niej poprawnie odczyta . Nieco słabsz  

cech  jest integralno  oznaczaj ca  e informacja nie uległ  zmianie w czasie przekazu, nie 

gwarantuje si  natomiast autentyczno ci jej nadawcy.  

Kryptografia nie chroni przed nieupowa nion  modyfikacj  danych (jest to zadanie 

autoryzacji) a jedynie pozwala odbiorcy wykry  i odrzuci  nieautentyczne wiadomo ci (przez 

co mo e by  wykorzystywana jako jeden z elementów algorytmów autoryzacji).  

Aby móc chroni  informacj  wykonuje si  na niej przekształcenie zwane szyfrowaniem. 

Operacja odwrotna zwana jest deszyfrowaniem. Wiadomo  pocz tkow  nazywamy tekstem 

jawnym lub otwartym, po zaszyfrowaniu - tekstem zaszyfrowanym lub kryptogramem.  

Przekształcenie szyfruj ce i deszyfruj ce zale  od tzw. kluczy kryptograficznych. Podaj c 

niewła ciwy klucz przy deszyfrowaniu nie mo emy poprawnie odszyfrowa  wiadomo ci. Nie 

znaj c klucza szyfrowania nie mo emy zaszyfrowa  tekstu tworz c daj cy si  potem 

poprawnie odszyfrowa  wła ciwym kluczem kryptogram.  

W zastosowaniach cywilnych nale y stosowa  jedynie te przekształcenia szyfruj ce, które nie 

pozwalaj  na systematyczne odgadywanie tekstu jawnego i klucza kryptograficznego 

osobom, które znaj  algorytm przekształcenia i dowoln  ilo  tekstu zaszyfrowanego. Zaleca 

si  stosowanie szyfrów spełniaj cych silniejszy warnek: nie powinno by  mo liwe 

systematyczne odgadywanie klucza przez osoby, które mog  wygenerowa  z dowolnego 

tekstu jawnego kryptogramy i znaj  algorytm przekształcenia. W  adnym razie 

bezpiecze stwo szyfru nie powinno si  opiera  na utajnieniu algorytmu.  

Wszystkie szyfry z wyj tkiem niemo liwego do zastosowania w praktyce szyfru z 

jednorazowym kluczem s  teoretycznie przełamywalne, to znaczy,  e w sko czonym czasie 

mo na odgadn  klucz (i w konsekwencji tekst jawny). W praktyce stosuje si  zazwyczaj 

szyfry dla których czas potrzebny na przełamanie zale y w sposób wykładniczy od długo ci 

klucza. W przypadku wzrostu mocy obliczeniowych komputerów b d cych w ekonomicznym 

zasi gu potencjalnego przeciwnika nale y wymieni  klucze na dłu sze.  

Ameryka skie regulacje dotycz ce eksportu broni zabraniaj  wywozu oprogramowania 

kryptograficznego posługuj cego si  kluczami dłu szymi ni  40 bitowe. Beneficjentem tego 

ograniczenia miał by  wywiad USA dysponuj cy superkomputerami, jednak obecnie szyfry 

takie mo na łama  na PCtach. Powszechnie uwa a si ,  e ograniczenie to powa nie utrudnia 

powstawanie oprogramowania kryptograficznego dla potrzeb cywilnych i nara a na straty 

równie  gospodark  USA.  

Wyró nia si  dwa systemy szyfrowania:  

• 

Szyfrowanie z kluczem prywatnym (symetryczne, klasyczne).  

• 

Szyfrowanie z kluczem publicznym (asymetryczne).  

Szyfrowanie symetryczne 

Zarówno do szyfrowania, jak i deszyfrowania wiadomo ci stosuje si  ten sam klucz, lub te  

klucze mo na łatwo przekształci  jeden w drugi. W tym systemie nie da si  rozdzieli  

ochrony poufno ci i autentyczno ci. Dla prowadzenia korespondencji mi dzy n podmiotami 

potrzeba razem n*(n-1)/2 kluczy (ka dy podmiot potrzebuje innego klucza dla ka dego ze 

swych n-1 partnerów - innymi słowy ka da para potrzebuje osobnego klucza).  

Przykłady historyczne: szyfr Cezara, Tablica Vigenere'a i Enigma oraz obecnie powszechnie 

background image

 

37 

stosowane: DES i IDEA.  

Szyfrowanie asymetryczne 

Podstawy teoretyczne opracowano dopiero w latach '70 tego stulecia.  

Metody te opieraj  si  na parze kluczy. Jeden z nich zwany jest kluczem publicznym, drugi - 

prywatnym. Wyznaczenie klucza publicznego na podstawie klucza prywatnego jest na ogół 

obliczeniowo łatwe. Wykonanie operacji w drug  stron  (wyznaczenie klucza prywatnego na 

podstawie publicznego) w rozs dnym czasie, przy odpowiedniej długo ci klucza mo e by  

poza zasi giem technicznym.  

Je li jednego z kluczy u yto do szyfrowania to kryptogram daje si  odszyfrowa  tylko 

drugim. I na odwrót, je li kryptogram daje si  odszyfrowa  pierwszym, to do szyfrowania 

mógł by  u yty tylko drugi.  

W tym systemie mo na chroni  osobno poufno , osobno autentyczno  lub obie te cechy na 

raz.  

 

Tekst zaszyfrowany kluczem publicznym mo e by  poprawnie odszyfrowany tylko kluczem 

prywatnym znanym jednej konkretnej osobie. Tak chroni si  poufno .  

background image

 

38 

 

Kryptogram daj cy si  poprawnie odszyfrowa  kluczem publicznym mógł by  sporz dzony 

tylko przy u yciu klucza prywatnego b d cego w dyspozycji tylko jednej konkretnej osoby. 

Tak zapewnia si  autentyczno .  

 

Klucze publiczne mo na swobodnie rozpowszechnia  bez obawy ujawnienia kluczy 

prywatnych. Do prowadzenia komunikacji mi dzy n podmiotami potrzeba razem n par kluczy 

(po parze kluczy prywatny/publiczny na podmiot). Ka dy podmiot pami ta swój klucz 

prywatny i klucze publiczne swoich partnerów.  

Dzi ki szyfrowaniu asymetrycznemu mo liwe stało si  sporz dzanie podpisów (sygnatur) 

cyfrowych. Autor wiadomo ci sporz dza jej skrót znanym algorytmem haszuj cym i szyfruje 

ten skrót swoim kluczem prywatnym. Ka dy (kto zna klucz publiczny) mo e sporz dzi  skrót 

wiadomo ci oraz odszyfrowa  podpis i sprawdzi  czy wynikowe ci gi znaków s  identyczne. 

Jednocze nie, je li kto  zmodyfikuje wiadomo , to nie b dzie mógł doprowadzi  do sytuacji, 

e b dzie ona zgodna z dotychczasow  sygnatur , ani sporz dzi  sygnatury, która po 

odszyfrowaniu kluczem publicznym oryginalnego autora byłaby zgodna ze zmodyfikowan  

wiadomo ci . Dokument opatrzony podpisem cyfrowym nazywamy certyfikatem cyfrowym.  

Opracowano pewnym mechanizmy pozwalaj ce rozpowszechnia  klucze publiczne przez 

podatne na atak media przy zapewnieniu autentyczno ci samych kluczy. Oznacza to, ka dy 

podmiot ma mo liwo  sprawdzenia, czy klucze publiczne które posiada odpowiadaj  

kluczom prywatnym jego partnerów i nie zostały mu podstawione przez przeciwnika.  

background image

 

39 

• 

Odciski palaca kluczy (fingerprints). S  to krótkie ci gi znaków, b d ce skrótem 

całego (długiego) klucza, które mo na np. przedyktowa  przez telefon i w ten sposób 

potwierdzi  autentyczno  klucza przekazanego inn  drog .  

• 

Certyfikaty kluczy. Je eli jeden z u ytkowników, nazwijmy j  Al , chce przekaza  

innemu u ytkownikowi, nazwijmy go Bolkiem, swój klucz publiczny przez kanał, 

który nie gwarantuje autentyczno ci przekazu, mo e poprosi  wspólnego znajomego, 

nazwijmy go Cze kiem o udzielenie certyfikatu jej kluczowi publicznemu.  

Sytuacja jest taka: Czesiek zna klucz publiczny Ali, Bolek zna klucz publiczny Cze ka 

ale nie zna klucza Ali i chciałby go otrzyma  w sposób nie budz cy w tpliwo ci co do 

autentyczno ci tego klucza. Czesiek podpisuje klucz publiczny Ali swoim kluczem 

prywatnym i taki certyfikat wysyła do Ali. Ala mo e teraz wysła  go do Bolka. Bolek 

maj c klucz publiczny Cze ka, sprawdzi,  e certyfikat został podpisany jego kluczem 

prywatnym. Z certyfikatu odczyta klucz publiczny i informacj ,  e jest to klucz Ali.  

Nieprzyjazny im wszystkim Darek mo e na pewnym etapie przechwyci  certyfikat i 

zmodyfikowa  go, jednak e Bolek odrzuci taki zmodyfikowany certyfikat, gdy  

Darek nie b dzie mógł sporz dzi  podpisu Cze ka.  

Gdy Ala b dzie chciała przekaza  swój klucz publiczny Ewie nie b dzie musiała po 

raz drugi prosi  o pomoc Cze ka, gdy  ju  ma jego certyfikat na swój klucz.  

Najsłabszym ogniwem jest tu wymiana kluczy publicznych z Cze kiem. Czesiek musi 

by  zatem wystarczaj co szeroko znanym i pot nym indywiduum by podszycie si  

pod niego było niemo liwe.  

Mo na sobie wyobrazi ,  e w roli Ali wyst puje bank emitent kart kredytowych, w 

roli Bolka i Ewy - sprzedawcy przyjmuj cy plastikowe pieni dze, a w roli Cze ka - 

ogólnokrajowa instytucja certyfikacyjna, jak  mo e by  konsorcjum du ych instytucji 

finansowych lub bank narodowy. W chwili pisania niniejszego opracowania, taki 

system w odniesieniu do powszechnego obrotu finansowego pozostawał w sferze 

wyobra ni. 

Przykłady: RSA (oparte na trudno ci rozkładu du ych liczb na czynniki pierwsze), szyfry 

oparte na problemie plecakowym, El-Gamal.  

Szyfry asymetryczne s  najcz ciej powolne, dlatego stosuje si  techniki hybrydowe - przy 

pomocy szyfru asymetrycznego partnerzy uzgadniaj  klucz sesji słu acy nast pnie do 

szyfrowania szybkim algorytmem symetrycznym. Klucze sesyjne s  jednorazowego u ytku.  

Funkcje jednokierunkowe 

W niektórych przypadkach do ochrony autentyczno ci lub poufno ci nie jest potrzebne lub 

wskazane szyfrowanie wiadomo ci (daj ce mo liwo  deszyfrowania). Stosuje si  wówczas 

funkcje jednokierunkowe.  

Funkcja jednokierunkowa jest to takie przekształcenie, które daje si  oblicza  szybko w jedn  

stron , ale dla którego wyznaczenie przekształcenia odwrotnego jest bardzo zło one 

obliczeniowo. Zmiana pojedy czego bitu argumentu powoduje zmiany wielu bitów wyniku 

według zło onego schematu. Odgadywanie argumentu dla którego fukcjia przyjmuje zadan  

warto  najcz ciej polega na przeszukaniu całej dziedziny argumentów funcji.  

Funkcje jednokierunkowe słu  m.in. do przechowywania haseł, oraz do tworzenia streszcze  

wiadomo ci dla potwierdzania ich integralno ci i autentyczno ci (patrz wcze niej - podpisy 

cyfrowe).  

Inne zagadnienia 

background image

 

40 

Inne zagadnienia maj ce wpływ na bezpiecze stwo komputerów to mi dzy innymi 

piel gnacja, konserwacja i wła ciwe przechowywanie sprz tu i oprogramowania, dobór 

wykwalifikowanego i odpowiedzialnego personelu, szkolenia oraz tworzenie polityki 

bezpiecze stwa systemu informatycznego.