Struktura pamięci masowej

Podobne dokumenty
Struktura pamięci. masowej

Architektura komputerów


Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

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

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

Pamięci masowe. ATA (Advanced Technology Attachments)

Architektura komputerów

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

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

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

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

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

System plików. Warstwowy model systemu plików

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

ZASADY PRZECHOWYWANIA DANYCH

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

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

Zagadnienia związane z systemem IO

Dydaktyka Informatyki budowa i zasady działania komputera

Architektura komputerów

Budowa systemów komputerowych

Wykład 9 Struktury pamięci masowej

Dyski twarde napędy optyczne i pamięci flash

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Struktura systemów komputerowych

Zarządzanie pamięcią operacyjną

Systemy Operacyjne Pamięć masowa

Systemy plików FAT, FAT32, NTFS

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

Struktura dysku. Dyski podstawowe i dynamiczne

Pamięci zewnętrzne Dysk magnetyczny:

Działanie systemu operacyjnego

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

Technologia informacyjna. Urządzenia techniki komputerowej

Twardy dysk. -urządzenie pamięci masowej

Architektura systemu komputerowego

Dyski SSD a systemy plików

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

Tworzenie partycji i dysków logicznych

Sektor. Systemy Operacyjne

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

Podstawowe wiadomości o systemach plików.

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

Potrzeba instalacji w napędach SSD akumulatorów ograniczała jednak możliwości miniaturyzacji takich napędów.

16MB - 2GB 2MB - 128MB

OFERTA HANDLOWA. Odzyskujemy dane z dysków o średnicy 3.5", 2.5". Zajmujemy się dyskami magnetycznymi oraz dyskami SSD *.

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Architektura komputerów

Działanie komputera i sieci komputerowej.

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

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP SZKOLNY BIAŁYSTOK, 22 LISTOPADA 2017 R.

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

2,5 cala/3,5 cala USB 3.0 Obudowa SSD/HDD RAID SATA

dr inż. Jarosław Forenc

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

Systemy macierzowe. www. qsantechnology. com

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

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

Pliki. Operacje na plikach w Pascalu

Rodzaje pamięci masowych by Silas Mariusz

Ochrona Danych Wrocław 7 marzec 2007

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

1. Budowa komputera schemat ogólny.

Tomasz Greszata - Koszalin

Jak funkcjonuje nagrywarka DVD

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Działanie systemu operacyjnego

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

BUDOWA KOMPUTERA. Monika Słomian

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Administracja systemem Linux

Globalna firma oferująca skalowalne składowanie i ochronę danych

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Partycjonowanie 1

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

Magistrala systemowa (System Bus)

Architektura komputerów

System plików przykłady. implementacji

Bootowalny pendrive USB z Windows

Technologie informacyjne - wykład 2 -

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

Architektura komputerów

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

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

LEKCJA TEMAT: Zasada działania komputera.

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

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

Pliki i systemy plików

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

Transkrypt:

Struktura pamięci masowej Struktura dysku. 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. Wiesław Płaczek Systemy Operacyjne: Wykład 9 1

Ścieżka t Cylinder c Sektor s Płyta Oś Struktura dysku Zespół ramion Głowica czytającopisząca... Kierunek obrotów Ramię Dysk magnetyczny 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 9 2

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ładniki 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 (obecnie średnio 3 15 ms). Opóźnienie obrotowe (rotational latency) czas zużywany na obrót dysku do pozycji, w której sektor trafia pod głowicę dysku (średnio 2 6 ms). 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, który realizuje planowanie. Algorytmy planowania dostępu do dysku dotyczą ruchu głowicy. q Przykład: cylindry: 0 199, kolejka: 98, 183, 37, 122, 14, 124, 65, 67. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 9 4

Algorytm SSTF (Shortest-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 wydajniejszy od algorytmu FCFS, ale może prowadzić do głodzenia pewnych zamówień. Wiesław Płaczek Systemy Operacyjne: Wykład 9 5

Algorytm SCAN (windy) Głowica przeszukuje (skanuje) cały dysk tam i z powrotem obsługując napotkane po drodze zamówienia (jak winda). 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). L 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 9 6

Algorytm 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. J Zapewnia bardziej równomierny czas oczekiwania niż algorytm SCAN (nie dyskryminuje żadnych cylindrów). Wiesław Płaczek Systemy Operacyjne: Wykład 9 7

Algorytmy LOOK i C-LOOK 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! J Algorytmy LOOK i C-LOOK są bardziej optymalne od, odpowiednio, algorytmów SCAN i C-SCAN. Wiesław Płaczek Systemy Operacyjne: Wykład 9 8

