background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

1

Struktura Pamięci 

Pomocniczej

Struktura dysku.

Planowanie dostępu do dysku.

Zarządzanie dyskiem.

Zarządzanie obszarem wymiany.

Niezawodność dysku.

Implementowanie pamięci trwałej.

Struktura pamięci trzeciorzędnej

Urządzenia pamięci trzeciorzędnej.

Zadania systemu operacyjnego

Zagadnienia dotyczące wydajności

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

2

Struktura Dysku

Dysk jest adresowany jako wielka, 
jednowymiarowa tablica bloków 
logicznych
.

Blok logiczny jest najmniejszą 
jednostką przesyłania, zazwyczaj ma 
rozmiar 512 B.

Jednowymiarowa tablica bloków 
logicznych jest sekwencyjnie 
odwzorowana na dysku.

Sektor 0 jest pierwszym sektorem na 
pierwszej ścieżce najbardziej 
zewnętrznego cylindra
.
Dalsze odwzorowanie przebiega po 
kolei wzdłuż tej ścieżki, następnie 
wzdłuż pozostałych ścieżek cylindra
a potem w głąb następnych cylindrów
– od zewnątrz do środka.

Nowoczesne dyski są organizowane w 
grupy cylindrów (zones of cylinders) 
liczba sektorów na ścieżce jest stała dla 
grupy i jest tym większa im grupa jest 
bardziej na zewnątrz.

Urządzenie

uruchamiające

Głowica 

odczytująco-

zapisująca 

Ramię 

Kierunek obrotów

Płyta

Cylinder c

Sektor s

Ścieżka t

. . .

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

3

Planowanie Dostępu do Dysku

• System operacyjny jest odpowiedzialny za wydajne użytkowanie 

sprzętu – w odniesieniu do napędów dyskowych oznacza to szybki 
dostęp do dysku i szybkie przesyłanie danych.

• Główne składowe czasu dostępu do dysku:

Czas szukania (seek time) – czas potrzebny na przemieszczenie ramienia 
dysku do pozycji, w której głowice ustawiają się na cylindrze zawierającym 

żądany sektor.
Opóźnienie obrotowe (rotational latency) – czas zużywany na obrót dysku 
dysku do pozycji, w której sektor trafia pod głowicę dysku.

• Szerokość pasma (bandwidth) dysku – łączna liczba przesłanych 

bajtów, podzielona przez  łączny czas, jaki upływa od pierwszego
zamówienia na usługę do chwili zakończenia ostatniego przesłania.
Minimalizacja czasu dostępumaksymalizacja szerokości pasma

• Proces potrzebujący wykonać operację WE/WY każdorazowo 

odwołuje się do systemu operacyjnego.

• Istnieje wiele algorytmów planowania dostępu do dysku.

Przykład: cylindry: 0–199, kolejka: 98, 183, 37, 122, 14, 124, 65, 67

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

4

Algorytm FCFS 

(First-Come, First-Served)

0

14

37

53 65 67

98

122 124

183 199

Kolejka: 98, 183, 37, 122, 14, 124, 65, 67;          Start głowicy: cylinder 53

Głowica musi przejść łącznie 640 cylindrów!

Algorytm FCFS jest sprawiedliwy, ale na ogół nie zapewnia 

najszybszej obsługi. 

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

5

Algorytm SSTF 

(Shortest-Seek-Time-First)

0

14

37

53 65 67

98

122 124

183 199

Kolejka: 98, 183, 37, 122, 14, 124, 65, 67;          Start głowicy: cylinder 53

Głowica przechodzi łącznie 236 cylindrów.

Algorytm SSTF jest znacznie lepszy od algorytmu FCFS, ale 

może prowadzić do zagłodzenia pewnych zamówień.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

6

Algorytm SCAN (Windy 

– ang. Elevator)

0

14

37

53 65 67

98

122 124

183 199

Kolejka: 98, 183, 37, 122, 14, 124, 65, 67;          Start głowicy: cylinder 53

• Głowica przeszukuje (skanuje) cały dysk tam i z powrotem 
obsługując napotkane po drodze zamówienia.

Z chwilą gdy głowica zmienia kierunek po dojściu do końca dysku

spotyka bezpośrednio przed sobą stosunkowo mało zamówień, 
podczas gdy na przeciwległym końcu może ich być wiele (przy 
założeniu równomiernego rozkładu zamówień).  

