8. Jak pracuje disková paměť

Disky jsou nejobvyklejší formou trvalého ukládání dat. Jejich kapacita se pohybuje od několika set kilobyte až po několik gigabyte, všechny však mají určité prvky společné. Způsob jakým mechanika vytváří 1 nebo 0, může být odlišný, ale cílem je změnit mikroskopicky malé oblasti na povrchu disku tak, že určité oblasti představují 0 a jiné 1.

Jiným společným prvkem je schéma, které udává, jak jsou data na disku organizována. Toto schéma určuje operační systém počítače, kterým je na většině počítačů MS-DOS. Operační systém řídí tolik operací v počítači, že mnozí uživatelé zapomínají, že DOS je zkratkou od ”diskový operační systém”, a že jeho prvotní funkcí bylo řídit diskové mechaniky.

Předtím, než lze na disk zapsat jakoukoliv informaci, musí být disk nejprve formátován. Formátování vytvoří na disku jakousi cestovní mapu, která mechanice umožní ukládat a vyhledávat data řádným způsobem. Tato cestovní mapa obsahuje magnetické kódy, které jsou zabudovány do povrchové vrstvy, tak aby povrch disku rozdělily na sektory (kruhové výseče) a stopy (soustředné kružnice). Data pak lze zaznamenávat logickým způsobem a lze k nim rychle přistupovat pomocí hlaviček pro čtení/zápis, které se pohybují sem a tam nad otáčejícím se diskem. Počet sektorů a stop na disku udává kapacitu.

Poté, co je disk zformátován, je zápis nebo psaní i nejjednoduššího souboru složitým procesem, na jehož průběhu se podílí jak váš software, tak DOS, BIOS osobního počítače a mechanismus samotné diskové mechaniky. Operační systém musí umět najít na disku požadovaný soubor. Protože soubor může být rozprostřen do mnoha oddělených částí, musí existovat způsob, jak podržet informace o všech těchto částech. A musí existovat způsob, jak soubor vymazat a místo, které obsazoval, uvolnit pro uložení jiných souborů.

