Podstawy systemow operacyjnych Nieznany

background image

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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.


Wyszukiwarka

Podobne podstrony:
Ekologiczne podstawy systemu ws Nieznany
Zestaw E Podstawy Systemów Operacyjnych i systemów grafiki komputerowej (2)
podstawoawe ppojecia i operacje Nieznany
podstawy systemow operacyjnych VK2TVKRYMJ4ICHUTQ4HPW4LTK43QGI4Q4K2ZSDI
Egzamin, E. Podstawy systemów operacyjnych i systemów grafiki komputerowej, E
E Podstawy systemów operacyjnych i systemów grafiki komputerowej
Ekologiczne podstawy systemu ws Nieznany
Abraham Silberschatz Podstawy Systemów Operacyjnych (Edycja 5) Streszczenie
LINUX, SZKOLNE PLIKI-mega zbiory (od podstawówki do magisterki), Systemy operacyjne
dobrucki,systemy operacyjne, op Nieznany
,systemy operacyjne,koordynacja Nieznany (2)
Aksjologiczne podstawy i system Nieznany
Podstawy informatyki, Systemy operacyjne, PODSTAWY INFORMATYKI (KONTYNUACJA SYSTEMÓW OPERACYJNYCH)
,systemy operacyjne, procesy i Nieznany (2)
Podstawy architektury komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Systemy operacyjne unix polecenia podstawowe

więcej podobnych podstron