Głowica przechodzi łącznie 208 cylindrów (lepiej niż dla SSTF).

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

7

Algorytm C-SCAN 

(circular SCAN)

0

14

37

53 65 67

98

122 124

183 199

Kolejka: 98, 183, 37, 122, 14, 124, 65, 67;          Start głowicy: cylinder 53

• Działa jak SCAN, ale gdy głowica osiągnie skrajne położenie 
dysku, to wraca do przeciwległego położenia – bez obsługiwania.

☺ Zapewnia bardziej równomierny czas oczekiwania niż algorytm 
SCAN (nie dyskryminuje żadnych cylindrów).

• Algorytm C-SCAN traktuje cylindry jak listę cykliczną, w której 
ostatni cylinder spotyka się z pierwszym.

Głowica przechodzi łącznie 185 cylindrów.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

8

Algorytmy LOOK i C-LOOK

0

14

37

53 65 67

98

122 124

183 199

Kolejka: 98, 183, 37, 122, 14, 124, 65, 67;          Start głowicy: cylinder 53

• Podobne do odpowiednio SCAN i C-SCAN, z tym że głowica 
przesuwa się do skrajnego zamówienia w każdym kierunku, a nie do 
skrajnego cylindra dysku.

☺ Algorytmy LOOK i C-LOOK są bardziej optymalne od –
odpowiednio – algorytmów  SCAN i C-SCAN.

Głowica przechodzi łącznie tylko 146 cylindrów!

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

9

Wybór Algorytmu Planowania 

Dostępu do Dysku

• Metoda SSFT jest stosowana dość powszechne i wygląda naturalnie.
• Algorytmy SCAN C-SCAN są odpowiedniejsze w systemach, w 

których jest bardzo dużo zamówień na operacje dyskowe.

• Wydajność każdego algorytmu zależy przede wszystkim od liczby i 

rodzaju zamówień.

• Zamówienia na usługi dyskowe mogą w znacznym stopniu zależeć 

od metod przydziału pliku (bloki w przydziale listowym lub 
indeksowym mogą być znacznie rozrzucone po dysku).

• Ważna jest także lokalizacja katalogów i bloków indeksowych –

przechowywanie podręczne może znacznie przyspieszyć dostęp.

• Algorytm przydziału miejsca na dysku powinien być napisany jako 

oddzielny moduł systemu operacyjnego, aby można go było łatwo 
zastąpić innym – w razie potrzeby.

• Algorytm SSFT albo algorytm LOOK może pełnić rolę algorytmu 

obieranego domyślnie.    

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

10

Zarządzanie Dyskiem

Formatowanie dysku:

Formatowanie niskiego poziomu lub formatowanie fizyczne – podział 
dysku na sektory, które kontroler dysku potrafi czytać i zapisywać.
Struktura sektora: nagłówekobszar danych (zwykle 512 B) i zakończenie
Nagłówek i zakończenie  zawierają informacje dla sterownika dysku: numer 
sektora 
kod korygujący (error-correcting code – ECC).
Kod ECC jest uaktualniany gdy sterownik zapisuje dane w sektorze, a przy 
czytaniu sektora jest obliczany ponownie i porównywany z zapamiętaną 
wartością. Kod ECC jest samokorygujący – umożliwia naprawienie jednego 
lub dwóch bitów (wykonywany przy każdym pisaniu lub czytaniu sektora).
Większość dysków jest formatowana na niskim poziomie przez producenta.
Aby użyć dysk do przechowywania plików, system operacyjny musi jeszcze 
zapisać na nim własne struktury danych – wykonuje to w dwóch etapach:

1.

Podział  dysku na jedną lub więcej grup cylindrów – każda z takich partycji 
może być traktowana jak osobny dysk.

2.

Formatowanie logiczne lub „tworzenie systemu plików” – utworzenie 
początkowych struktur danych systemu plików: mapa wolnych i przydzielonych 
obszarów  (tablica FAT lub i-węzły) oraz początkowy, pusty katalog.

W niektórych systemach możliwe jest tzw. surowe WE/WY – dysk jako 
wielka, liniowa tablica bloków logicznych (dla pewnych baz danych).

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

11

Blok Rozruchowy

Komputer rozpoczynając pracę wykonuje wstępny program 
rozruchowy 
(bootstrap):

Program ten ustawia stan początkowy wszystkich elementów systemu 

