Struktura pamięci. masowej



Podobne dokumenty
Architektura komputerów


Struktura pamięci masowej

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

System plików. Warstwowy model systemu plików

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

ZASADY PRZECHOWYWANIA DANYCH

Systemy operacyjne. dr inż. Marcin Czajkowski. Studia podyplomowe Wydział Informatyki PB

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

Architektura komputerów

RAID 1. str w przypadku różnych szybkości cała macierz będzie pracowała z maksymalną prędkością najwolniejszego dysku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Wykład 9 Struktury pamięci masowej

Pamięci masowe. ATA (Advanced Technology Attachments)

Struktura dysku. Dyski podstawowe i dynamiczne

Zarządzanie pamięcią operacyjną

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Budowa systemów komputerowych

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Pamięci zewnętrzne Dysk magnetyczny:

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Wykład 14. Zagadnienia związane z systemem IO

Architektura systemu komputerowego

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Zarządzanie pamięcią w systemie operacyjnym

Działanie systemu operacyjnego

Podstawowe wiadomości o systemach plików.

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Sektor. Systemy Operacyjne

Systemy Operacyjne Pamięć masowa

16MB - 2GB 2MB - 128MB

Struktura systemów komputerowych

Technologia informacyjna. Urządzenia techniki komputerowej

Systemy plików FAT, FAT32, NTFS

Partition Wizard Home Edition Aplikacja przeznaczona do partycjonowania dysków twardych, obsługująca również macierze RAID oraz dyski o pojemności

Twardy dysk. -urządzenie pamięci masowej

Zagadnienia związane z systemem IO

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

dr inż. Jarosław Forenc

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Działanie komputera i sieci komputerowej.

Architektura komputerów

Administracja systemem Linux

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Tworzenie partycji i dysków logicznych

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

Wykład 7. Zarządzanie pamięcią

Pamięć - parametry. 1. Pojemność 2. Szybkość 3. Koszt 4. Pobór mocy

Dydaktyka Informatyki budowa i zasady działania komputera

Dyski twarde napędy optyczne i pamięci flash

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

PAMIĘĆ OPERACYJNA...107

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Systemy operacyjne i sieci komputerowe Szymon Wilk Partycjonowanie 1

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Programowanie współbieżne Wykład 2. Iwona Kochańska

Systemy operacyjne III

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Ochrona Danych Wrocław 7 marzec 2007

Narzędzia umożliwiające tworzenie scentralizowanej polityki prowadzenia backupów. Adrian Marczyk

LEKCJA. TEMAT: Napędy optyczne.

Działanie systemu operacyjnego

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej

1. Budowa komputera schemat ogólny.

Zarządzanie pamięcią operacyjną

Tomasz Greszata - Koszalin

Schematy zarzadzania pamięcia

Systemy wejścia-wyjścia. wyjścia

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Technologie taśmowe wprowadzenie i zastosowania. Jacek Herold, WCSS

Zarządzanie partycjami

Rodzaje pamięci masowych by Silas Mariusz

Dyski SSD a systemy plików

Partycje bez tajemnic

Tworzenie oraz przywracanie obrazu systemu Windows 7

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Bootowalny pendrive USB z Windows

Jak funkcjonuje nagrywarka DVD

SPIS TREŚCI: KARTY GRAFICZNE... 15

Wpisany przez Łukasz Nawrotek Poniedziałek, 20 Październik :57 - Zmieniony Poniedziałek, 20 Październik :02

System plików przykłady. implementacji

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

Systemy macierzowe. www. qsantechnology. com

Pliki i systemy plików

Architektura komputerów

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Narzędzia umożliwiające tworzenie scentralizowanej polityki prowadzenia backupów. Paweł Płoskonka IS2, P2

Transkrypt:

Wiesław Płaczek Systemy Operacyjne: Wykład 10 1 Struktura pamięci Struktura dysku. masowej Planowanie dostępu do dysku. Zarządzanie dyskiem. Zarządzanie obszarem wymiany. Struktura RAID. Podłączenia dysków. Implementacja pamięci trwałej. Struktura pamięci trzeciorzędnej.

