Obsah

Disk


Disk je rozdělenej na sektory.
U disket má sektor velikost 512 bajtú (200h).
U pevnejch diskú má 512 bajtú (200h).
U CD/DVD má velikost 2048 bajtú (800h).

Zpúsoby adresování sektoru na disku:

CHS (Cylinder, Head, Sector)

Jedná se o starší systém adresování disku, kerej se dneska používá už jen pro diskety.
Funguje jako trojrozměrná souřadnice:
Válec (cylinder, c) označuje vzdálenost od vnějšího okraje disku směrem doprostřed. Čísluje se od 0.
Hlava (head, h) označuje čtecí a zápisovou hlavu disku. Počítá se od 0.
Sektor (sector, s) je číslo sektoru pro danej válec a hlavu. První sektor má číslo 1.

U disket se místo válce (cylinder) říká stopa (track) a místo hlavy (head) se říká povrch (surface).

Disketa 1.44 MB má 80 stop na straně, 2 strany a 18 sektorú na stopě. 80 x 2 x 18 = 2880 sektorú, 2880 x 512 = 1474560 B (1440 KiB).
Sektory na disketě pak adresujeme jako c=0..79, h=0..1, s=1..18.


Gap3 je velikost mezery mezi sektorama.

DisketaCHSRychlost [KHz] Otáčky [/min]gap3gap3 format
5.25" 360 KB4029250300 2Ah50h
5.25" 360 v 1.24029300 3602Ah50h
5.25" 1.2 MB80215500 3601Bh54h
3.5" 720 KB8029250300 2Ah50h
3.5" 1.44 MB80218500 3001Bh6Ch
3.5" 2.88 MB802361000 3001Bh54h

Starší pevný disky
C, H i S jsou čísla od 0 do 255.
Disky mají maximálně 63 sektorú na stopě a maximálně 16 hlav, takže tenhle systém zvládal maximálně disky o velikosti 63 x 16 x 256 sektorú = 126 MiB.
Pro adresování větších diskú se nejdřív používal přepočet:
Disk se tvářil, jako by měl 256 hlav a 2 nejvyšší bity z čísla sektoru se počítaly jako bity 8 a 9 cylindru.
Takhle lze adresovat disky o velikosti 63 x 256 x 1024 = 8064 MiB.
Pro větší disky se používá systém LBA.

LBA (Logical Block Address)

Sektor se adresuje logickym číslem začínajícím od nuly. Skutečná geometrie disku je skrytá.
Existuje 28-bitová a 48-bitová verze.
LBA 28 dokáže adresovat maximálně 228 = 268435456 sektorú = 128 GiB.
LBA 48 dokáže adresovat až 248 = 281474976710656 sektorú = 128 PiB.


Organizace dat na disku

Floppy DiskHard DiskCD / DVD
Boot Sector & BPB
Filesystem
Master Boot Record & Partition Table
GPT?
Partition 0
 - Boot Sector & BPB
 - Filesystem
Partition 1?
 - Boot Sector & BPB
 - Filesystem
Partition 2?
 - Boot Sector & BPB
 - Filesystem
Partition 3?
 - Boot Sector & BPB
 - Filesystem
... Partition 127? (GPT)
CDFS (ISO 9660)

Master Boot Record & Partition Table

0446(1BEh) Master Boot Loader Code
44664 Partition Table
01Active? (80h = active (bootable), 0 = not active)
11Start Surface
21Start Sector (bits 6-7 = bits 8-9 of Cylinder)
31Start Cylinder (+ bits 6-7 of Sector)
41 Partition Type (typ partyšnu) (0xEE = GPT)
51End Surface
61End Sector (bits 6-7 = bits 8-9 of Cylinder)
71End Cylinder (+ bits 6-7 of Sector)
84Start of Partition - Logical Sector Number (začátek partyšnu)
124Partition Size in Sectors (velikost partyšnu)
* 4
51020AA55h (little endian) End of Sector Marker

Partition table zvládne disky o maximální velikosti 232 sektorú = 2 TiB. Větší disky používají GPT.

Boot Sector & BPB (BIOS Parameter Block)

OffsetSizeFATNTFS
03jmp MAIN
38OEM ID
112Sector Size in Bytes (512 = 0x200) - velikost sektoru v bajtech
131Cluster Size in Sectors - velikost klastru v sektorech
142Reserved Sectors - rezervovaný sektory 0
161Number of FATs (2) - počet FAT0
172Max Number of Files in the Root Directory
- maximální počet souború v kořenovym adresáři
0
192Disk Size in Sectors (FD only) - počet sektorú na disku0
211Media Descriptor - popisovač média
222Size of FAT in Sectors - velikost FAT v sektorech 0
242Sectors per Track - sektorú na stopě-
262Number of Surfaces - počet povrchú-
284Start Logical Sector Number - LBA začátku -
324Boot Loader Code (MAIN, 478 B) 0
364-
408Disk Size in Sectors - velikost disku v sektorech
488Cluster Number of $MFT - číslo klastru $MFT
568Cluster Number of $MFTMirr - číslo klastru $MFTMirr
641Bytes per MFT Record (-N = 2N) (0F6h = 1024)
- velikost MFT záznamu v bajtech
653-
681Clusters per Index Buffer - velikost Index Bufferu v klastrech
693-
728Volume Serial Number - sériový číslo disku
804-
84426Boot Loader Code (MAIN) - zavaděč systému
51020AA55h (little endian) End of Sector Marker