Wybór algorytmu planowania dostępu do dysku Metoda SSTF 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 planowania dostępu do dysku powinien być napisany jako oddzielny moduł systemu operacyjnego, aby można go było łatwo zastąpić innym w razie potrzeby. Algorytm SSTF albo algorytm LOOK może pełnić rolę algorytmu obieranego domyślnie. Wiesław Płaczek Systemy Operacyjne: Wykład 9 9

Ø 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: w Podział dysku na jedną lub więcej grup cylindrów każda z takich partycji (partition) może być traktowana jak osobny dysk. w 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 baz danych). Wiesław Płaczek Systemy Operacyjne: Wykład 9 10

Blok rozruchowy Komputer rozpoczynając pracę wykonuje wstępny program rozruchowy (bootstrap): Program ten ustawia stan początkowy wszystkich elementów systemu (rejestry procesora, zawartość pamięci, 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). J L Ø Ø Ø 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 9 11

Organizacja dysku w systemach MS-DOS oraz MS Windows XP/Vista/7/8 Sektor 0 Sektor 1 Blok rozruchowy Tablica FAT Katalog główny MBR Partycja 1 Partycja 2 Kod rozruchowy Tablica partycji Bloki danych (podkatalogi) Partycja 3 Partycja rozruchowa Partycja 4 System MS-DOS: program rozruchowy zajmuje tylko jeden blok (512 B). System Windows XP/Vista/7/8: MBR główny rekord rozruchowy. Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 dysk wymaga wymiany). 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 (np. chkdsk) w celu ich zlokalizowania. 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 jest w sterowniku. 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 9 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 rozmiaru pamięci fizycznej, rozmiaru pamięci wirtualnej oraz sposobu jej wykorzystania (MBy GBy). Niektóre systemy operacyjne, np. Linux, 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 załamania systemu!). Umiejscowienie obszaru wymiany: W obrębie systemu plików jako wielki plik łatwe w realizacji zwykle mniej wydajne ( 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ść ( wycięcie stałego obszaru dyskowego!). Wiesław Płaczek Systemy Operacyjne: Wykład 9 14

Zarządzanie obszarem wymiany Solaris ² Dawne systemy Uniksowe stosowały wymianę całych procesów między pamięcią operacyjną a ciągłymi obszarami dysku, potem wprowadzono kombinację wymiany ze stronicowaniem. q System Solaris 1 (SunOS): Podczas wykonywania procesu segmenty tekstu są sprowadzane z systemu plików do pamięci głównej, skąd są usuwane w razie konieczności. Ø Powtórne czytanie strony z systemu plików jest wydajniejsze niż zapisywanie jej w obszarze wymiany i czytanie jej stamtąd. Obszar wymiany jest używany tylko jako zaplecze dla stron pamięci anonimowej, czyli pamięci przydzielonej na stos, stertę i niezainicjowane dane procesu. q System Solaris 2 (i późniejsze): 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 9 15

Zarządzanie obszarem wymiany Linux W systemie Linux obszar wymiany jest używany jedynie dla pamięci anonimowej (podobnie jak w Solaris) lub dla obszarów pamięci współdzielonej przez wiele procesów. Linux pozwala na jeden lub wiele obszarów wymiany. Obszar wymiany może być albo plikiem wymiany w regularnym systemie plików, albo dedykowaną partycją wymiany. Każdy obszar wymiany składa się z ciągu szczelin stron (page slots) o rozmiarach 4 KB, które są używane do przechowywania wymienianych stron pamięci. Z każdym obszarem wymiany związana jest mapa wymiany tablica liczników przypisanych do poszczególnych szczelin stron: Ø Jeżeli wartość licznika jest równa zeru, to odpowiednia szczelina jest wolna. Ø Jeżeli wartość licznika jest większa od zera, to szczelina jest zajęta przez wymienianą stronę, a wartość licznika oznacza w tym przypadku liczbę procesów, do których ta strona jest odwzorowana (procesy mogą współdzielić strony pamięci). Wiesław Płaczek Systemy Operacyjne: Wykład 9 16

Wiesław Płaczek Systemy Operacyjne: Wykład 9 17 Struktury danych dla wymiany w systemie Linux Obszar wymiany Partycja wymiany lub plik wymiany Szczelina strony Mapa wymiany 1 0 3 0 1

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 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! Ø 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. J Skrócenie czasu przesyłania danych, bo wszystkie dyski przesyłają swoje podbloki równolegle; synchronizacja dysków jeszcze polepsza wydajność. v 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 9 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 potrzeba tylko 1 dysk parzystości na wiele dysków danych. RAID poziom 4: organizacja parzystości w przeplocie bloków paskowanie na poziomie bloków (jak na poziomie 0) z dodatkowym blokiem parzystości dla bloków z N dysków danych, który jest trzymany 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 0 + 1 lub 1 + 0: kombinacja poziomów 0 (wydajność) i 1 (niezawodność). Wiesław Płaczek Systemy Operacyjne: Wykład 9 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 9 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 (nowsza SATA), 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 w 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. 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 9 21

Wiesław Płaczek Systemy Operacyjne: Wykład 9 22 Pamięć podłączona do sieci (NAS) NAS Klient LAN/WAN Klient NAS Klient

Wiesław Płaczek Systemy Operacyjne: Wykład 9 23 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 spójnych i poprawnych wartości, nawet gdyby w trakcie rekonstrukcji doszło do następnej 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 9 24

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 9 25

Struktura pamięci trzeciorzędnej Ø Pamięć trzeciorzędna (tertiary storage) jest zbudowana z nośników wymiennych (removable media) najpopularniejsze to: wymienne dyski magnetyczne, płyty CD/DVD, taśmy magnetyczne, obecnie także pamięci flash (elektroniczne). Dyski wymienne Zewnętrzne dyski magnetyczne zbudowane tak jak wewnętrzne dyski twarde, ale umieszczane w kasetach ochronnych, podłączane najczęściej przez port USB. Pojemność zbliżona do pojemności dysków wewnętrznych do 2 TB. Szybkość transferu danych na ogół mniejsza niż dla dysków wewnętrznych. Dyski magnetooptyczne dane są zapamiętywane na twardej płycie powleczonej materiałem magnetycznym ( dość drogie, niezbyt popularne, wychodzą z użytku). 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ę w 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 9 26

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. J Są zdatne do wielokrotnego czytania i pisania, np. CD-RW, DVD-RW. Dyski jednokrotnego zapisu i wielokrotnego czytania (write-once 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): zawierają warstwę organicznego, barwionego polimeru, w którym pod wpływem światła lasera twarzą się małe 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 9 27

Taśmy Taśma magnetyczna (magnetic tape) wymienny nośnik informacji, który może mieścić więcej danych niż dysk optyczny lub magnetyczny, ale dostęp losowy do danych jest znacznie wolniejszy wymaga przewijania w przód i wstecz. Typowy przewijak taśmy (tape drive) jest znacznie droższy od typowego napędu dysku, ale za to może obsługiwać wiele taśm, co zmniejsza koszty pamięci taśmowej (choć dziś dyski magnetyczne są bardzo tanie!). 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, np. w CERN ok. 90% danych (90 PB). 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; 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 9 28

Pamięci flash q Pamięć flash nieulotna pamięć typu EEPROM (Electrically- Erasable Programmable Read-Only Memory), która jest kasowana i programowana dużymi blokami è wynalazca: Fujio Masuoka, 1984 (Toshiba). Dwa rodzaje pamięci flash: NOR i NAND (typ bramki logicznej). Pamięć NOR ma długie czasy zapisu i kasowania, ale umożliwia dostęp bezpośredni (pierwszy nośnik pamięci NOR: Intel, 1988). Pamięć NAND ma krótsze czasy zapisu i kasowania, większą gęstość upakowania, niższy koszt bitu informacji, dziesięciokrotnie większą wytrzymałość niż NOR, ale dostęp do danych jest sekwencyjny (pierwszy nośnik NAND: Toshiba, 1987). Pamięci flash są stosowane powszechnie w kartach pamięci różnorodnych urządzeń, np. PDA, oraz wymiennych nośnikach danych, jak np. pendrive (znacznie szybsze niż dyski CD czy DVD). Specjalną odmianę stanowią tzw. SSD (Solid-State Drive) dyski oparte na pamięci flash typu NAND, o pojemnościach do 2 TB, mające zastąpić twarde dyski magnetyczne (HDD), głównie w komputerach przenośnych. Szybkie, ciche, o niskim zużyciu energii, niezawodne, bez ruchomych części itp. Znacznie wyższa cena gigabajta niż dla HDD (szybko spada!), ograniczona liczba cykli kasowania/zapisu (obecnie do kilku milionów i rośnie!). Ø Techniki hybrydowe: połączenie SSD i HDD, np. SSD jako pamięć podręczna HDD. Wiesław Płaczek Systemy Operacyjne: Wykład 9 29

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! Ø Obecnie w planach np. karty pamięci HVC (30 GB), dyski HVD (6 TB). Mechaniczne systemy mikroelektroniczne (microelectronic mechanical systems MEMS) Pomysł dostosowania technologii wytwarzania układów elektronicznych do produkcji małych maszyn przechowujących dane. q Np. wytworzenie tablicy kilkudziesięciu tysięcy 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 na 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 9 30

Przyszłe technologie c.d. Układy memrystorowe: Memrystor (memristor) czwarty element elektroniki (rezystor z pamięcią) zaproponowany teoretycznie przez Leona Chua w 1971 roku. Rok 2008: HP wyprodukował pierwsze urządzenie memrystorowe oparte o nanoskalową warstwę dwutlenku tytanu. Mogą stanowić nieulotną pamięć RAM, tzw. NVRAM, o niezwykle wysokiej pojemności nawet 460 GB/cm 2 (10 razy więcej niż obecne DRAM) i o porównywalnej szybkości co DRAM. Znaczna redukcja powierzchni z niespotykaną pojemnością pamięci stanowią duży potencjał memrystorów dla produkcji przyszłych układów scalonych (gdzie memrystory mogą zastąpić tranzystory), które otwierają możliwość utrzymania prawa Moora przez kolejną dekadę. Architektura von Neumanna będąca podstawą obecnych komputerów będzie musiała zostać poddana rewizji dla obliczeń prowadzonych przy użyciu nanourządzeń, takich jak układy memrystorowe. Potencjalna możliwość zastąpienia dzisiejszej hierarchicznej struktury pamięci pojedynczą nieulotną pamięcią zintegrowaną z CPU (rejestry). Inne zastosowania: obróbka sygnałów, sieci neuronowe, systemy kontrolne. Wiesław Płaczek Systemy Operacyjne: Wykład 9 31

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 9 32

Wiesław Płaczek Systemy Operacyjne: Wykład 9 33 Taśmy magnetyczne 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 czytaj położenie (read position) przekazuje numer bloku logicznego, przy którym znajduje się głowica taśmy. Operacja odstęp (space) umożliwia zmianę położenia taśmy względem bieżącej pozycji o żądaną liczbę bloków. 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 realizowane 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 ü Kolejnym problemem, który staje przed systemem operacyjnym jest sposób nazywania plików na wymiennych nośnikach. Dla wymiennych dysków systemy operacyjne na ogół dostarczają pełną obsługę interfejsu systemu plików, włącznie z zarządzaniem przestrzenią dyskową oraz planowaniem dostępu do dysku. Dla wielu systemów operacyjnych nazwa pliku na wymiennej kasecie jest kombinacją nazwy odpowiedniego napędu i nazwy pliku w tym napędzie. Istnieje kilka rodzajów wymiennych nośników informacji, które są tak dobrze standaryzowane, że wszystkie systemy operacyjne używają ich w ten sam sposób, np. dyski CD, dyski DVD. Ø Dyski CD/DVD z danymi mają tylko kilka formatów na ogół wszystkie te formaty są rozpoznawane i obsługiwane przez systemy operacyjne. Dla taśm magnetycznych systemy operacyjne dostarczają zwykle jedynie surowego interfejsu kwestie związane z plikami i ich nazwami pozostawiają odpowiednim aplikacjom. Wiesław Płaczek Systemy Operacyjne: Wykład 9 34

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. J Jest to większy i tańszy poziom pamięci. L 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 9 35

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. w Dyski wymienne: od kilku MB/s do ponad 40 MB/s. w Przewijaki taśm: od kilku MB/s do ponad 30 MB/s. Przepustowość efektywna (effective badwidth) średnia z całego czasu trwania operacji WE/WY, łącznie z czasem szukania (seek) lub odnajdywania (locate) 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 9 36

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ą kilka 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. Wiesław Płaczek Systemy Operacyjne: Wykład 9 37

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ś ok. 100 razy droższa niż pamięć dyskowa. Drastyczny spadek cen dysków sprawił, że pamięć taśmowa stała się przestarzała jako pamięć trzeciorzędna zwykłego użytku. 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 9 38

Cena megabajta pamięci wg. czasopisma BYTE Wiesław Płaczek Systemy Operacyjne: Wykład 9 39

Wiesław Płaczek Systemy Operacyjne: Wykład 9 40 Zagadnienia 1. Przedstawić strukturę dysku magnetycznego oraz omówić podstawowe kwestie planowania dostępu do dysku. Scharakteryzować podstawowe algorytmy planowania dostępu do dysku oraz omówić kwestie wyboru odpowiedniego algorytmu dla danego systemu. 2. Na czym polega formatowanie dysku i jaka jest rola bloku rozruchowego? Omówić zarządzanie obszarem wymiany i przedstawić przykłady jego realizacji w systemach Solaris i Linux. 3. Co to jest i do czego służy struktura RAID? Jakie są podstawowe poziomy RAID? 4. Jakie są metody podłączania pamięci dyskowej i czym się charakteryzują? Jak implementowana jest pamięć trwała i jak wygląda w tym przypadku usuwanie skutków awarii? 5. Omówić główne elementy pamięci trzeciorzędnej. Jakie mogą wyglądać przyszłe technologie urządzeń pamięci? 6. Jakie są główne zadania systemu operacyjnego wobec pamięci trzeciorzędnej? Co to jest hierarchiczny system pamięci i jak wygląda zarządzanie nim? Przedstawić kwestie wydajności dla pamięci trzeciorzędnej.