(procesor, pamięć, sterowniki urządzeń itd.).
Następnie uruchamia system operacyjny – znajduje jądro na dysku, ładuje je 
do pamięci i wykonuje skok pod adres początkowy by rozpocząć jego 
wykonywanie.

Najczęściej program rozruchowy jest przechowywany w pamięci 
przeznaczonej tylko do czytania 
(read only memory – ROM).

Pamięć ROM jest łatwa do zlokalizowania (nie zmienia swojego miejsca) i 
nie jest narażona na zainfekowanie wirusem (jest tylko do odczytu).
Zmiana kodu programu rozruchowego wymaga wymiany układów scalonych.
Większość systemów przechowuje w rozruchowej pamięci ROM malutki
program ładowania programu rozruchowego (bootstrap loader), którego 
jedynym zadaniem jest sprowadzenie pełnego programu rozruchowego z 
dysku (ponieważ jest on na dysku, więc można go łatwo wymienić).
Pełny program rozruchowy jest przechowywany w specjalnym miejscu na 
dysku, w strefie zwanej blokami rozruchowymi (boot blocks).
Dysk ze strefą rozruchową nazywa się dyskiem rozruchowym (boot disk) 
lub systemowym.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

12

Układ Informacji na Dysku MS-DOS

Blok rozruchowy

Tablica FAT

Katalog główny

Bloki danych

(podkatalogi)

Sektor 0

Sektor 1

W systemie MS-DOS program rozruchowy zajmuje tylko jeden 

blok (512 B).

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

13

Bloki Uszkodzone

• Ponieważ dyski mają części ruchome i małe tolerancje (granice 

dozwolonych odchyleń parametrów działania), więc są podatne na 
awarie (czasami awaria jest zupełna i wymaga wymiany dysku).

• Częściej uszkodzeniu ulega jeden lub kilka sektorów.
• Na nieskomplikowanych dyskach (niektóre ze sterownikami IDE) 

uszkodzone bloki (bad blocks) można usunąć ręcznie.

Np. polecenie format systemu MS-DOS wykonując formatowanie logiczne 
wyszukuje też wadliwe bloki i zaznacza je odpowiednio w tablicy FAT.
Jeżeli bloki ulegają uszkodzeniu podczas normalnego działania, to należy 
wykonać specjalny program w celu ich zlokalizowania (np. chkdsk).

• W bardziej złożonych dyskach (np. dyski SCSI) stosuje się 

metodę sektorów zapasowych lub przenoszenia sektorów 
(sector sparing or forwarding):

Przy formatowaniu niskiego poziomu zostawia się zapas sektorów 
niewidocznych dla systemu operacyjnego – ich wykaz zawiera sterownik.
Uszkodzony blok jest zastępowany logicznie przez sterownik blokiem ze 
zbioru sektorów zapasowych (może to zniweczyć optymalizację dostępu!).
Większość dysków jest formatowana tak, aby każdy cylinder zawierał mały 
zapas sektorów i dodatkowo umieszcza się cylinder zapasowy.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

14

Zarządzanie Obszarem Wymiany

Podstawowym celem w projektowaniu obszaru wymiany jest 
umożliwienie najlepszej przepustowości pamięci wirtualnej.

• Wykorzystanie obszaru wymiany:

Systemy implementujące wymianę (swapping) potrzebują obszaru wymiany 
do przechowywania całych procesów, włącznie z ich kodem i danymi.
Systemy stronicujące mogą przechować w obszarze wymiany strony usunięte 
z pamięci głównej.
Rozmiar potrzebnej przestrzeni wymiany zależy od ilości pamięci fizycznej, 
ilości pamięci wirtualnej oraz sposobu jej wykorzystania.
Niektóre systemy operacyjne, np. UNIX, umożliwiają stosowanie wielu 
obszarów wymiany, które mogą być rozmieszone na różnych dyskach.
Bezpieczniej jest nadmiernie oszacować wielkość obszaru wymiany niż 
przydzielić go za mało (może to prowadzić nawet do awarii systemu!).

• Umiejscowienie obszaru wymiany:

W obrębie systemu plików jako wielki plik – łatwy w realizacji ale mało 
wydajny (nawigowanie w strukturze katalogowej jest czasochłonne).
W osobnej partycji dysku (poza systemem plików) – do przydzielania i 
zwalniania bloków stosuje się zarządcę pamięci obszaru wymiany, który jest 
optymalizowany na szybkość. Wada: wycięcie stałego obszaru dyskowego.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

