ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI PAMIĘCI PODZIAŁ PAMIĘCI a) pamięć masowa: dyskietki, dyski twarde, dyski optyczne, taśmy magnetyczne,... b) pamięć operacyjna: - podział ze względu na działanie: • pam. dynamiczna (wymagająca odświeżania), • pam. statyczna. - podział ze względu na możliwość zapisywania: • RAM (ang. Random Access Memory) – pamięć o dostępie swobodnym. Pamięć zawiera instrukcje, które krok po kroku są wykonywane przez procesor. Z kolei procesor umieszcza w pamięci informacje, które tworzy podczas wykonywania programu. Rozwój pamięci RAM dąży do jak największej prędkości transferu danych. Kolejne typy pamięci RAM to m.in.: DRAM, SRAM, SDRAM, Rambus DRAM. Pamięć wirtualna (ang. virtual memory) – obszary, które zostały wyrzucone do pliku (tzw. ang. swap files – pliki wymiany) na dysku, aby zwolnić część RAMu; praca wolniejsza z powodu czasu wymiany. • ROM (ang. Read Only Memory) - przechowuje np. BIOS • EPROM (ang. Erasable Programmable ROM) – można wymazać jej zawartość za pomocą promieniowania ultrafioletowego • EEPROM (ang. Electrically EPROM) – można wymazać jej zawartość za pomocą ładunków elektrycznych c) pamięć podręczna (ang. cache) – „skojarzone” z procesorem, superszybkie, zwiększają wydajność. 1 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI ROZWÓJ PAMIĘCI Pamięć magnetyczna – zdolność do przechowywania i odtwarzania informacji dzięki wykorzystaniu zjawisk magnetycznych – dyski twarde, dyskietki, taśmy. 1898 r. – duński inżynier Valdemar Pulsen – opracował zapamiętywanie ludzkiej mowy na pierwowzorze magnetofonu „drutofonie” – dźwięki zapisywano na drucie (strunie fortepianowej) magnesowanym przez elektromagnes, w którym prąd był wzbudzany przez mikrofon telefoniczny przetwarzający dźwięki na sygnał elektryczny. II Wojna Światowa – w Niemczech wynaleziono taśmę magnetyczną – cienki celuloid pokryty bardzo rozdrobnionymi cząstkami tlenku żelaza. 1956 r. - magnetowid (wtedy ampeks). Rozwój pamięci magnetycznych nastąpił z chwilą pojawienia się komputerów. Zapis binarny – dwa stany różniące się zwrotami namagnesowania. Początek lat 50-tych – projekt Whirlwind, MIT Cambridge (USA) – skonstruowano bardzo szybką, jak na tamte czasy, maszynę z magnetyczną pamięcią rdzeniową. Zawierała ona tysiące rdzeni magnetycznych o średnicy 2 mm wykonanych z ferrytu. Pamięci ferrytowe do dziś znajdują zastosowanie w urządzeniach specjalistycznych, choć osiągnęły kres swych możliwości pod względem gęstości zapisu informacji. Magnetyczne pamięci rdzeniowe zostały wyparte przez pamięci magnetyczne – twarde dyski – sztywne krążki z podłoża z metalu lub szkła, na których osadzona jest warstwa materiału magnetycznego (kiedyś tlenek żelazowy (Fe2O3), z czasem stopy metali, w których główny składnik to kobalt), będąca nośnikiem informacji. Informacja jest zapisywana na dysku przez głowicę, która wytwarza impulsy pola magnetycznego w postaci ciągów odpowiadających reprezentacji binarnej zapisywanych informacji. Odczytuje ta sama głowica, w której wskutek ruchu dysku indukowane jest napięcie. Jest to tzw. odczyt indukcyjny, którego wadą jest konieczność stosowania różnych gęstości zapisu – tym mniejszych, im bliżej środka dysku. Z tego względu stosuje się głowice magnetooporowe, w których odczytywanie zależy od natężenia pola magnetycznego. 2 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI Prędkość liniowa na dysku przekracza 100km/h, a odległość unoszącej się nad nim głowicy – 50 milionowych części milimetra. Głowica laserowa – problem utrzymania głowicy jak najbliżej dysku został zniwelowany przez zjawiska termomagnetooptyczne. Pierwsza pamięć (jeszcze nie magnetyczna) wykorzystująca głowice laserową, to płyta kompaktowa (lata 80-te, Philips, Holandia). Z chwilą pojawienia się odpowiednich laserów półprzewodnikowych możliwe stało się skonstruowanie pamięci magnetycznych – dysków komputerowych wykorzystujących zjawiska termomagnetooptyczne. W pamięciach tych, w odróżnieniu od płyt kompaktowych, można wielokrotnie zapisywać informację cyfrową. Zogniskowanie wiązki światła, czyli rozmiar plamki świetlnej – decyduje o gęstości zapisywanej informacji – zależy od długości fali. Im krótsza fala, tym mniejsza plamka. Stąd też w wielu laboratoriach na świecie trwają intensywne badania nad laserami półprzewodnikowymi emitującymi światło niebieskie. Lasery niebieskie pozwoliłyby czterokrotnie zwiększyć gęstość zapisu na dyskach magnetooptycznych. Pamięć magnetyczna – pamięć masowa, nie traci zapisanej informacji po wyłączeniu komputera, jest tańsza, ale wolniejsza od pamięci półprzewodnikowych tworzących pamięć operacyjną komputera. W 1988r. odkryto zjawisko tzw. gigantycznego magnetooporu – zastosowanie: - głowice do odczytywania informacji zapisanej na dyskach, - nowe systemy pamięci z czasem dostępu rzędu miliardowych części sekundy, czyli szybsze od pamięci półprzewodnikowej, - nie zapominające zapisanych informacji. 3 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI PAMIĘĆ OPERACYJNA Rozwój pamięci RAM (ang. Random Access Memory) od połowy lat 90-tych XXw.: DRAM (ang. Dynamic RAM) FPM-DRAM (ang. FastPage Mode DRAM) EDO-DRAM (ang. Extended Data Out - DRAM) BEDO-DRAM (ang. Burst EDO-DRAM) SDRAM (ang. Synchronous DRAM) Rambus-DRAM DDR-SDRAM (ang. Double Data Rate SDRAM) VC-SDRAM (ang. Virtual Channel SDRAM) DRAM (ang. Dynamic RAM) - niestosowana już w komputerach PC, ale wewnętrzna struktura aktualnych układów pamięciowych opiera się na tej samej technologii, - szerokość magistrali: 32 b, - częstotliwość taktowania: 33 MHz, - wydajność transmisji: 32 MB/s, - chipsety i płyty główne: nowoczesne układy nie obsługują pamięci DRAM, - występuje w postaci pojedynczych układów, - działanie: komórki uporządkowane są w rzędach i kolumnach w tzw. macierzy pamięciowej. Zaadresowanie komórki wymaga dwóch etapów: chipset przekazuje układowi pamięci najpierw adres wiersza, potem adres kolumny (ang. RAS Row Address Strobe, CAS Column Address Strobe). W układzie o pojemności 16 MB do zaadresowania każdej komórki potrzeba 24 linii adresowych: 224 = 16 777 216 bitów. Zawiły sposób adresowania spowalnia operacje. Informacje zapisywane w pamięci (w kondensatorach), aby nie „ulotniły się”, muszą być regularnie odświeżane, tzn. zawartość komórki jest odczytywana -> zapisywana w buforze -> ponownie zapisywana w komórce. Podczas odświeżania nie ma dostępu do pamięci, wydłużają się czasy dostępu. 4 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI SDRAM (ang. Synchronous Dynamic RAM) - wydajność zadowalająca, - dostępne moduły DIMM (ang. Dual Inline Memory Module), - pojemności 32-512 MB, - częstotliwość magistrali danych: 66 MHz (PC 66), 100 MHz (PC 100), 133 MHz (PC 133), - szerokość magistrali danych 64-bity, - wydajność: 64 b, 66 MHz => 500 MB/s 64 b, 100 MHz => 800 MB/s 64 b, 133 MHz => 1,06 GB/s - chipsety i płyty główne: bardzo bogata oferta, - działanie: pominięte tzw. uzgadnianie (ang. handshaking) dzięki czemu prawie nie występują tzw. cykle oczekiwania (gdy pamięć działa wolniej od procesora musi czekać, zanim otrzyma żądane informacje). Układy SDRAM mają min. 2 bloki pamięci. Kontroler, zintegrowany w układzie SDRAM, może przygotowywać jeden blok do operacji odczyt/zapis, podczas gdy drugi blok operację wykonuje. Operacje odczyt/zapis są rozdzielane na poszczególne bloki pamięci. Chipset płyty głównej przekazuje modułowi pamięci SDRAM polecenie wraz z adresem komórki i sterowanie przejmują elementy logiczne układu SDRAM. Operacje wykonywane są w trybie pakietowym (ang. burst mode). Synchronizacja w trybie pakietowym: 5-1-1-1, tzn. 5 cyklów oczekiwania na pierwszy blok danych, kolejne dostarczane są cykl po cyklu. - instalacja: automatyczne rozpoznawane i przygotowywane do wykorzystania. Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków, rodzaj odświeżania. - przyszłość: zastąpione przez DDR-SDRAM DDR-SDRAM (ang. Double Data Rate SDRAM) - działa na tych samych zasadach co SDRAM, ale dwukrotnie szybciej, - bardzo wysoka (najwyższa) wydajność, - profesjonalne zastosowania, - dostępna w postaci modułów DIMM (ang. Dual Inline Memory Module), produkowana przez wiele firm, 5 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI - chipsety i płyty główne obsługujące tą pamięć: produkowane przez wiele firm, - wydajność: częstotliwość magistrali 100 lub 133 MHz przepustowość 1,6 GB/s (PC 200) lub 2,1 GB/s (PC 266) - działanie: synchronizacja transmisji danych na podstawie częstotliwości systemowej i dodatkowego sygnału DQS - przyszłość: bardzo dobra Rambus-DRAM - bardzo wysoka (najwyższa) wydajność, - dla procesorów Pentium III lub 4, - dostępne moduły RIMM (ang. Rambus Inline Memory Module) o pojemności 128 i 256 MB, częstotliwość taktowania350 lub 400 MHz (PC 700, PC 800), - 16-bitowa szyna danych, - prędkość transmisji 1,6 GB/s, - chipsety i płyty główne obsługujące tą pamięć: ograniczona ilość, produkowane przede wszystkim przez Intel (do momentu wycofania się...), - działanie: kontroler pamięci zarządza maksymalnie 4 kanałami, kanał składa się z 18bitowej szyny danych wyposażonej w korektę danych (Error Correction Code – 2 bity) i 8-bitowej szyny kontrolnej Procesor przetwarza 64-bitowe bloki danych, Rambus DRAM 16-bitowe – konieczna jest konwersja danych przed ich przetwarzaniem, wykonuje ją chipset płyty głównej. - przyszłość: ograniczona 6 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ (patrz dołączone rysunki; Silberschatz Abraham, Peterson James L., Galvin Peter B.: Podstawy systemów operacyjnych. Wydawnictwo Naukowo – Techniczne, Warszawa 1993) STRONICOWANIE Pamięć logiczna - podzielona na bloki o stałej długości zwane stronami, pamięć fizyczna - podzielona na bloki o takiej samej długości zwane ramkami. Ochrona – każda ramka ma przypisany bit (bity) ochrony wskazujący, czy ramka jest do pisania, czytania, wykonywania. Proces podzielony jest na strony; rozmiar procesu wyrażany jest w stronach. Gdy proces ma być wykonany wówczas jego strony wprowadzane są w dowolne, wolne ramki pamięci fizycznej. Adres logiczny składa się z numeru strony i przesunięcia na stronie. Numery stron stanowią indeksy tablicy stron, w której odczytywany jest nr ramki w pamięci fizycznej i dodawane jest przesunięcie. Cechy stronicowania: - wyraźne rozróżnienie między pamięcią widzianą przez użytkownika (pamięć logiczna) a pamięcią fizyczną. Odwzorowanie tych przestrzeni i tłumaczenie adresów jest nadzorowane przez system operacyjny. - pamięć procesu może być nieciągła, - rozwiązanie dla problemu fragmentacji zewnętrznej, - ominięcie problemu dopasowywania kawałków pamięci. Fragmentacja wewnętrzna pozostaje, w najgorszym przypadku proces może potrzebować n ramek + 1 słowo! (prawie cała ramka jest niewykorzystana). Im mniejsze strony, tym mniejsza fragmentacja wewnętrzna, ale większe koszty obsługi, czyli ilość wpisów do tablicy stron i odwołań do pamięci. 7 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI PAMIĘĆ WIRTUALNA – technika, która umożliwia wykonywanie procesów, mimo że nie są one w całości przechowywane w pamięci operacyjnej. Dzięki temu programy mogą być większe niż dostępna pamięć fizyczna, co znacznie ułatwia programowanie. Pamięć wirtualna jest implementowana najczęściej w postaci stronicowania na żądanie lub segmentacji na żądanie. STRONICOWANIE NA ŻĄDANIE Proces, który ma być wykonany zostaje sprowadzony z pamięci pomocniczej (zwykle z dysku) do pamięci głównej. Ze względu na fakt, że traktujemy teraz proces jako ciąg stron, a nie jako wielką ciągłą przestrzeń adresów, procedura wymiany dotyczy poszczególnych stron, a nie całego procesu. Program zmieniania stron sprowadza do pamięci tylko strony niezbędne, dzięki czemu skraca się czas wymiany i zmniejsza zapotrzebowanie na pamięć fizyczną. Program zmieniania stron korzysta z pamięci pomocniczej (przestrzeni wymiany, ang. swap) i tablicy stron, w której dla każdej strony ustawiany jest bit poprawności (np. 1: poprawny – strona znajduje się w pamięci operacyjnej, 0 – niepoprawny – strona jest na dysku). W przypadku odwołania się procesu do strony nie znajdującej się w pamięci operacyjnej system operacyjny generuje błąd strony i proces powinien zostać zakończony. Obsługa błędu strony Sprawdzamy w tablicy stron, czy odwołanie było poprawne, czy nie został przekroczony dostępny adres. Jeśli nie – generowana jest pułapka: błąd strony, koniec procesu. Jeśli tak – sprowadzamy stronę z pamięci pomocniczej. Znajdujemy wolną ramkę. Przepisujemy daną stronę z dysku do wolnej ramki w pamięci fizycznej. Modyfikujemy tablicę stron. Wznawiamy wykonywanie procesu – proces może sięgnąć do strony, która jest już w pamięci operacyjnej. 8 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI Ważne jest przechowywanie stanu przerwanego procesu, aby można było go wznowić w dokładnie tym samym miejscu i stanie. Dzięki powyższej procedurze można wykonywać proces nawet wtedy, gdy niektórych jego części nie ma jeszcze w pamięci. Można rozpocząć wykonywanie procesu bez żadnej strony w pamięci. Wówczas proces zostaje natychmiast przerwany z powodu braku strony zawierającej pierwszą instrukcję. Jest to tzw. czyste stronicowanie. W przypadku gdy nie ma żadnej wolnej ramki, w której można by zapisać potrzebną stronę system operacyjny może: - zakończyć proces – co byłoby sprzeczne z faktem, że zarządzamy pamięcią, aby zwiększyć przepustowość systemu, - wymienić proces – tzn. zwolnić wszystkie ramki określonego procesu, - zastąpić stronę - jeżeli wszystkie ramki są zajęte, znajduje się taką, która nie jest na bieżąco używana i zwalnia się ją. Ramkę można zwolnić przez zapisanie jej zawartości na dysku i zmianę tablicy stron (i innych tablic) dla wskazania, że strona nie jest już w pamięci. Zwolnioną ramkę można użyć do wprowadzenia strony, której brak spowodował błąd w procesie. Zastępowanie stron jest podstawą stronicowania na żądanie. W stronicowaniu na żądanie rozmiar przestrzeni adresów logicznych przestaje być ograniczony przez pamięć fizyczną. Aby zrealizować stronicowanie na żądanie należy: - opracować algorytm przydziału ramek - jeśli w pamięci znajduje się wiele procesów, to trzeba zdecydować, ile ramek zostanie przydzielonych do każdego procesu, - algorytm zastępowania stron – należy znaleźć ramkę, która nie jest aktualnie wykonywana i zwolnić ją. Problem SZAMOTANIA – sytuacja kiedy w procesie bardzo szybko następują po sobie kolejne błędy braku strony. Proces wtedy ciągle wykazuje brak strony, wymienia jakąś stronę, po czym z powodu jej braku, sprowadza ją z powrotem. Można powiedzieć, że taki proces szamoce się, czyli spędza więcej czasu na stronicowaniu niż na wykonaniu. Szamotanie powstaje m.in. w przypadku zbyt małej liczby ramek przydzielonych procesowi. 9 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ - PODSUMOWANIE Kryteriów wyboru metody zarządzania pamięcią jest bardzo wiele, m.in. - szybkość działania – w miarę komplikowania się algorytmu wzrasta czas wymagany na odwzorowanie adresu logicznego na adres fizyczny. - fragmentacja – zwiększenie stopnia wieloprogramowości jest możliwe m.in. przez upakowanie liczby procesów w pamięci. W związku z tym należy dążyć do zmniejszenia ilości pamięci marnowanej na skutek fragmentacji, zarówno wewnętrznej - występującej w systemach ze stałowymiarowymi jednostkami przydziału pamięci, jak i zewnętrznej – w przypadku systemów, w których są zmienne długości jednostek przydziału pamięci. - przemieszczanie – czyli upakowanie pamięci w celu uniknięcia fragmentacji zewnętrznej powoduje przesunięcie programu / procesu w pamięci – wymaga to dynamicznego przemieszczania adresów logicznych w trakcie działania programu. - zwiększenie stopnia wieloprogramowości – wymiana procesów z pamięci głównej do pamięci pomocniczej, dzielenie kodu i danych między różnych użytkowników (stronicowanie, segmentacja). - ochrona – określenie stron lub segmentów jako tylko do czytania lub do czytania i pisania – niezbędne np. w przypadku współdzielenia kodu. 10 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI 11 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI 12 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI 13 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI ORGANIZACJA DANYCH NA DYSKIETKACH I DYSKACH TWARDYCH Z punktu widzenia systemu operacyjnego LOGICZNA STRUKTURA DYSKIETKI to pliki i katalogi (tzw. system plików), przy czym niektóre informacje zapisane w ściśle określonym miejscu na dysku mają szczególne znaczenie, np. sektor ładujący (ang. boot sector), tablica FAT (ang. File Alocation Table) – struktura informująca system operacyjny, które jednostki i w jakiej kolejności tworzą plik. System operacyjny korzysta z kontrolera napędu dysków, który administruje fizyczną powierzchnią dyskietki, tzn. odpowiada m.in. na pytania gdzie szukać żądanego sektora, co zrobić z sektorami uszkodzonymi. Kontroler pośredniczy między magistralami systemowymi a 4 (max) napędami dysków elastycznych. Zwykle wmontowany jest na płycie głównej w jednym z gniazd rozszerzeń lub jako element zintegrowany z płytą. Rozkazy i dane przekazywane są do rejestrów kontrolera. Funkcje obsługujące czytanie i zapis na dyskietkę: - podprogramy systemu operacyjnego wywoływane przez rozkazy procesora zwane przerwaniami, - podprogramy BIOSu, - kontroler. FIZYCZNA STUKTURA DANYCH – dyskietka składa się z jednakowych, koncentrycznych ścieżek. Ścieżki podzielone są na sektory 512-bajtowe (całkowita długość sektora to jednak 654B ze względu na informacje dodatkowe) stanowiące najmniejszą porcję informacji jaka może być z dyskietki odczytana. Każdy sektor należy do jednostki alokacji zwanej kluster o kolejnym numerze logicznym. Formatowanie dyskietki (formatowanie niskiego poziomu) – naniesienie określonej fizycznej struktury ścieżek i ich sektorów. Poza sektorami 512-bajtowymi ścieżki zawierają wiele pól dodatkowych do zarządzania sektorami, tzn. m.in. do wyszukiwania sektorów, zapisywania informacji, korekcji błędów mechanicznych. 14 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI 15 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI Znaczenie poszczególnych pól z rysunków powyżej: BOT – ang. Beginning of Track EOT – ang. End of Track Dla kontrolera napotkanie znacznika Z1 oznacza początek ścieżki. Zawartość i długość poszczególnych znaczników zależy od sposobu zapisu dyskietki: - zapis magnetyczny FM (ang. Frequency Modulation), - zapis MFM (ang. Modified FM). Na przykład dla MFM: Z1 to 80bajtów o wartości 4Eh, S – 12-bajtowy ciąg zer, znacznik synchronizacyjny. Pozostałe znaczniki: - D1 – (MFM: 4B) informuje kontroler, że za chwilę pojawi się metryka adresowa sektora - ID – metryka adresowa sektora: I-wszy bajt podaje nr ścieżki, II-gi bajt nr głowicy, III-ci – nr sektora, IV– rozmiar sektora. - CRC-1 (ang. Cyclic Redundancy Check, tzw. suma kontrolna do sprawdzania poprawności zapisanych danych. Przekłamanie informacji sprawdza się też poprzez kontrolę parzystości – każdy bajt ma 1 bit dodatkowy mówiący o tym, czy suma 1 w nim jest parzysta, czy nie). - pole zabezpieczające D1 i ID, - D3 – znacznik początku danych, - DANE – ich długość zależy od IV-ego bajtu znacznika ID, - CRC-2 – suma kontrolna dla danych; zabezpieczenie pola danych, kontrola poprawności wprowadzanych danych, - Z5 – czas potrzebny na obliczenie CRC-2. System operacyjny może mieć wpływ jedynie na zawartość pola ID. Mechaniczne własności napędu dyskietek Głowice przemieszczają się nad powierzchnią dyskietki. Umieszczone są one na tzw. wózku napędzanym silnikiem krokowym. Cały ten układ ma swoje własności mechaniczne, m.in.: bezwładność, czy częstotliwość rezonansu mechanicznego. Korekcja błędu położenia głowicy napędu dyskietek jest ograniczona. Jedynym punktem orientacyjnym jest ścieżka zerowa dysku. Szczególnie podatne na błędy są operacje, podczas których głowice przemierzają duże odległości, np. ze ścieżki 0 na ścieżkę 79! 16 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI Niedoskonałości wykonania elementów mechanicznych napędów oraz wady samego nośnika magnetycznego mogą powodować (i powodują) przekłamania utrwalanej informacji, dlatego konieczne jest stosowanie elementów/znaczników kontrolnych, np. CRC. FIZYCZNA STRUKTURA DANYCH NA DYSKACH TWARDYCH jest analogiczna jak dla dyskietki. Główna różnica polega na tym, że w obudowie dysku znajduje się nie jeden, lecz kilka „talerzy” pokrytych warstwą nośnika magnetycznego i obsługiwanych przez odpowiednie zespoły głowic. Z tego względu w przypadku dysków twardych nie mówi się o pojedynczych ścieżkach, lecz o tzw. cylindrach – ścieżki o tym samym numerze położone na kolejnych talerzach pakietu. Ścieżki nadal są dzielone na sektory. Organizacja danych na ścieżce dysku twardego jest bardzo podobna do organizacji na dyskietce. Kilka różnic: pole ID – IV-ty bajt w tym polu nie podaje wielkości sektora, lecz stanowi tzw. jego znacznik, w którym: bity 7-4 określone są jako zarezerwowane (do wykorzystania w przyszłości), 3 – ścieżka zastępcza, 2 – metryka adresowa wskazująca ścieżkę zastępczą, 1 – ścieżka uszkodzona bez przydziału ścieżki zastępczej, 0 – sektor uszkodzony. Jeżeli odpowiednio duża przestrzeń rezerwowa dysku na to pozwala, kontroler może zastąpić całą uszkodzoną ścieżkę. Kontroler przechowuje listy błędów oraz dokładny opis rzeczywisty dysku w pierwszym cylindrze. Ze względu na to, że prędkość obrotowa dysku twardego jest znacznie większa niż dyskietki (ok. 5-7 tys. obr./min.) ilość odczytywanych informacji może przekroczyć przepustowość kontrolera i dlatego, aby temu zapobiec, odczyt danych jest realizowany z tzw. przeplotem (ang. interleave), który polega na niesekwencyjnym odczycie kolejnych sektorów. Współczynnik przeplotu (ang. interleave factor, ILV) określa, co który sektor jest odczytywany podczas obrotu dysku. Jest to ważny parametr charakteryzujący zespół dyskkontroler. Technika ta daje kontrolerowi czas na przetworzenie odczytanego sektora, ale jednocześnie spowalnia proces odczytywania informacji. Np. ILV=1:3 => 1, 4, 7, ..., 2, 5, 8, ... Obecnie stosowane kontrolery (głównie IDE) są na tyle szybkie, że pozwalają odczytywać sektory sekwencyjnie, ze współczynnikiem przeplotu równym 1:1. 17 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI Formatowanie wysokiego poziomu (ang. high level format) Na dysku twardym najpierw budowana jest logiczna struktura partycji. Partycja – logicznie wyodrębniony fragment dysku twardego, na który składa się pewna liczba przyległych do siebie cylindrów. Każdy taki napęd logiczny (np. w systemie DOS identyfikowany jako C, D, E, ...) należy poddać operacji formatowania wysokiego poziomu, w trakcie którego w obszarze partycji zapisywany jest sektor ładujący, tablica alokacji plików (ang. File Alocation Table, FAT), katalog główny. Położenie partycji na dysku fizycznym jest określone przez: cylinder początkowy i liczbę cylindrów tworzących daną partycję. Dane te przechowywane są w tablicy partycji (ang. partition table), którą generuje program fdisk. FAT – tablica alokacji pliku, tablica przydziału, wykorzystywana jest przez system zarządzania logicznymi strukturami danych. Jednostki przydziału (ang. clusters) grupują pewną liczbę sektorów. Dostępne są m.in. następujące rodzaje FAT: - FAT-16 – systemy MS-DOS i pierwsze wersje Windows 95; maksymalny rozmiar tablicy przydziału w systemie FAT-16 wynosi 65525, a pojedynczy klaster nie może być większy niż 32kB. Z rozmiaru tablicy FAT i rozmiaru klastra wynika obszar dysku jaki może być objęty przez dany rodzaj systemu FAT. - FAT-32 – późniejsze wersje Windows 95, - NTFS – Windows NT i kolejne; max rozmiar klastra wynosi 64kB. Powtórne formatowanie dysku twardego nie niszczy zapisanej na nim informacji, a jedynie jej logiczną strukturę. Niszczona jest informacja o strukturze danych zawarta w FAT, dlatego przechowywanie „rezerwowej” kopii FAT w dodatkowym miejscu na dysku pozwala odzyskać informacje po formatowaniu. Do utworzenia kopii bezpieczeństwa obszaru zawierającego dane systemowe (FAT, sektor ładujący, katalog główny) należy użyć specjalnego programu, np. mirror.com lub Norton Disk Tool. 18