|
Ez a fejezet a merevlemezekkel kapcsolatos szakkifejezések
használatába vezet be. természetesen ha már ismered a
szakkifejezéseket és a fogalmakat, átugorhatod ezt az alfejezetet.
Nézzük meg a 4.1. ábrát. Ezen egy merevlemez fontos
részeinek vázlatos rajzát láthatjuk. A merevlemez egy vagy több kör
alakú korongból (platter) áll.4.1 Ezen korongok egyik, vagy mindkettő
felülete (surface) egy mágneses tulajdonságokkal
rendelkező anyaggal van bevonva, mely az adatokat rögzíti. Mindegyik
felszínhez tartozik egy író-olvasó fej (read-write
head), amely megvizsgálja vagy módosítja a rögzített adatokat. A
korongok közös tengelyen forognak; tipikusan 3600 fordulat/perc
sebességgel, de a nagysebességű merevlemezek ennél gyorsabban. A fejek
a korongok sugarának irányában mozognak; és ez, valamint a forgás
kombinációja megengedi, hogy a fejek a felszín tetszőleges pontját
elérjék.
A processzor (CPU) és a lemez a lemez kontrolleren
(disk controller) kereszül kommunikálnak egymással. Ez
mentesíti a számítógép többi részét attől, hogy tudniuk kelljen,
hogyan kell a merevlemezzel kommunikálni, hisz a kontrollerek
segítségével az eltérő lemezek egy egységes felületen keresztül
érhetők el a számítógép többi része irányából. Ezért a számítógépnek
csak azt kell mondania, hogy ''Hé, lemez! Adsza amit akarok!'',
ahelyett, hogy egy hosszú és összetett elektromos jelsorozatot adna
le, ami a fejet a megfelelő pozícióba viszi, és megvárná, hogy a lemez
a megfelelő pozícióba fordul, stb. (Valójában a kontroller interfésze
még így is elég összetett, de sokkal kevésbé, mint a közvetlen
vezérlés lenne.) A kontrollernek lehetnek még további feladatai is,
pl. cache-selés, automatikus hibás szektor mozgatás.
A fenti hardverismeretek általban elégségesek a legtöbb ember
számára. Egy csomó más dolog is van még, mint pl. a motor, amely a
korongokat forgatja és mozgatja a fejeket, az elektronika, amely a
mechanikus részeket vezérli, de ezek általában nem tartoznak a
legfontosabb dolgok közé a merevlemez működésének alapszíntű
megértését illetően.
A felületek általában koncentrikus gyűrűkre, az úgynevezett
sávokra (track) vannak osztva, ezek pedig
szektorokra (sector) oszlanak. A felosztás a
merevlemezen való helymegadás és a lemezterület fájloknak történő
lefoglalásában játszik szerepet. A merevlemez egy helyének
meghatározásához mondhatjuk pl. hogy ''3. felület, 5. sáv, 7. szektor''. Általában a szektorok száma minden sávon azonos, de néhány
merevlemez több szektort helyez a külső sávokra, mert ott azonos
méretű szektorból több fér el. Általában egy szektor 512 bájtnyi
adatot tartalmaz. A lemez nem képes ennél kevesebb adatot kezelni.
4.1. ábra:
Egy merevlemez vázlatos ábrája.
|
Mindegyik felület azonos módon oszlik sávokra és szektorokra. Ez azt
jelenti, hogy amikor az egyik felülethez tartozó fej egy sávon van, a
többi felület fejei is az annak megfelelő sávon találhatók. Ezért az így
összetartozó sávokat együttesen cilindernek (cylinder)
nevezzük. Időbe telik, amíg a fejek egyik cilindertől a másikig
elérnek, ezért célszerű az összetartozó adatokat (mondjuk egy fájl
blokkjait) lehetőleg egy cilinderen elhelyezni, hogy ne kelljen ezen
adotok olvasása közben a fejet mozgatni. Ez javítja a
teljesítményt. Azonban nyilván nem mindig lehet így elhelyezni a
fájlokat. Azokat a fájlokat, melyeknek különböző részei több
cilinderen helyezkednek el, töredezettnek (fragmented)
nevezzük.
A felületek (illetve fejek), a cilinderek és a szektorok száma nagyon
változatos; ezen számok megadása jelenti a lemez
geometriájának definiálását. A geometria általában egy
speciális, elemről táplált memóriaelemben van tárolva, amit
CMOS RAM-nak nevezünk. Innét veszi az operációs rendszer a
meghajtóprogram inicializálásához szükséges információkat a
boot-oláskor.
Szerencsétlen módon a BIOS-nak4.2 tervezési korlátai vannak, ami lehetetlenné teszi
1024-nél nagyobb számú sáv megadását a CMOS RAM-ban, ez az érték pedig
általában kicsi a nagy merevlemezekhez. Ezt kikerülendő, a
merevlemezvezérlő hazudik a geometriával kapcsolatban és
címlefordítást végez olyan alakra, amit a számítógép el tud
fogadni. Például egy merevlemeznek lehet 8 feje, 2048 sávja és 35
szektora sávonként4.3. A
kontroller azt hazudhatja a számítógépnek, hogy 16 feje, 1024 sávja és
35 szektora van sávonként. Így nem haladja meg az 1024-es sávhatárt,
de le kell fordítania a számítógép által megadott adatokat: felezi a
fejszámot és duplázza a sávszámot. A számítások ennél bonyolultabbak
is lehetnek a gyakorlatban, mert, a számok nem mindig jönnek ki olyan
kerek értékre, mint a példában, de ezek a részletek nem fontosak az
alapelvek szempontjából.
Ez a fordítás eltorzítja az operációs rendszer látását a lemez
szervezésével kapcsolatban, így használhatatlanná teszi a ''minden
adat egy cilinderen'' sebességjavító trükköt.
A fordítás csak az IDE lemezek problémája. Az SCSI lemezek soros
szektorszámozást használnak, azaz a konroller egyetlen sorszámot
fordít ''fej, cilinder, szektor'' hármasra, és a CPU is teljesen
máshogyan kommunikál a kontrollerrel, így nem lép fel ez a
probléma. Azt azért megjegyezzük, hogy a számítógépnek egyátalán nem
is kell tudnia az SCSI lemezek valódi geometriájáról.
Mivel a Linux gyakran semmit sem ismer a lemez valódi geometriájából,
a fájlrendszerei nem is próbálják a fájlokat egy cilinderen belül
tartani. Ehelyett egymást követő sorszámú szektorokat próbálnak adni a
fájlok részeinek, ami majdnem mindig hasonló teljesítményt ad. Ezt a
kérdést tovább bonyolítja a kontoller beépített cache memóriája és az
automatikus előreolvasás esetleges megléte.
Mindegyik merevlemezt különálló eszközfájl jeleníti meg. Általában 2
vagy 4 IDE merevlemez lehet egy rendszerben. Ezek rendre a
/dev/hda , /dev/hdb , /dev/hdc , és /dev/hdd ,
eszközfájlokon keresztül érhetők el. Az SCSI merevlemezek eszközfájljai:
/dev/sda , /dev/sdb , stb. Hasonló elnevezési szokások
léteznek a többi merevlemez típusra is. A részletek
[Anv]-ben vanak leírva. Megjegyzendő, hogy a merevlemezek
eszközfájljai az egész lemezhez engedélyezik a hozzáférést, nem törődve a
partíciókkal (lásd lentebb), ezért könnyű a patíciókat és az adatokat
összezavarni, ha nem vagy óvatos. A lemezek eszközfájljait általában
csak a ''master boot record'' elérésére használják (lásd lentebb).
|