15

Zarządzanie Obszarem Wymiany – BSD

• System UNIX 4.3BSD:

Uruchamianemu procesowi przydziela się obszar wymiany w chwili startu.
W pamięci pomocniczej rezerwuje się tyle miejsca ile wystarcza na 
pomieszczenie programu (tzw. segment tekstu) i segmentu danych procesu.
Przy starcie procesu strony jego tekstu sprowadzane są z systemu plików, a 
następnie w razie potrzeby są odsyłane do obszaru wymiany i z niego czytane.
Strony z segmentu danych są czytane z systemu plików lub są tworzone i 
podlegają wymianie stosownie do potrzeb.
Możliwe jest wspólne użytkowanie stron tekstu (np. edytora) w kilku 
procesach – zarówno w pamięci fizycznej, jak i w obszarze wymiany.
Jądro systemu korzysta z dwu procesowych map wymiany (swap maps):

Mapa wymiany segmentu tekstu – przydziela obszar wymiany segmentowi 
tekstu (ma ustalony rozmiar) kawałkami po 512 KB, w wyjątkiem ostatniego 
kawałka, który jest wymierzany w jednostkach 1 kilobajtowych.
Mapa wymiany segmentu danych – bardziej skomplikowana, bo segment 
danych może rosnąć z upływem czasu; mapa ma ustalony rozmiar, ale zawiera 
adresy bloków o zmiennych rozmiarach: każdy następny blok jest 2 razy większy 
od poprzedniego (maksymalny rozmiar bloku to 2 MB). 

☺ Małe procesy używają małych bloków.
☺ Zmniejsza się fragmentacja.
☺ Mapa wymiany pozostaje mała.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

16

Mapy Wymiany w Systemie 4.3BSD

Mapa

512 KB

512 KB

512 KB

71 KB

Mapa wymiany segmentu tekstu 

16 KB

32 KB

64 KB

128 KB

Mapa wymiany segmentu danych 

Mapa

256 KB

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

17

Zarządzanie Obszarem Wymiany – Solaris

• System Solaris (SunOS):

Wymiana może być dokonywana zarówno w partycji 
wymiany, jak i w przestrzeni systemu plików – administrator 
systemu może decydować o wyborze rodzaju obszaru 
wymiany.
Podczas wykonywania procesu segmenty tekstu są 
sprowadzane z systemu plików do pamięci głównej, skąd są 
usuwane – jeśli zachodzi potrzeba.
Powtórne czytanie strony z systemu plików jest wydajniejsze 
niż zapisywanie jej w obszarze wymiany i czytanie jej 
stamtąd.
W systemie Solaris 2 obszar wymiany przydzielany jest tylko 
wtedy, gdy strona jest usuwana z pamięci fizycznej, a nie 
podczas pierwszego utworzenia strony pamięci wirtualnej –
zwiększa to wydajność komputerów, które mają więcej 
pamięci operacyjnej (mniejsza intensywność stronicowania).

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

18

Niezawodność Dysku

Dyski zawsze były najbardziej zawodną częścią systemu.
Awarie dysków powodują utratę danych i długie przestoje związane
z wymianą dysku i odtwarzaniem danych.
Ulepszenia metod eksploatacji dysków:

• Paskowanie dysku (disk striping), inaczej – przeplot

Grupa dysków jest traktowana jako jedna jednostka pamięci.

Każdy blok danych jest podzielony na kilka podbloków.

Każdy podblok jest pamiętany na innym dysku.

☺ Skrócenie czasu przesyłania danych, bo wszystkie dyski przesyłają swoje 

podbloki równolegle; synchronizacja dysków jeszcze polepsza wydajność.