Zápis a čtení bitů na disku
1. Předtím, než dojde k zápisu jakýchkoliv dat na disk, jsou kovové částečky v tenké magnetické vrstvě, která povrch disku pokrývá, rozmístěny zcela náhodným způsobem, což je podobná situace jako u zvukových pásek nebo videopásek. Aby došlo k přeměně náhodně rozptýlených částeček na data, musí procházet proud vinutou cívkou, která je navinuta na železném jádru ve čtecí/zápisové hlavě diskové mechaniky. Hlava je umístěna nad povrchem disku. Elektřina mění jádro cívky na elektromagnet, který dokáže pohybovat molekulami v povrchové vrstvě disku.
2. Cívka prochází nad diskem a proud vinutím indukuje magnetické pole v jádru. Pole magnetizuje molekuly železa na povrchu disku a nutí je natočit své kladné póly směrem k zápornému pólu čtecí/zápisové hlavy a záporné póly ke kladnému pólu hlavy.
3. Poté, co hlava na otáčejícím se disku vytvoří jeden magnetický proužek, je další proužek vytvořen hned vedle. Tyto dva proužky společně představují nejmenší diskrétní prvek dat, se kterým může počítač pracovat - bit. Jestliže bit má prezentovat hodnotu 1, tak se po vytvoření prvního proužku proud v cívce převrátí, takže magnetické póly cívky si vymění místa a molekuly druhého proužku jsou seřazeny v opačném směru. Jestliže bit má mít hodnotu 0, jsou molekuly v obou proužcích seřazeny v témže směru.
4. Jakmile je uložen druhý bit, je polarita jeho prvního proužku vždy opačná než v proužku předcházejícím, aby se tak dalo najevo, že začíná nový bit. I ty nejpomalejší mechaniky potřebují na vytvoření každého pásku jen zlomek sekundy.
5. Při čtení se do čtecí/zápisové hlavy, která pluje nad diskem, nepouští žádný proud. Místo toho dochází k magneticky opačnému pochodu než je zápis. Proužky polarizovaných molekul na povrchu disku jsou samy o sobě slabými magnety, vytvářejí tedy magnetické pole, kterým prochází čtecí/zápisová hlava. Pohyb hlavy magnetickým polem indukuje elektrický proud, který prochází vinutím v hlavě jedním nebo druhým směrem. Směr proudu závisí na polaritě proužků. Zjištěním směru pohybu proudu se počítač dozví, zda čtecí/zápisová hlava prochází přes 1 nebo 0.
Formátování disku
1. První úlohou mechaniky je naformátovat disk, který má používat. Děje se to zápisem vzorku z nul a jedniček na povrch disku, jakýchsi magnetických značek. Vzorek rozdělí disk ve směru poloměru do sektorů a soustředných kruhů. Jak se čtecí/zápisová hlava pohybuje sem a tam nad otáčejícím se diskem, čte tyto magnetické značky, a zjišťuje, jaká je její poloha vzhledem k datům na povrchu disku.
2. Spojením dvou nebo více sektorů na jedné stopě vzniká skupina neboli blok (cluster, blok). Počet byte v jedné skupině se může lišit v závislosti na verzi systému DOS použité při formátování disku a na velikosti disku. Skupina je nejmenší jednotkou, kterou používá DOS pro ukládání informace. I když má soubor třeba jen jeden byte, použije se pro uložení souboru celá 256 bytová skupina. Počet sektorů a stop a tím pádem i počet skupin, které může mechanika vytvořit na disku, určuje kapacitu disku.
3. Mechanika vytvoří na začátku disku důležitou tabulku nazývanou FAT (file allocation table, tabulka umístění souborů). Tabulka FAT je místo, kam DOS ukládá informaci o struktuře adresáře disku a o tom které skupiny sektorů jsou použity pro uložení souborů. V novějších verzích systému DOS je identická kopie FAT uložena i na jiném místě pro případ, kdyby došlo k poškození dat v první tabulce FAT. Za normálních okolností nespatříte obsah žádné z tabulek FAT.
Zápis souboru na disk
1. Jakmile zadáním příkazu nebo pomocí myši způsobíte, že váš software bude chtít zapisovat soubor na disk, tak program, který používáte, zašle do systému DOS příkaz, požadující, aby systém provedl kroky nezbytné k uložení souboru na disk. V tomto příkladě předpokládáme, že pro uložení souboru se jménem DOPIS.TXT používáte textový editor.
2. Systém DOS změní strukturu adresáře uloženého ve FAT tak, aby obsahoval informaci o tom, že soubor se jménem DOPIS.TXT bude uložen do aktuálního adresáře (nebo jiného adresáře, pokud zadáte cestu k jinému adresáři).
3. Systém DOS rovněž v tabulce FAT zjišťuje číslo skupiny sektorů, do které může soubor uložit, aniž by došlo k přepsání jiných dat, která již na disk byla uložena. V našem případě je ve FAT uvedeno, že pro zápis dat je volná skupina číslo 3.
4. Z tabulky FAT systém DOS rovněž zjistí, že skupina 3 se skládá ze sektorů 2, 3, 4 a 5 na stopě 1. Systém DOS tuto informaci předá do systému BIOS počítače.
5. BIOS za software vykoná detailní činnosti spojené s uložením souboru. Z paměti RAM, používané editorem, získá data, která tvoří soubor DOPIS.TXT. V tutéž dobu vydá příkaz řadiči disku, aby uložil zaslaná data, do sektorů 2 až 5 na stopě 1.
6. Jestliže je soubor větší než počet byte obsažených v jedné skupině, požádá DOS tabulku FAT o udání polohy další skupiny sektorů, do které smí v ukládání souboru pokračovat. Skupiny sektorů na disku nemusí na sebe nutně vzájemně navazovat. Tabulka FAT obsahuje záznam o řetězu skupin sektorů, ve kterých je soubor uložen. Tento postup se opakuje tak dlouho, dokud systém DOS nenarazí na zvláštní kód, kterému říkáme příznak konce souboru.
7. Nakonec systém DOS sdělí tabulce FAT, aby označila skupiny, které obsahují DOPIS.TXT - aby později DOS poznal, že tylo skupiny jsou již použity.
Čtení souboru
1. Pokud pomocí příkazu nebo položky z menu vašeho software vyvoláte funkci pro přečtení souboru se jménem DOPIS.TXT, váš software předá příkaz a jméno souboru do systému DOS.
2. Systém DOS testuje v tabulce FAT, zdaaktuální adresář obsahuje DOPIS.TXT. (Když v něm není. a vy jste nezadali úplnou cestu do adresáře, sdělí DOS danému software, že soubor nemůže najít, načež software vypíše vlastní chybovou zprávu.)
3. Když systém DOS soubor DOPIS.TXT ve správném adresáři nalezne, dostane od tabulky FAT adresu první skupiny sektorů, která obsahuje začátek souboru a také adresu všech dalších skupin, které byly pro uložení souboru použity.
4. Systém DOS předá informaci o adresách do BIOS, kde dojde k vydání povelu do řadiče diskové mechaniky, aby čtecí/zápisové hlavy ve správném pořadí přesunoval do skupin sektorů, které obsahují soubor, a tak přečetl soubor od začátku do konce.
5. Mechanika odesílá data přečtená z disku přes BIOS, který je zapisuje do paměti RAM, kde je může dále zpracovat software.

Poznámka: když požádáte software nebo DOS o zrušení souboru, nejsou data tvořící soubor ve skutečnosti z disku vymazána. Místo toho DOS přepíše informaci v tabulce FAT o skupinách sektorů patřících souboru tak, aby bylo zřejmé, že je lze použít pro jiné soubory. Data zůstávají na disku zachována do doby než jsou přepsána, proto můžete často zachránit soubor, který jste vymazali omylem.