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
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.
Oś
Urządzenie
uruchamiające
Głowica
odczytująco-
zapisująca
Ramię
Kierunek obrotów
Płyta
Cylinder c
Sektor s
Ścieżka t
. . .
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ępu, maksymalizacja 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.
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.
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ń.
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).
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.
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!
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 i 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.
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łówek, obszar danych (zwykle 512 B) i zakończenie.
Nagłówek i zakończenie zawierają informacje dla sterownika dysku: numer
sektora i 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).
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.
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).
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.
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.
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.
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
…
…
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).
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.
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
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.
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.
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!
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.
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 a off-line;
→
obniża koszt magazynowania danych.
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ł.
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 – EOT) po zapisanym bloku.
• Przewijak nie pozwala na przechodzenie poza znacznik EOT, ale
umożliwia jego znalezienie i rozpoczęcie za nim pisania.
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.
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 – HSM) jest dziś zazwyczaj spotykane w centrach
superkomputerowych i innych wielkich instalacjach
rozporządzających olbrzymimi ilościami danych.
Wiesław Płaczek
Systemy Operacyjne: Wykład 10
29
Zagadnienia Wydajności
Podstawowe aspekty wydajności pamięci trzeciorzędnej:
szybkość, niezawodność i 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.
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.
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).
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