• Schemat nadmiarowej tablicy niezależnych dysków (redundant 

array of independent disks – RAID– połączenie paskowania 
dysków z pamiętaniem nadmiarowych danych:

Odbicie lustrzane (mirroring) lub tworzenie cienia (shadowing)
utrzymywanie dodatkowej kopii (duplikowanie) każdego dysku – drogie! 
Przeplatanie bloków parzystości (block interleaved parity): mały obszar 
dysku jest wykorzystywany do przechowywania bitów parzystości – znacznie 
mniejsza redundancja.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

19

Poziomy RAID

dostateczna / 
mała

doskonała / 
dostateczna

parzystość na 
poziomie bloków

4

Dostęp 
niezależny

duże zapotrze-
bowania we/wy

doskonała

mała

parzystość na 
poziomie bitów

3

duża częstość 
żądań, duża 
intensywność 
odczytów

dostateczna / 
mała

doskonała / 
dostateczna

rozproszona 
parzystość na 
poziomie bloków

5

doskonała

mała

redundancja 
przez kod
Hamminga

2

Dostęp 
równoległy

napędy 
systemowe; 
krytyczne pliki

dostateczna

dobra / 
dostateczna

lustrzane kopio-
wanie danych

1

Kopiowanie 
lustrzane

wymagające 
wysokiej 
wydajności

małe paski: 
doskonała

duże paski: 
doskonała

bez redundancji

0

Paskowanie

Typowe 
zastosowanie

Szybkość 
transferu 

(odczyt/zapis)

Częstość 
zgłaszania 
żądania we/wy

Opis

Poziom 

Kategoria

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

20

Implementowanie Pamięci Trwałej

• Pamięć trwała (stable storage) – pamięć, która nigdy nie traci 

przechowywanych w niej informacji (ważna dla baz danych!).

• Do implementacji przybliżenia takiej pamięci należy zastosować 

zwielokrotnienie informacji na wielu urządzeniach pamięci (zwykle 
dyskach), niezależnych od siebie pod względem awaryjności.

• Zapisywanie uaktualnień powinno być skoordynowane tak, aby 

awaria pojawiająca się w trakcie aktualizacji nie powodowała 
uszkodzenia wszystkich kopii.

• Usunięcie skutków awarii powinno umożliwić przywrócenie 

wszystkim kopiom wartości spójnych i poprawnych, nawet gdyby w 
trakcie rekonstrukcji doszło do następnej do awarii.

• Operacja pisania na dysku kończy się na jeden z trzech sposobów:

Pomyślne zakończenie: dane zostały zapisane na dysku poprawnie.
Awaria częściowa: błąd podczas przesyłania spowodował, że tylko część 
sektorów została zapisana poprawnie, natomiast sektor zapisywany w chwili 
awarii mógł zostać uszkodzony.
Awaria całkowita: uszkodzenie nastąpiło przed rozpoczęciem pisania, więc 
poprzednie wartości danych dyskowych pozostały nienaruszone.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

21

Usuwanie Skutków Awarii

System powinien wykryć każdą awarię występującą podczas 
zapisu bloku i wywołać procedurę rekonstrukcji w celu 
przywrócenia blokowi spójnego stanu.

Dla każdego bloku logicznego system utrzymuje dwa bloki 
fizyczne, 
a operacja wyjścia przebiega następująco:

1.

Informacje są zapisywane w pierwszym bloku fizycznym.

2.

Po pomyślnym zakończeniu pierwszego pisania te same informacje 
zapisywane są w drugim bloku fizycznym.

3.

Operacja jest uznawana za zakończoną tylko wtedy, kiedy drugie pisanie 
zakończy się pomyślnie.

Usuwając skutki awarii sprawdza się każdą parę bloków 
fizycznych:

Jeśli oba bloki są identyczne i nie udało się w nich wykryć błędów, to 
dalsze działania nie są potrzebne.
Blok, w którym wykryto błąd, zastępuje się zawartością drugiego bloku.
Jeśli oba bloki nie zawierają wykrywalnych błędów, lecz ich zawartości 
się różnią, to zawartość pierwszego bloku zastępuje się zawartością  
drugiego bloku.

Procedurę tę można rozszerzyć na dowolną liczbę kopii bloków.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

22

Struktura Pamięci Trzeciorzędnej

Pamięć trzeciorzędna (tertiary storage) jest zbudowana z nośników 
wymiennych 
(removable media) – najpopularniejsze to: dyskietki, płyty CD, 
płyty DVD, taśmy magnetyczne.

Dyski wymienne

Dyski elastyczne (dyskietki) – wykonane z cienkich tarcz pokrytych materiałem 
magnetycznym i ochranianych plastikowymi kopertami.

Typowo mogą pomieścić ok. 1 MB informacji.
Podobna technologia jest stosowana do wymiennych dysków magnetycznych o 

pojemności ponad 1 GB.
Mogą być niemal tak samo szybkie jak dyski twarde, ale ich powierzchnie są bardziej 
narażone na uszkodzenie na skutek porysowania.

Dyski magnetooptyczne – dane są zapamiętywane na twardej płycie powleczonej 
powleczonej materiałem magnetycznym.

W celu zapisania bitu napęd dysku wytwarza rozległe i słabe pole magnetyczne, a 
głowica przy pomocy światła laserowego rozgrzewa maleńki obszar dysku, czyniąc go 
podatnym ma pole magnetyczne i umożliwiając zapis bitu.
Dane są odczytywane za pomocą światła laserowego z wykorzystaniem efektu Kerra
– 
skręcenie polaryzacji światła laserowego przy odbiciu od powierzchni magnetycznej.
Głowica magnetooptyczna znajduje się z znacznie większej odległości od powierzchni 
dysku niż głowica w dyskach magnetycznych, a materiał magnetyczny jest pokryty 
grubą, ochronną warstwą plastiku lub szkła – większa odporność na awarie głowicy! 

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

23

Dyski Wymienne – c.d.

• Dyski optyczne:

Wykorzystują specjalne materiały, które można zmieniać za pomocą światła 
laserowego, wytwarzając jaśniejsze i ciemniejsze plamki.
Każda plamka reprezentuje bit.
Dyski zmiennofazowe (phase-change disk) są powleczone materiałem, który 
przy oziębianiu może zmieniać fazy: krystalizować lub przechodzić w stan 
bezpostaciowy – te dwa stany powstają przy oświetlaniu promieniem lasera 
różnej mocy, powodującego topnienie i wtórne krzepnięcie plamek materiału.
Dyski z barwionego polimeru (dye-polymer disk) są powleczone plastikiem 
zawierającym barwnik pochłaniający światło lasera, które wytwarza w nim 
maleńkie grudki – służą one do zapisu informacji.

☺ Są to dyski zdatne do wielokrotnego czytania i pisania.

Są to dość drogie a mało wydajne technologie.

• Dyski jednokrotnego zapisu i wielokrotnego czytania (write-once 

read-many-times – WORM– cienka folia aluminiowa obłożona 
dwiema szklanymi lub plastikowymi płytkami, w której światłem 
laserowym wypala się maleńkie otwory w celu zapisu informacji.

• Dyski tylko do czytania (read-only disks) – są zapisywane w 

wytwórni (w technologii podobnej do WORM): CD-ROM i DVD.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

24

Taśmy

Taśma magnetyczna (magnetic tape) jest tańsza niż dysk optyczny lub 
magnetyczny i mieści więcej danych, ale dostęp losowy do danych jest znacznie 
wolniejszy – wymaga przewijania w przód i wstecz.

Typowy przewijak taśmy jest droższy od typowego napędu dysku, ale koszt 
jednej kasety z taśmą jest znacznie mniejszy niż koszt dysku magnetycznego o 
równoważnej pojemności.

Taśma jest ekonomicznym nośnikiem w zastosowaniach, które nie wymagają 
szybkiego dostępu swobodnego, np. do przechowywania kopii zapasowych 
danych dyskowych.

Taśmy wykorzystuje się także w dużych centrach komputerowych do 
przechowywania olbrzymich ilości danych.

Wielkie instalacje taśmowe zwykle wyposażone są w roboty, które przenoszą 
taśmy między przewijakami a przegrodami do magazynowania taśm w taśmotece.

Staker (stacker) – biblioteka niewielkiej ilości taśm.
Silos (silo) – biblioteka zawierająca tysiące taśm.

Plik znajdujący się na dysku, który nie będzie potrzebny przez jakiś czas można 
zarchiwizować na taśmie (której koszt na megabajt jest znacznie niższy); gdy 
plik będzie w przyszłości potrzebny, to komputer może go z powrotem 
przemieścić (stage) na dysk.

Zautomatyzowana taśmoteka nazywana jest biblioteką średnio dostępną (near-
line library)
, między on-line off-line

obniża koszt magazynowania danych.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

25

Zadania Systemu Operacyjnego 

Odnośnie Pamięci Trzeciorzędnej

Interfejs aplikacji

Większość systemów operacyjnych obsługuje dyski wymienne prawie tak samo 
jak dyski stałe – po włożeniu do napędu nowej kasety, należy ją sformatować
w wyniku czego na dysku powstaje pusty system plików.

Taśmy są zwykle traktowane jako surowy nośnik pamięci, tzn. aplikacja nie 
otwiera na taśmie pliku, ale otwiera cały przewijak taśmy jako urządzenie 
surowe.

Na ogół przewijak taśmy jest rezerwowany na wyłączny użytek danej aplikacji, 
do czasu aż zakończy ona z niego korzystać.

Ponieważ system operacyjny nie zapewnia usług plikowych na przewijaku 
taśmy, więc aplikacja musi sama decydować o sposobie korzystania z tablicy 
bloków, np. program do składowania na taśmie danych dyskowych może 
zapisać wykaz nazw i rozmiarów plików na początku taśmy, a potem zgodnie z 
tym porządkiem zapisywać na taśmie dane z plików.

Jeśli każda aplikacja stosuje własne reguły organizacji taśmy, to taśma zapisana 
danymi może być użyta tylko przez program, który ją stworzył.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

26

Przewijaki Taśm

• Podstawowe operacje dla taśmy różnią się od podstawowych 

operacji dla dysku.

• Operacja znajdź (locate) służy do ustawienia taśmy w miejscu 

występowania określonego bloku logicznego (a nie całej ścieżki, 
jak w przypadku dyskowej operacji szukaj).

• Operacja pozycja czytania (read position) przekazuje numer 

bloku logicznego, od którego zaczyna się nagłówek taśmy.

• Operacja odstęp (space) umożliwia zmianę położenia taśmy 

względem bieżącej pozycji.

• Przewijaki taśmy są urządzeniami tylko do dopisywania

(append-only) – uaktualnienie bloku w środku taśmy powoduje 
usunięcie wszystkiego co znajduje się za tym blokiem.

• Dopisywanie jest implementowane przez umieszczanie znacznika 

końca taśmy (end-of-tape – EOTpo zapisanym bloku.

• Przewijak nie pozwala na przechodzenie poza znacznik EOT, ale 

umożliwia jego znalezienie i rozpoczęcie za nim pisania. 

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

27

Nazywanie plików

Kolejnym problemem, który staje przed systemem operacyjnym 
jest sposób nazywania plików na wymiennych nośnikach.

• Problem staje się poważniejszy, jeżeli np. chcemy zapisywać dane

na kasetowym nośniku informacji w jednym komputerze, a 
następnie korzystać z tej kasety na innym komputerze.

Dla maszyn tego samego typu i tego samego rodzaju napędów jedyną
trudnością jest znajomość zawartości i układu danych na kasecie.
Dla różnych maszyn lub różnych jednostek pamięci może powstać wiele 
dodatkowych trudności, np. sposób kodowania, porządek zapisu bajtów itd.

• Współczesne systemy operacyjne generalnie pozostawiają nie 

rozwiązany problem przestrzeni nazewniczej dla nośników 
wymiennych – sposób dostępu do danych na tych nośnikach oraz 
ich interpretacja należy do aplikacji i użytkowników.

• Istnieje kilka rodzajów wymiennych nośników informacji, które są

tak dobrze ustandaryzowane, że wszystkie komputery używają ich 
w ten sam sposób, np. dyski kompaktowe (CD).

Dyski CD z danymi mają tylko kilka formatów, więc na ogół wszystkie te 
formaty są rozpoznawane i obsługiwane przez systemy operacyjne.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

28

Zarządzanie Pamięcią Hierarchiczną

• Hierarchiczny system pamięci jest rozwinięciem hierarchii pamięci 

poza pamięć podstawową i pomocniczą (tj. dysk magnetyczny) 
obejmującym pamięć trzeciorzędną.

• Pamięć trzeciorzędna jest zwykle implementowana za pomocą 

robota kasetowego z taśmami lub dyskami wymiennymi.

☺ Jest to większy i tańszy poziom pamięci.

Najczęściej powolniejszy!

• Zazwyczaj pamięć trzeciorzędna jest stosowana jako rozszerzenie 

systemu plików.

Małe i często używane pliki pozostają na dysku magnetycznym.
Wielkie, stare, aktualnie nie używane pliki są archiwizowane przez roboty 
kasetowe 
(robotic jukebox).
W niektórych systemach archiwizacji pozostawia się wpis katalogowy pliku, 
a jego zawartość przenosi się do pamięci trzeciorzędnej.

• Hierarchiczne zarządzanie pamięcią (hierarchical storage 

management – HSMjest dziś zazwyczaj spotykane w centrach 
superkomputerowych i innych wielkich instalacjach 
rozporządzających olbrzymimi ilościami danych. 

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

29

Zagadnienia Wydajności

Podstawowe aspekty wydajności pamięci trzeciorzędnej: 
szybkośćniezawodność koszt.

Szybkość

• Dwa aspekty szybkości pamięci trzeciorzędnej: szerokość pasma 

(bandwidth) (czyli przepustowość) oraz opóźnienie (latency).

• Szerokość pasma mierzy się w bajtach na sekundę.

Przepustowość stała (sustained badwidth) – średnia szybkość przesyłania 
danych w trakcie długich przesłań (liczba bajtów podzielona przez czas 
przesyłania); określa szybkość danych podczas przepływu ich strumienia.

Dyski wymienne: od 0.25 MB/s do kilkunastu MB/s.

Przewijaki taśm: od poniżej 0.25 MB/s do ponad 30 MB/s (najszybsze 
przewijaki taśm mogą mieć większą przepustowość niż dyski stałe).

Przepustowość efektywna (effective badwidth) – średnia z całego czasu 
trwania operacji WE/WY, łącznie z czasem szukania lub odnajdywania
danych oraz czasem przełączania kaset przez roboty; jest ogólną szybkością 
przesyłania danych uzyskiwaną w danym urządzeniu.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

30

Szybkość – c.d.

• Opóźnienie dostępu (access latency) – czas potrzebny na 

zlokalizowanie danych.

Czas dostępu do dysku: przesunięcie ramienia do wybranego cylindra i 
czekanie na obrót dysku, aż dany sektor znajdzie się pod głowicą; < 35 ms.
Dostęp do taśmy wymaga przewijania taśmy ze szpuli na szpulę, aż wybrany 
blok znajdzie się pod głowicą  – może zabrać dziesiątki lub setki sekund.
Generalnie, losowy dostęp do taśmy jest setki lub tysiące razy wolniejszy
niż dostęp swobodny do dysku.
W przypadku robota kasetowego opóźnienie dostępu może znacznie 
wzrosnąć – nawet do kilku minut.

• Zautomatyzowana biblioteka ma znacznie gorszy stosunek 

szerokości pasma do pojemności pamięci niż dysk stały.

• Niski koszt pamięci trzeciorzędnej wynika ze wspólnego 

korzystania z wielu tanich kaset na kilku drogich napędach.

• Biblioteka wymiennych nośników informacji najlepiej nadaje się 

do pamiętania rzadko używanych danych, ponieważ jest ona w 
stanie realizować stosunkowo mało zamówień WE/WY w ciągu 
godziny.

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

31

Niezawodność i Koszt

• Niezawodność (reliability):

Wymienne dyski magnetyczne są mniej niezawodne niż dyski stałe, 
ponieważ są bardziej narażone na różne szkodliwe czynniki.
Kasety z dyskami optycznymi są uważane za bardziej niezawodne niż dyski 
magnetyczne lub taśmy, ponieważ posiadają warstwy ochronne.
Niezawodność taśm magnetycznych zależy od rodzaju napędu; czułym
punktem jest głowica przewijaka taśmy – może się szybko ścierać.
Awaria głowicy dysku twardego zwykle niszczy dane zupełnie, podczas gdy 
po awarii napędu taśmy lub dysku optycznego dane często pozostają 
nienaruszone.

• Koszt: 

Pamięć operacyjna jest o wiele droższa niż pamięć dyskowa.
Koszt za megabajt pamięci dysków twardych jest konkurencyjny wobec cen 
taśm magnetycznych, jeśli brać pod uwagę jedną taśmę na przewijak.
Najtańsze napędy taśmowe i najtańsze napędy dysków osiągnęły po latach 
prawie te same pojemności.
Pamięć trzeciorzędna umożliwia uzyskanie oszczędności jedynie wtedy, gdy 
liczba kaset jest istotnie większa od liczby napędów.

Przyszłe technologie: pamięci holograficzne (trójwymiarowe). 

background image

Wiesław Płaczek

Systemy Operacyjne: Wykład 10

32

Cena Megabajta Pamięci (wg. BYTE)

0,001

0,01

0,1

1

10

100

1000

1981

1982

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

Rok

US

D/MB

Pamięć DRAM

Dysk twardy

Przewijak taśmy