Ścieżka t Cylinder c Sektor s Płyta Oś Struktura dysku Zespół ramion Głowica czytającopisząca... Kierunek obrotów Ramię Dysk jest adresowany jako wielka, jednowymiarowa tablica bloków logicznych. Blok logiczny jest najmniejszą jednostką przesyłania, zazwyczaj ma rozmiar 512 B (może być też większy). Jednowymiarowa tablica bloków logicznych jest sekwencyjnie odwzorowana na sektory 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. Wiesław Płaczek Systemy Operacyjne: Wykład 10 2

Planowanie dostępu do dysku 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 dyskowych. Główne składowe czasu dostępu do dysku: Czas wyszukiwania (seek time) czas potrzebny na przemieszczenie ramienia dysku do pozycji, w której głowice ustawiają się na cylindrze zawierającym szukany 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 3

Algorytm FCFS (First-Come, First-Served) Kolejka: 98, 183, 37, 122, 14, 124, 65, 67; Start głowicy: cylinder 53 0 14 37 53 65 67 98 122 124 183 199 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 4

Algorytm SSTF (Shortest-Seek Seek-Time-First) Kolejka: 98, 183, 37, 122, 14, 124, 65, 67; Start głowicy: cylinder 53 0 14 37 53 65 67 98 122 124 183 199 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 5

Algorytm SCAN (windy) Głowica przeszukuje (skanuje) cały dysk tam i z powrotem obsługując napotkane po drodze zamówienia. Kolejka: 98, 183, 37, 122, 14, 124, 65, 67; Start głowicy: cylinder 53 0 14 37 53 65 67 98 122 124 183 199 Głowica przechodzi łącznie 208 cylindrów (lepiej niż dla SSTF). 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ń). Wiesław Płaczek Systemy Operacyjne: Wykład 10 6

Algorytm C-SCAN C SCAN (circular SCAN) 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! Kolejka: 98, 183, 37, 122, 14, 124, 65, 67; Start głowicy: cylinder 53 0 14 37 53 65 67 98 122 124 183 199 Głowica przechodzi łącznie 185 cylindrów. Algorytm C-SCAN traktuje cylindry jak listę cykliczną, w której ostatni cylinder spotyka się z pierwszym. Zapewnia bardziej równomierny czas oczekiwania niż algorytm SCAN (nie dyskryminuje żadnych cylindrów). Wiesław Płaczek Systemy Operacyjne: Wykład 10 7

Algorytmy LOOK i C-LOOKC 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. Kolejka: 98, 183, 37, 122, 14, 124, 65, 67; Start głowicy: cylinder 53 0 14 37 53 65 67 98 122 124 183 199 Głowica przechodzi łącznie tylko 146 cylindrów! Algorytmy LOOK i C-LOOK są bardziej optymalne od, odpowiednio, algorytmów SCAN i C-SCAN. Wiesław Płaczek Systemy Operacyjne: Wykład 10 8

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 9

