18
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

PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

  • Upload
    lamhanh

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 2: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 3: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 4: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 5: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 6: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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 18-

bitowej 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

Page 7: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 8: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 9: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 10: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 11: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI

11

Page 12: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI

12

Page 13: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI

13

Page 14: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 15: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE PAMIĘCI

15

Page 16: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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

Page 17: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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ół dysk-

kontroler. 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

Page 18: PAMIĘCI - Uniwersytet Przyrodniczy w Poznaniujankar/AS-pamieci.pdf · Podstawowe parametry odczytane przez BIOS z układów pamięci: synchronizacja, długość przesyłanych bloków,

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