9w Pamiec 3

background image

Pamięć (część 3)

1

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

background image

Pamięć (część 3)

2

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.

background image

Pamięć (część 3)

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 (2

14

= 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).

background image

Pamięć (część 3)

4

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ę:



background image

Pamięć (część 3)

5

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 2

16

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

background image

Pamięć (część 3)

6

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.


Document Outline


Wyszukiwarka

Podobne podstrony:
9w Pamiec 2 v02
9w Pamiec 1 v01
03 Odświeżanie pamięci DRAMid 4244 ppt
wykład 12 pamięć
8 Dzięki za Pamięć
06 pamięć proceduralna schematy, skrypty, ramyid 6150 ppt
Pamięć
PAMIĘĆ 3
Architektura i organizacja komuterów W5 Pamięć wewnętrzna
Test Pamięci Wzrokowej Bentona2 3

więcej podobnych podstron