Zarządzanie dyskiem Zarządzanie dyskiem Formatowanie dysku: Formatowanie niskiego poziomu lub formatowanie fizyczne podział dysku na sektory, które sterownik 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 (partition) może być traktowana jak osobny dysk. 2. Formatowanie logiczne (czyli 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 jest wielką, liniową tablicą bloków logicznych (np. dla pewnych bazy danych). Wiesław Płaczek Systemy Operacyjne: Wykład 10 10

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 tylko odczytywalnej (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 ładowacz 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 partycji zwanej blokami rozruchowymi (boot blocks) w ustalonym miejscu na dysku. Dysk z partycją rozruchową nazywa się dyskiem rozruchowym (boot disk) lub dyskiem systemowym. Wiesław Płaczek Systemy Operacyjne: Wykład 10 11

Układ informacji na dysku MS-DOS Sektor 0 Sektor 1 Blok rozruchowy Tablica FAT Katalog główny Bloki danych (podkatalogi) W systemie MS-DOS program rozruchowy zajmuje tylko jeden blok (512 B). Wiesław Płaczek Systemy Operacyjne: Wykład 10 12

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). Najczęś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 (sector sparing) lub przenoszenia sektorów (sector 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 13

Zarządzanie obszarem wymiany Podstawowym celem w projektowaniu obszaru wymiany jest jak najlepsza przepustowość systemowej 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ą przechowywać 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 (MBy GBy). 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 14

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. segmentu 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 segmentu danych są czytane z systemu plików lub są tworzone i podlegają zapisywaniu/czytaniu w obszarze wymiany 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 KB, gdzie przechowuje się resztę stron. 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, nawet dla wielkich procesów. Wiesław Płaczek Systemy Operacyjne: Wykład 10 15

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 Mapa 16 KB 32 KB 64 KB 128 KB 256 KB Mapa wymiany segmentu danych

Zarządzanie obszarem wymiany Solaris System Solaris 1 (SunOS 4): 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. System Solaris 2: 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. 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 17

Struktura RAID Dostęp do dysku jest znacznie wolniejszy niż do pamięci głównej. Awarie dysków powodują utratę danych i długie przestoje związane z wymianą dysku i odtwarzaniem danych. Polepszenie wydajności dysków przez równoległość: Paskowanie dysku (disk striping), inaczej przeplot: Grupa dysków jest traktowana jako jedna jednostka pamięci pomocniczej. Każdy blok danych (1 bajt lub więcej) 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ść. Polepszenie niezawodności dysków przez nadmiarowość: 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 wykorzystywany do przechowywania bitów parzystości oszczędniejsze! Schemat nadmiarowej tablicy niezależnych dysków (redundant array of independent disks RAID) połączenie paskowania dysków z pamiętaniem nadmiarowych danych (redundancja). Wiesław Płaczek Systemy Operacyjne: Wykład 10 18

Poziomy RAID RAID poziom 0: tablice dysków z paskowaniem na poziomie bloków, ale bez jakiejkolwiek nadmiarowości. RAID poziom 1: nadmiarowość przez lustrzane odbicie dysku. RAID poziom 2: organizacja korygowania błędów na wzór pamięci operacyjnej, przy użyciu kodu Hamminga (parzystości dla grup bitów) paskowanie na poziomie bitów i zapamiętywanie bitów parzystości na dodatkowych dyskach. RAID poziom 3: organizacja parzystości w przeplocie bitów ulepszenie poziomu 2 przez wykorzystanie możliwości sterowników dysków do wykrywania błędnych sektorów; do skorygowania błędu wystarczy 1 bit parzystości 1 dysk parzystości na kilka zwykłych dysków. RAID poziom 4: organizacja parzystości w przeplocie bloków paskowanie na poziomie bloków (jak w RAID 0) z dodatkowym blokiem parzystości dla bloków z N dysków, trzymanym na oddzielnym dysku. RAID poziom 5: rozproszona parzystość w przeplocie bloków podobny do poziomu 4, ale bloki parzystości rozproszone są po różnych dyskach: parzystość każdego bloku przechowywana jest na jednym z N dysków, a pozostałe N 1 dysków przechowuje jego dane, np. parzystość bloku n na dysku (n mod N) + 1. RAID poziom 6: schemat nadmiarowości P + Q podobny do poziomu 5, ale zawiera dodatkową informację nadmiarową by chronić przed awarią wielu dysków; zamiast parzystości stosuje kody korygujące, np. kody Reeda-Solomona. RAID poziom 0 + 1: kombinacja poziomów 0 (wydajność) i 1 (niezawodność). Wiesław Płaczek Systemy Operacyjne: Wykład 10 19

Przykłady poziomów RAID RAID 0: paskowanie bez redundancji C C C C RAID 1: lustrzane odbicie dysków (C kopia danych) P P P RAID 2: redundancja przez kod Hamminga (P bity parzystości). P RAID 3: parzystość w przeplocie bitów P RAID 4: parzystość w przeplocie bloków P P P P P RAID 5: rozproszona parzystość w przeplocie bloków P P P P P P P RAID 6: nadmiarowość P + Q Wiesław Płaczek Systemy Operacyjne: Wykład 10 20 P P

Podłączenia dysków Pamięć podłączona do komputera macierzystego Osiągalna przez lokalne porty wejścia-wyjścia, np. architektury IDE (ATA), SCSI, kanał światłowodowy (fibre channel FC). Różnorodne urządzenia pamięciowe: dyski twarde, tablice RAID, napędy CD i DVD, przewijaki taśmy. Polecenia WE/WY to czytanie i pisanie logicznych bloków danych, kierowane do specjalnie identyfikowanych jednostek pamięci (np. identyfikator szyny). Pamięć podłączona do sieci (network-attached storage NAS) System pamięci specjalnego przeznaczenia osiągany zdalnie przez sieć danych. Klient uzyskuje dostęp do NAS przez interfejs zdalnego wywołania procedury, jak np. NFS w systemach uniksowych lub CIFS dla MS Windows. Jednostka NAS jest zwykle tablicą RAID z oprogramowaniem realizującym interfejs zdalnych wywołań procedur (RPC). Sieć pamięciowa (storage-area network SAN) Jest siecią prywatną (używa protokołów pamięci, a nie protokołów sieciowych) rozpiętą między serwerami i jednostkami pamięci oddzielnie od sieci LAN lub WAN łączących serwery z klientami ( niestety brak dobrych standardów). Jej zaletą jest elastyczność do jednej sieci SAN można podłączyć wiele komputerów i wiele tablic pamięci, pamięć może być podłączana dynamicznie. Wiesław Płaczek Systemy Operacyjne: Wykład 10 21

Wiesław Płaczek Systemy Operacyjne: Wykład 10 22 Sieć pamięciowa (SAN) Serwer Klient RAID Serwer LAN/WAN Klient Klient Serwer danych SAN Centrum przetwarzania danych Biblioteka taśm Dostawca zawartości WWW

Implementacja 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 23

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 24

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, obecnie także tzw. Pendrives (elektroniczne). 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 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 25

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. Są zdatne do wielokrotnego czytania i pisania, np. CD-RW, DVD-RW. Dyski jednokrotnego zapisu i wielokrotnego czytania (writeonce read-many-times WORM): Starsza technologia 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 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, np. CD-R i DVD-R. 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 26

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 mniejszy niż koszt dysków magnetycznych 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 archiwizować na taśmie (której koszt za gigabajt może być znacznie niższy); gdy plik będzie w przyszłości potrzebny, to komputer może go z powrotem przemieścić (stage) na dysk. Zrobotyzowana taśmoteka nazywana jest biblioteką prawie bezpośrednio dostępną (near-line library), między dyskami on-line a taśmami off-line. Wiesław Płaczek Systemy Operacyjne: Wykład 10 27

Przyszłe technologie Pamięć holograficzna (holographic storage) Wykorzystuje się światło lasera do zapisywania fotografii holograficznych na specjalnych nośnikach. Duża szybkość przesyłania danych wszystkie piksele hologramu przesyłane są w jednym błysku światła laserowego! Ciągły postęp w rozwoju niedługo mogą być dostępne komercyjnie. Mechaniczne systemy mikroelektroniczne (microelectronic mechanical systems MEMS) Pomysł dostosowania technologii wytwarzania układów elektronicznych do produkcji małych maszyn przechowujących dane. Np. wytworzenie tablicy 10 000 maleńkich głowic dyskowych, nad którą będzie zawieszony centymetr kwadratowy magnetycznego materiału pamięciowego podczas przesuwania materiału pamięciowego wzdłuż głowic, każda głowica ma dostęp do własnej prostej ścieżki w tym materiale. Jeżeli technologia ta odniesie sukces, to może być źródłem pamięci nieulotnej szybszej niż dysk magnetyczny i tańszej niż półprzewodnikowa pamięć DRAM. Wiesław Płaczek Systemy Operacyjne: Wykład 10 28

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 29

Wiesław Płaczek Systemy Operacyjne: Wykład 10 30 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.

Nazywanie plików 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 CD, dyski DVD. 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 31

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 32

Wiesław Płaczek Systemy Operacyjne: Wykład 10 33 Zagadnienia dotyczące 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 34 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. Zrobotyzowana 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 niewielu 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.

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: Cena pamięci dyskowej systematycznie spada względem ceny pamięci DRAM i pamięci taśmowej. Pamięć operacyjna jest dziś 100 razy droższa niż pamięć dyskowa. Drastyczny spadek cen dysków sprawił, że pamięć trzeciorzędna stała się przestarzała (potrzebny byłby tu jakiś przełom technologiczny). Pamięć taśmowa obecnie stosowana jest głównie do kopii zapasowych (backup) wobec pamięci dyskowej i do magazynowania archiwalnego w olbrzymich taśmotekach (znacznie przekraczających pojemności dużych farm dyskowych). Wiesław Płaczek Systemy Operacyjne: Wykład 10 35

Cena megabajta pamięci wg. czasopisma BYTE Wiesław Płaczek Systemy Operacyjne: Wykład 10 36 1000 Pamięć DRAM Dysk twardy 100 Przewijak taśmy 10 USD/MB 1 0,1 0,01 0,001 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Rok