9w Pamiec 3


Pamięć (część 3)
Przedmioty prowadzone w ramach Programu Rozwoju WSFiZ w Białymstoku realizowane są w ramach
Programu Operacyjnego Kapitał Ludzki, Priorytet IV Szkolnictwo wyższe i nauka, Poddziałanie 4.1.1
Wzmocnienie potencjału dydaktycznego uczelni, współfinansowanego ze środków
Europejskiego Funduszu Społecznego (POKL.04.01.01-00-030/08)
9. Pamięć (część 3)
Spis treści
9. Pamięć (część 3) ....................................................................................................................... 1
9.3 Pamięci dyskowe ............................................................................................................... 1
9.2.3 Organizacja fizyczna .................................................................................................. 1
9.2.4 Organizacja logiczna .................................................................................................. 3
9.3 Pamięci dyskowe
9.2.3 Organizacja fizyczna
Nośnikiem informacji w pamięciach dyskowych jest warstwa materiału magnetycznego
naniesiona jedno lub dwustronnie na powierzchnię w kształcie okręgu, którą jest talerz
aluminiowy w przypadku dysków twardych lub krążek folii poliestrowej w przypadku dysków
elastycznych. Z tak przygotowanym, obracającym się podłożem współpracuje głowica
odczytujÄ…co-zapisujÄ…ca. Unosi siÄ™ ona nad nim na tzw. poduszce powietrznej utworzonej przez
ruch talerza (dotyczy dysków twardych). W trakcie zapisu kierunek prądu płynącego w
uzwojeniach głowicy powoduje odpowiednie przemagnesowanie materiału. Przy odczycie, kiedy
uzwojenie głowicy przesuwa się nad powierzchnią dysku to namagnesowanie powoduje
zaindukowanie w niej prądu o kierunku zależnym od zwrotu wektora namagnesowania.
Przypisując jedynkę jednemu kierunkowi prądu, a zero  drugiemu mamy możliwość zapisu, a
następnie odczytu dowolnego ciągu zero-jedynkowego. Używany jest przy tym nie kod NKB, ale
specjalny kod (np. RLL(2,7)). Oprócz zwykłej informacji zakodowana jest w nim informacja
synchronizująca, która przy nierównomiernych obrotach silnika w sposób istotny ułatwia zapis i
odczyt. Ponadto kod ten minimalizuje liczbę zer i jedynek, a tym samym umożliwia zwiększenie
gęstości zapisu. Wspomniane zmiany namagnesowania ułożone są wzdłuż współosiowych
okręgów nazywanych ścieżkami (patrz rysunek 9.19 niżej). Operuje się dwoma parametrami
związanymi z określeniem pojemności pamięci dyskowych. Są to: gęstość poprzeczna i gęstość
wzdłużna. Pierwsza z nich (wyrażana w ścieżkach na milimetr) określa jak blisko siebie mogą
być kolejne ścieżki. Typowe wartości zawierają się między 2 a 10. Druga z nich (wyrażana w
bitach na milimetr) określa jak długi jest odcinek namagnesowanej powierzchni ścieżki
odpowiadający jednemu bitowi. Typowa wartość to 200 bitów ma milimetr.
Aby ocenić, co w praktyce oznaczają podane wielkości obliczmy pojemność dysku twardego,
którego promieÅ„ wynosi 100mm, a Å›cieżki zajmujÄ… ¾ jego dÅ‚ugoÅ›ci. Przy gÄ™stoÅ›ci poprzecznej
10/mm mamy 750 ścieżek. Średnia długość ścieżki przy założonym promieniu wynosi około
1
Pamięć (część 3)
400mm, co przy gęstości wzdłużnej 200b/mm daje 80Kb na ścieżkę. Pojemność całego dysku
wynosi zatem około 7,5MB.
Ze względu na postęp technologiczny i wprowadzane na rynek nowe rozwiązania te szacunki
mogą szybko stać się o nieaktualne. W szczególności warto tu wspomnieć o tzw. bitach
pionowych. W klasycznych dyskach domeny magnetyczne układają się na powierzchni dysku, a
odpowiadające im bity nazywane są wtedy poziomymi. Jeżeli domeny ułożyć pionowo w
stosunku do powierzchni to gęstość zapisu byłaby istotnie większa. Oczywiście rozwiązanie takie
wymaga nowej konstrukcji głowicy, ze względu na inny kierunek indukowanych prądów. Udało
się to zrobić i najnowsze dyski o pojemnościach terabajtowych są już w sprzedaży.
Pamięci dyskowe wykorzystywane są głównie, jako pamięci masowe (określenie to jest
używane na bardzo pojemne, tanie, przenośne, nieulotne nośniki informacji o możliwie dużych
prędkościach transmisji). Ponieważ podstawowym parametrem jest pojemność to produkowane
są dyski wielotalerzowe. Głowic pisząco-czytających jest tyle, ile powierzchni (z każdą
współpracuje jedna głowica). Mocowane są one we wspólnym uchwycie przesuwnym. W ten
sposób współpracujące w danej chwili z głowicami ścieżki, które na każdej powierzchni
numerowane są niezależnie, rosnąco w kierunku od krawędzi do osi mają ten sam numer i tworzą
tzw. cylinder.
a) b)
indeks poczÄ…tku
ścieżki sektor
indeks poczÄ…tku
sektora
c)
Rysunek 9.19. Pamięć dyskowa; a) układ głowica-nośnik, b) ścieżki z podziałem na sektory, c) pamięć
wielotalerzowa.
Powierzchnia o numerze zero pełni specjalną rolę. Między innymi przechowuje się na niej
informacje o podziale przestrzeni dyskowej na mniejsze części nazywane partycjami (szczegóły
patrz dalej). PowierzchniÄ™ tÄ… nazywa siÄ™ stronÄ… ukrytÄ… (ang. hidden) dysku. Nazwa bierze siÄ™
stąd, że nie jest ona liczona do raportowanej pojemności dysku.
2
Pamięć (część 3)
Każdą ścieżkę dzieli się na mniejsze części nazywane sektorami. Jest ich od kilkunastu do
kilkudziesięciu. Sektory mogą mieć równe długości (ang. hard sector) wyznaczone przez
zaznaczone trwale na nośniku tzw. otwory indeksowe lub nierówne, zaznaczone przez
odpowiedni zapis magnetyczny (ang. soft sector). Na rysunku 9.19b (patrz wyżej) pokazano
podział ścieżki na 8 równych sektorów. Poprzednio policzyliśmy, że ścieżka ma pojemność
80Kb, stąd wynika, że sektor ma 10Kb. Na jednym talerzu można uzyskać 2" 750 = 1500 ścieżek
(talerz dwustronny) po 8 sektorów każda, co daje 12 000 sektorów. Do zaadresowania tej liczby
sektorów potrzeba 14 bitów (214 = 16384). Adres rozumiany jako numer sektora nazywany jest
adresem logicznym. Adres faktyczny, nazywany adresem fizycznym albo CHS (ang. cylinder,
header, sector), składa się z trzech części:
- numeru cylindra (tożsamy z numerem ścieżki)  11 bitów;
- numeru powierzchni (jest tożsamy z numerem głowicy)  4 bity;
- numeru sektora  3 bity.
Adres przykładowej pamięci złożonej z 8 talerzy o 16 powierzchniach wygląda następująco:
- 11-bitowy numer cylindra (tożsamy z numerem ścieżki);
- 4-bitowy numer powierzchni (jest tożsamy z numerem głowicy);
- 3-bitowy numer sektora.
Odczyt i zapis z/na dysk przebiega w dwóch fazach. W fazie pierwszej podaje się numer
cylindra, po czym czeka się na spozycjonowanie (ustawienie nad odpowiednią ścieżką) głowic.
W fazie drugiej podaje się numer powierzchni i sektora. Każdy sektor składa się z nagłówka, w
którym między innymi zapisany jest adres CHS oraz danych i systemu znaczników
pozwalających zorientować się, jakiego rodzaju informacja przesuwa się pod głowicą. Szybkość
działania zależy od obrotów silnika. Np. przy 3000 obr/min jeden obrót trwa 20 ms. Statystycznie
żądane informacje znajdÄ… siÄ™ pod gÅ‚owicÄ… po ½ obrotu, czyli po 10 ms. Szybkość transmisji
można obliczyć przyjmując, że w czasie jednego obrotu należy przetransmitować całą zawartość
ścieżki, czyli u nas 80Kb, co daje 4Mb/s.
9.2.4 Organizacja logiczna
Logiczna struktura informacji na dysku zależy od przyjętego systemu zapisu plików. Jest ich
kilka, np. FAT, NTFS czy HPFS. Opisany zostanie FAT.
Dyski twarde są nośnikami o dużych pojemnościach, stąd założono, że mogą być na nich
instalowane różne systemy operacyjne. Każdy z nich wymaga instalacji na wydzielonym
obszarze dysku nazywanym partycją. Partycje są logicznie niezależnymi strukturami na dysku.
Składają się zawsze z pewnej liczby sąsiednich cylindrów. Są w stanie obsługiwać różne systemy
plików. Informacja o tym, w jaki sposób dany dysk został podzielony na partycje znajduje się w
specjalnej strukturze umieszczonej na ukrytej stronie dysku. Struktura ta nazywa siÄ™ tablicÄ…
partycji (ang. data partition table) i jest ona częścią innej podstawowej struktury, jaką jest główny
rekord Å‚adujÄ…cy (ang. master boot record) zapisywanym zawsze pod fizycznym adresem CHS =
001. Ponieważ sektory liczymy od jedności to jest to w istocie początkowy sektor zerowej ścieżki
(czyli najbardziej zewnętrznej tj. najdalej odsuniętej od środka) zerowej strony dysku. W
głównym rekordzie ładującym znajduje się ponadto program, którego zadaniem jest
przeglądnięcie tablicy partycji, odnalezienie w niej tzw. partycji aktywnej (zawsze jest taka
dokładnie jedna) i załadowanie systemu operacyjnego zgodnie z informacjami zapisanymi w
rekordzie ładującym tej partycji. Struktura tablicy partycji pokazana została na rysunku 9.20
(patrz niżej).
3
Pamięć (część 3)
W polach opisujących partycję oprócz pól z fizycznym i logicznym adresem początku i
fizycznym adresem końca oraz rozmiarem partycji znajduje się pole aktywności i pole rodzaju
partycji. Jak to już powiedziano, tylko jedna partycja na dysku zaznaczona jest jako aktywna i
własność ta zapisana jest właśnie w polu aktywności. Co się tyczy pola rodzaju, to jest to kod
liczbowy, pod którym kryją się takie informacje jak: rodzaj systemu operacyjnego, pod który
projektowana była partycja, jej maksymalny rozmiar, liczba bitów elementów tabeli FAT (patrz
dalej).
a) b)
Program odszukujÄ…cy i Å‚adujÄ…cy
zawartość pierwszego sektora
aktywnej partycji
Rekord opisu partycji nr 1 Znacznik aktywności partycji
Rekord opisu partycji nr 2 PoczÄ…tek partycji w formacie CHS
.... Rodzaj partycji
Rekord opisu partycji nr i Koniec partycji w formacie CHS
.... PoczÄ…tek partycji: numer logiczny
pierwszego sektora
Znacznik końca tablicy Rozmiar partycji: liczba sektorów
Rysunek 9.20. a) Format głównego rekordu ładującego, b) Format rekordu opisu partycji.
Struktura opisująca każdą partycję (nie mylić z rekordem opisu partycji) rozpoczyna się od
rekordu Å‚adujÄ…cego partycji (ang. partition boot record) i zawsze rozpoczyna siÄ™ od pierwszego
sektora początkowej ścieżki początkowej (zerowej) głowicy partycji. Na tej ścieżce zapisane są
kolejno następujące pola:
1. Rekord Å‚adujÄ…cy;
2. Tabela alokacji plików FAT #1;
3. Tabela alokacji plików FAT #2;
4. Katalog główny
W rekordzie Å‚adujÄ…cym zapisany jest program Å‚adujÄ…cy system operacyjny. Program taki jest
poszukiwany w efekcie wykonania procedury BIOSU zwanej Bootstrap Loader, dostępnej także
jako przerwanie BIOSu INT 13h. Jest ona wywoływana przy każdym starcie lub tzw. resecie
komputera.
Tabela alokacji plików (ang. file allocation table) FAT #1 oraz jej kopia FAT #2 zawierają
informacje o sposobie i miejscu przechowywania plików na dysku w ramach partycji. Zanim
omówimy strukturę FAT podamy dwie istotne informacje.
Pierwsza dotyczy pojęcia katalog (również podkatalog albo folder). Katalog grupuje pliki.
Ułatwia w ten sposób zarządzanie nimi. Fizycznie katalog też jest plikiem (ma nazwę, zajmuje
miejsce na dysku). Jego elementami są opisy plików należących do tego katalogu. Na opis pliku
składają się:
4
Pamięć (część 3)
Nazwa pliku;
Rozszerzenie nazwy pliku;
Atrybuty;
Czas utworzenia pliku;
Data utworzenia pliku;
Numer klastra poczÄ…tkowego;
Rozmiar pliku (w bajtach).
Warto zwrócić uwagę na pole atrybuty będące liczbowym kodem rodzaju pliku. Wśród
różnych, typowych dla plików atrybutów takich jak:  plik archiwalny ,  plik tylko do odczytu
czy  plik systemowy jest również atrybut  plik typu katalog , po którym można rozpoznać, że
mamy do czynienia właśnie z katalogiem.
InformacjÄ… numer dwa zwiÄ…zane jest z polem  numer klastra poczÄ…tkowego . Podstawowym
fragmentem dysku z punktu widzenia systemu operacyjnego jest tzw. klaster (ang. cluster)
nazywany również jednostka alokacji plików. Jego wielkość jest zawsze wielokrotnością sektora
(typowe wartości zawierają się od jednego do kilku  zawsze są to potęgi liczby 2). Klaster jest
najmniejszą częścią pliku, do której potrafi odwołać się system operacyjny. Dlatego jeżeli plik
zajmuje tylko część klastra, to jego reszta pozostaje niewykorzystana ponieważ zapis kolejnego
pliku rozpoczyna się zawsze od nowego klastra. Informacje o tym, które klastry zajmuje dany
plik znajdują się w tabeli FAT. Wyjątkiem jest pierwszy z zajmowanych przez plik klastrów,
którego numer zapisany jest opisie pliku znajdującym się w podkatalogu. Generalnie każdy
klaster ma odpowiadającą sobie pozycję w tabeli FAT  numer klastra jest jednocześnie
indeksem jego pozycji w tabeli. System operacyjny potrafi rozróżniać pozycje tabeli FAT
opisujące wolne klastry od pozycji zajętych. Jeżeli dochodzi do zapisania pliku system poszukuje
w tabeli FAT pierwszego wolnego miejsca i zapisuje jego numer w opisie pliku znajdujÄ…cym siÄ™
w podkatalogu. Jeżeli plik nie mieści się w znalezionym klastrze, to system poszukuje kolejnego
wolnego klastra i po znalezieniu wpisuje jego numer, jako zawartość pozycji odpowiadającej
pierwszemu klastrowi, w którym zapisano część pliku. Jeżeli i ten klaster nie wystarcza to
powtarza swoje postępowanie: szuka kolejnego wolnego klastra i po znalezieniu wpisuje jego
numer, jako zawartość pozycji odpowiadającej poprzednio znalezionemu klastrowi. Za którymś
razem reszta pliku zostaje zapisana do nowego klastra i wtedy, jako zawartość, wpisuje się do
niego sygnaturę końca pliku (dwa bajty równe FFFF). W ten sposób w tabeli FAT zapisany jest
ciąg numerów klastrów, z których poprzedni wskazuje na następny aż do sygnatury końca pliku.
Rysunek 9.21 (patrz niżej) pokazuje zawartość tabeli FAT z numerami klastrów dla
przykładowego pliku Dane.txt. Przekreślone prostokąty symbolizują zajętość pozycji 0, 1, 2 i 3.
Opisana procedura dotyczy również pliku typu katalog, przy czym numer pierwszego klastra
zapisywany jest w opisie katalogu będącym plikiem w katalogu nadrzędnym. Jak z tego wynika
pojemność tak zapisywanych katalogów jest ograniczona wyłącznie pojemnością dysku.
Katalog główny (czyli ciąg opisów zapisanych w nim plików łącznie z podkatalogami)
zapisany jest zawsze wyłącznie na pierwszej ścieżce partycji i w związku z tym nie podlega
rozszerzeniu. Wynika z tego, że liczność zapisanych w nim plików jest ograniczona i wynosi
512. Elementy tabeli FAT mogą być 16 albo 32-bitowe. Przy 16 bitach mamy 216 = 65 536
klastrów. Dla dysku 4,3 GB daje to klastry o pojemności 64KB. Ze względu na to, że
statystycznie tracimy ½ niewykorzystanego klastra na plik to może to skutkować sporymi
stratami niewykorzystanej powierzchni dyskowej. Zastosowanie FATów 32-bitowych zmniejsza
straty, ale wydłuża FAT.
5
Pamięć (część 3)
Opis pliku o nazwie Dane.txt w katalogu FAT
Dane txt & 4 & 0
1
3
4 23
Numer pierwszego klastry zajęte
klastra & przez inne
pliki
23 59
Znacznik końca &
pliku
59 FFFF
60
& &
Rysunek 9.21. Zapis numerów klastrów przykładowego pliku Dane.txt w tabeli FAT.
6


Wyszukiwarka

Podobne podstrony:
9w Pamiec 1 v01
9w Pamiec 2 v02
Sprawdź swoją pamięć A4
uczenie sie i pamiec
Zimowym rankiem w Edo pamięci 47 roninów
pamiec (3)
Lekcja 7 Trening pamieci to nie wszystko Zadbaj o swoja koncentracje

więcej podobnych podstron