PAMIĘCI

advertisement
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
Download