[© 2004   vrij te gebruiken, mits de bron wordt vermeld.]

HardDisk Drives (HDD's)

 

Deze pagina moet als aanvulling worden beschouwd op de informatie over diskcontrollers op de pagina over moederborden.

[ terug]

Wat is een harddisk en hoe werkt een harddisk

 

Met de term harddisk wordt een apparaat bedoeld met één, maar meestal meer, ronde spiegelglad gepolijste metalen schijven (platters) waarop magnetisch materiaal is aangebracht. De boven elkaar gepositioneerde schijven kunnen met hoge snelheid (4200/5400/7200/10000/15000 rpm) draaien rond een kogel-gelagerde (ball-bearing) as of een vloeistof gelagerde as (fluid bearing). Boven en onder elke platter is een lees/schrijf kop op een mechanische arm, van heel licht metaal, bevestigd, waardoor de lees/schrijf-kop heel snel (tot wel 50x per sec.) heen en weer tussen het midden en de buitenrand kan bewegen, aangedreven door een stappen-motor. Dit geheel, samen met de nodige elektronische componenten zit verpakt in een afgesloten metalen behuizing. Niet helemaal afgesloten. Een klein gaatje met een luchtfilter is op de harddisk aanwezig en moet voor de luchtdruk in de harddisk zorgen.

In combinatie met de draaibeweging van de platter kan de lees/schrijf kop elke positie (zowel boven als onder) van de platter bereiken. De lees/schrijfkop zweeft op een luchtfilm van slechts enkele nanometers dik boven de platter. Voldoende luchtdruk in de harddisk is essentieel om dit goed te laten werken.
 


 

 

Met hoge snelheid kan de schrijfkop magnetische deeltjes een richting geven, waardoor een groepje magnetische deeltjes (domain) een 1 of een 0 (een bit) kan voorstellen. Hoe groot zo'n groepje deeltjes (domain) is hangt af van de precisie van de lees/schrijfkop en de rotatiesnelheid van de disk.
Combinaties van 0-en en 1-en stellen volgens een vaste codering tekens voor. Deze tekens kunnen gewone letters, cijfers of leestekens voorstellen (gecodeerd volgens de ASCII-tabel), of het zijn instructies welke door de CPU moet kunnen worden verwerkt, of het zijn puntjes als onderdeel van een afbeelding, of een stukje van een geluidsfragment
Met 8 bits (1 byte) zijn 28 = 256 combinaties te maken, met 16 bits (16bit word) 216 = 65536
Een harddisk van b.v. 40GB kan 40 x 1024 x 1024 x 1024 bytes bevatten. In werkelijkheid nog wat minder, omdat er ook ruimte wordt gebruikt voor het indelen (partitioneren en formatteren) van de schijf. Dat is even veel als wat in ongeveer 1500 flinke boeken staat (dit is uiteraard een erg grove schatting).

Een harddisk is in een computer nodig voor het "onthouden" van informatie, want een computer kan in zijn eigen geheugen (het RAM; Random Access Memory) geen informatie vast houden als de PC wordt uitgezet. De magnetische deeltjes op een harddisk houden hun magnetische richting wel als de PC uit staat. De harddisk functioneert daarom als wat extern geheugen genoemd wordt, ook al is de harddisk in de PC ingebouwd. Gegevens worden in bestanden (files) op de harddisk opgeslagen onder een bepaalde naam, om deze bestanden ook weer terug te kunnen vinden.

Wordt de PC aan gezet dan wordt informatie van de harddisk gelezen om de PC te laten starten. Eerst wordt het besturingssysteem (Operating System=OS) gelezen en gestart en later kunnen andere bestanden worden gelezen en verwerkt door het besturingssysteem of door een andere applicatie (programma). Met applicaties kunnen nieuwe bestanden worden gemaakt, welke weer opgeslagen kunnen worden op de harddisk.

De capaciteit van de harddisk wordt meestal opgegeven in een aantal Gigabyte. Harddisk fabrikanten smokkelen evenwel met de opgegeven waarden. In plaats van de correcte waarde van 1024 voor Kilo te gebruiken, gebruiken fabrikanten meestal 1000 (de normale betekenis voor kilo). Door deze waarde te gebruiken komen fabrikanten altijd op een grotere capaciteit voor hun harddisks dan wat de capaciteit in werkelijkheid is.

  Opgegeven waarde Zou moeten zijn
1 Kilobyte 1000 Byte 1024 Byte
1 Megabyte 1.000.000 Byte 1024 KB = 1.048.576 Byte
1 Gigabyte 1.000.000.000 Byte 1024 MB = 1.073.741.824 Byte
  40 GB = 40.000.000.000 Byte 40.000.000.000 / 1.073.741.824 = 37,25 GB

(1024 wordt gebruikt i.p.v. 1000 omdat 1024 een "mooie" binaire waarde ( 210 ) is en er door computers altijd binair wordt gerekend)

 

[ begin pagina]

Wat bepaalt de snelheid van een harddisk

Rotatie snelheid

(Spin Speed)

De snelheid waarmee de platters ronddraaien. dat varieert van 4200 rotaties per minuut (RPM) tot 15.000 RPM. Hoe sneller de platters draaien, hoe sneller een lees/schrijfkop boven de gewenste positie kan komen. Echter, hogere spinsnelheden hebben meestal ook meer lawaai tot gevolg. Juist om dat lawaai tegen te gaan zijn sommige harddisks voorzien van een vloeistof gelagerde as, welke minder wrijving geeft, waardoor minder warmte en lawaai geproduceerd wordt.

sectoren per track

sectors/track

De platters van een harddisk zijn ingedeeld in tracks (cirkels) van een bepaalde breedte. De stappenmotor voor de arm met de lees/schrijfkop kan stappen maken welke overeenkomen met de breedte van zo'n cirkel. (Geel in de afbeelding).

Verder wordt de schijf in sectors (taartpunten) opgedeeld, zodat elke track bestaat uit een aantal stukjes (rood in de afbeelding). Dit zijn de kleinste eenheden welke door de harddisk kunnen worden benaderd. Op elke sector kunnen evenveel bytes geschreven worden (b.v. 512 bytes). Het lijkt alsof een sector op een buitenste track groter is, maar door de hogere snelheid aan de buitenzijde van een platter is de dichtheid van de bytes daar kleiner.

Een cluster is een bij elkaar horende groep sectoren. Of een besturingssysteem deelt de schijf in clusters in of de schijf doet dat.

De indeling in sectors en tracks gebeurt meestal in de fabriek door een z.g. low-level format. Het is noodzakelijk de mechanische specificaties van de schijf te kennen om zo'n low-level format uit te kunnen voeren.

De tracks welke boven elkaar liggen op de verschillende platters worden een cilinder genoemd

Draai vertraging

(Rotational Latency)

Dat is de tijd tussen het arriveren van de leeskop op de juiste positie en en tijd dat de te lezen byte onder die kop arriveert door de spin van de platters. Deze kan variëren van 0 s (de kop arriveert precies op het moment dat de gewenste byte ook arriveert) tot de tijdsduur voor een vrijwel volledige spin (de kop arriveert net te laat). De rotational latency wordt uitgedrukt in het gemiddelde en dat is dus de helft van de spin snelheid. Voor een 5400rpm disk is de latency 5,56 ms, voor een 7200rpm disk is dat 4,17 ms en alle 15000rpm disks 2,0 ms.

Gemiddelde Zoektijd

(Avarage Seek time)

Met de gemiddelde zoektijd, uitgedrukt in ms., wordt het gemiddelde opgegeven van de tijd welke de disk nodig heeft om de leeskop op de plaats van bestemming te krijgen. Dat is uiteraard afhankelijk van de positie welke de leeskop al had, en vandaar dat alleen een gemiddelde kan worden gebruikt.

Toegangstijd

(Access Time)

De som van de zoektijd en de rotational latency.

Ingebouwde cache

Harddisks zijn mechanische apparaten, terwijl de rest van de computer elektronisch werkt. Hiertussen zit er een enorm verschil in de snelheid. Mechanisch is altijd een flink stuk trager. Daarom wordt in de harddisk elektronisch geheugen (cache) ingebouwd. Samen met de nodige intelligentie wordt data van de platters ingelezen in het cache geheugen, zodat vervolgens de data elektronisch (met hoge snelheid) kan worden doorgegeven aan de computer. De ingebouwde intelligentie zit in het slim vooruit lezen van de disk (wat waarschijnlijk daarna opgevraagd gaat worden) en dit alvast in de cache te plaatsen.

Data doorvoersnelheid

(transfer rate)

(data rate)

Met de data doorvoersnelheid wordt opgegeven hoeveel bytes per seconde de harddisk kan doorgeven aan de CPU. Waardes van 5 tot 50 Mb/s zijn normaal.
Er kan evenwel ook verschil gemaakt worden tussen de interne en de externe doorvoersnelheid.
De interne data rate was bij de oudere schijven een belangrijke factor, bij de moderne schijven evenwel is die snelheid veel hoger dan de externe data rate, waardoor de externe data rate veel meer zegt over de prestaties van een disk dan de interne data rate.
De externe data rate is de snelheid waarmee de disk data vanuit zijn buffergeheugen kan sturen naar de PC. Deze snelheid hoort bij de gebruikte interface waarmee de harddisk is aangesloten aan de PC (ATA-66, ATA-100, ATA-133). De meeste disks komen niet boven de ATA66 uit. De interface zou veel sneller moeten zijn, omdat meestal meerdere apparaten van dezelfde interface gebruik moeten kunnen maken.

[ begin pagina]

Verschillende soorten disks

 

PATA (Parallel ATA) of IDE-disks

 

Hiermee worden de "normale" IDE disks aangegeven welke op de IDE-interfaces van het moederbord kunnen worden aangesloten. Op elke IDE interface kunnen via een flatcable (40-pins of 80-pins) 2 apparaten worden aangesloten.

De meeste moederborden hebben 2 IDE-aansluitingen, een primaire en een secundaire IDE-aansluiting. Het totaal aantal disks wat hierdoor kan worden aangesloten is daardoor vier.

Bij het aansluiten van 2 disks op één kabel is één disk de master en de andere disk de slave. Dit wordt door jumpers op de harddisk aangegeven. Als met een jumper cable-select wordt gebruikt, bepaalt de plaats op de kabel of het de master of de slave is.

De schijf waarmee kan worden geboot is over het algemeen de master, aangesloten op de primaire IDE-interface van het moederbord.

Via een extra disk-controller kunnen eventueel meer disk worden aangesloten. Via een IDE-RAID-controller kunnen disks ook op een bijzondere manier in een systeem gebruikt worden. Afhankelijk van de controller wordt dan bijvoorbeeld RAID0, RAID1, RAID5, RAID0+1 en/of RAID1+0 ondersteund. Hoeveel schijven daarvoor gebruikt kunnen worden hangt dan weer af van het aantal IDE-aansluitingen op de RAID-controller. Een IDE-apparaat heeft een ingebouwde controller, welke voor de communicatie met de disk zorgt. De aansluiting op het moederbord en de disk-controller welke hierboven werd genoemd zijn de aansluitingen op het systeem. Men kan daarom beter spreken van een disk-interface-controller, welke alleen als interface tussen de diverse onderdelen functioneert.

 

Parallel ATA geeft aan dat data met 16 bits parallel (tegelijk) wordt verplaatst. Vandaar dat de benodigde kabel zo breed is. Vanaf UDMA2 is een 80-polige flatcable nodig voor het aansluiten van de disk. Er zijn tegenwoordig ook ronde kabels, welke wel dezelfde grote connectoren hebben, maar waarbij de luchtstroom in de systeemkast minder gehinderd wordt door de brede kabels. En dat is weer belangrijk voor een goede koeling.

 

Er zijn op dit moment verschillende soorten PATA-harddisks met verschil in formaat, capaciteit, spinsnelheid en cachegrootte.

 

Formaat

De standaard afmeting voor een IDE-harddisk is 3,5 inch. Hiermee wordt de breedte aangegeven.

Voor notebooks werd over het algemeen een 2,5 inch harddisk gebruikt (ongeveer 1 cm dik), maar met de opkomst van allerlei portable apparatuur, welke steeds kleiner en compacter moet, zijn kleinere harddisk ook op de markt gekomen. Toshiba wint daar op dit moment mee, met een 0,85 inch harddisk (het formaat van een postzegel) met een capaciteit van 4 GB en een gewicht van minder dan 10 gram. Toshiba produceert ook 1,8 inch harddisks, dus de helft van een "gewone" disk.

 

Capaciteit

Terwijl de hele IT-wereld zich netjes houdt aan de afspraak dat 1 GB 1024 MB is en 1 MB 1024 KB, enz., lijken de harddiskproducenten daar niet aan mee te doen. Veel harddiskproducenten definiëren 1GB als 1.000.000.000 bytes. Hierdoor wordt de diskcapaciteit weergegeven met een groter getal dan zou moeten. Een disk met een door de fabrikant opgegeven capaciteit van 40GB is daardoor in werkelijkheid maar 37,25GB.

Capaciteiten van 20 GB t/m 250 GB zijn op dit moment normaal. Maar de eerste disk met 1 TB (1000 GB) is er ook al.

 

Spinsnelheid

De draaisnelheid of spinsnelheid wordt uitgedrukt in een aantal rotaties per minuut (RPM). Een hogere spinsnelheid zorgt voor een betere toegangstijd, maar tegelijk ook voor meer lawaai. Omdat het geluidsniveau van een PC voor veel eindgebruikers een steeds belangrijkere factor wordt, hebben fabrikanten daar iets aan gedaan door de as te lageren met een vloeistof in plaats van met kogeltjes. Dat heeft minder warmteontwikkeling en een verbetering van het geluidsniveau tot gevolg.

Standaard 3,5" IDE disks zijn er nu in twee snelheden 5400 RPM en 7200 RPM. De 5400 is over het algemeen wat langzamer, maar stiller.

Sommige kleine harddisks voor laptops zijn er met nog lagere snelheid, in verband met het daarbij horende lagere stroomverbruik.

 

Cache grootte

De cache is de geheugenbuffer waar de disk zelf over kan beschikken. Via de ingebouwde elektronica en bijbehorende software wordt deze buffer gebruikt om "slim" vooruit te lezen vanaf de platters. Als vervolgens om deze data gevraagd wordt, dan kan deze data vanuit de buffer worden aangeleverd, wat een forse toename in de snelheid betekend. Meer cache is daarom over het algemeen beter. Echter, het slim gebruik van de cache is daarbij wel cruciaal.

Op dit moment zijn schijven met 2 MB en met 8 MB cache gangbaar.

 

Andere specificaties welke een rol kunnen spelen.

Interface Gangbaar is nu ATA6 en ATA7
bytes per sector Vrijwel altijd 512 bytes
Track to track speed Uitgedrukt in miliseconden moet dit zo laag mogelijk zijn (1 - 3 ms)
Drive ready time Uitgedrukt in seconden geeft dat de tijd welke nodig is voor de disk om op snelheid te komen (opspinnen).
MTBF Mean Time Between Failure. Dat geeft de gemiddelde tijd aan voor een disk defect raakt. Wordt bijvoorbeeld uitgedrukt in POH. (Power On Hour; hoger is beter)
Component design life Verwachte levensduur van de componenten.
Geluidsniveau Uitgedrukt in dB (DeciBel) of Bel. (Minder is beter)
Werkbare hoogte Dit geeft aan op welke hoogte de disk bruikbaar is. Op grote hoogte is een disk onbruikbaar omdat de luchtdruk dan niet groot genoeg is. In tegenstelling tot wat vaak wordt beweerd, is een disk niet hermetisch afgesloten. Er zit een klein gaatje in de behuizing van de disk waar gefilterde lucht door kan. Dit is nodig voor het luchtlaagje waar de lees/schrijfkop op moet kunnen zweven.
spin-up current Over het algemeen verbruikt een harddisk tijdens het opstarten meer stroom dan tijdens de normale werking
stroomverbruik Voor laptops een belangrijke factor, want dat beïnvloed de tijdsduur waarin met een accu kan worden gewerkt. Naast operationeel stroomverbruik is het standby en sleep stroomverbruik belangrijk.
afmetingen en gewicht De standaard breedte van 3,5 of 2,5 of 1,8 inch legt de andere afmetingen nog niet vast. Op dit moment is de tendens de disks vooral voor laptops steeds platter te maken.

Voor een laptop speelt het gewicht natuurlijk ook een rol.

 

Ondanks het feit dat de specificaties van sommige disks van verschillende fabrikanten vrijwel hetzelfde kunnen zijn, betekent dat niet dat ze ook hetzelfde zullen presteren. Vandaar dat het bij een keuze voor een harddisk raadzaam is vakbladen bij te houden of het Internet te raadplegen om tests te lezen. Vrijwel alle hardware wordt wel door iemand getest, waarna de resultaten gepubliceerd worden.

 

Let bij de specificaties op of het om MB of Mb gaat. MB = Megabyte en Mb is Megabit. Daar zit een factor 8 verschil tussen. Bij gebruik van Mb moet gedeeld worden door 8 om op MB's te komen.

 

Een andere belangrijke factor is de prijs per megabyte. De prestatieverschillen zijn meestal niet heel groot (! als ze relatief worden bekeken !), de prijs kan dan een veel belangrijkere factor zijn.

 

Ten slotte is de garantietermijn belangrijk. Enige tijd terug brachten een paar fabrikanten die termijn op 1 jaar, terwijl dat altijd 3 jaar is geweest. De concurrentie volgde al snel. Gelukkig hebben de meeste fabrikanten dit weer op 3 jaar gebracht.

 

[ begin pagina]

SATA

 

Voor Serial ATA harddisk gelden veel van dezelfde zaken als voor parallel ATA. Alleen de wijze waarop data wordt getransporteerd en de wijze waarop de disk moet worden aangesloten is anders.

De data-bits wordt bij SATA niet parallel, maar na elkaar verplaatst. Dat kan met veel hogere snelheid omdat bij parallel versturen tijd verloren gaat om de tegelijk verstuurde bits synchroon te houden (De bij elkaar horende bits moeten bij elkaar gehouden worden). (SATA gebruikt LVDS)

De snelheid van 150 MB/s is (1,5Gbps) evenwel nog niet veel groter dan de snelheid van een PATA UDMA6 disk met 133 MB/s. Vooral omdat schijven die doorvoersnelheid meestal niet halen door allerlei overhead en omdat de snelheid ook bepaald wordt door de overige componenten in het systeem. Dat zou eventueel anders kunnen worden als SATA II de doorvoersnelheid verdubbelt

Inmiddels zijn er al verschillende SATA specificaties:

SATA 1.0a (feb 2003)
SATA II

Revisie 1.1 van SATA 1.0a (nov 2003)

20 april 2004: SATA specs voor 3Gbps (300 MB/s) gepubliceerd.

 

De meeste SATA-disks zijn 7200 RPM disks en hebben 8 MB cache. De capaciteiten welke nu goed beschikbaar zijn variëren van 80 GB tot 250 GB.

 

Een heel fraaie uitzondering is de Western Digital Raptor. Deze disks, in de capaciteiten 36 GB en 74 GB draaien met 10000 RPM en zijn geoptimaliseerd voor continue gebruik. Hierdoor erg geschikt voor servers. Alleen de prijs is wat minder aangenaam (2 tot 3 keer duurder dan een "normale" SATA disk.

[ begin pagina]

SCSI

Vanwege de vele in gebruik zijnde verschillende SCSI-interfaces, zijn er ook veel verschillende SCSI-harddisks. SCSI-apparaten zijn over het algemeen ontworpen voor continue gebruik met hoge prestaties en de daarbij horende hoge prijs. Daarom worden SCSI-apparaten over het algemeen alleen gebruikt in servers en in de z.g. high-end werkstations.

 

Bij de keus voor een SCSI-harddisk zijn de volgende factoren van belang, welke deels ook zullen afhangen van de gebruikte SCSI-hostcontroller.

Transmissietechniek

LVD of normaal. Low Voltage Differential Signaling wordt tegenwoordig bij vrijwel alle disks toegepast

RPM

10.000 of 15.000 RPM

Interface

Ultra-320, Ultra-160

Connectortype

68-pins, 80-pins SCA, of FCAL fibre

68-pins De standaard data-aansluiting voor SCSI-3, Ultra2W, U160, U320 en LVD toepassingen.
80-pins SCA De Single Connector Attachment is een 80-pins aansluiting voor hot-swappable harddisks, waarbij de voedingskabel-aansluiting is geïntegreerd met de datakabel-aansluiting.
FCAL fibre Fibre Channel Arbitrated Loop. Een methode waarbij een zeer groot aantal (tot 127) disks op glasvezel-netwerk kunnen worden aangesloten. Wordt in serveromgevingen gebruikt voor het aansluiten van externe opslagapparatuur in een z.g. SAN (Storage Area Networks). Zie netwerken.
Capaciteit 18GB, 36GB, 73GB, 147GB Deze van IDE afwijkende capaciteiten zijn normaal voor SCSI-harddisks
Merk
Fabrikant Huidig type SCSI-disks
Maxtor Atlas
Seagate Cheetah
Fujitsu geen speciale naam
Hitachi Ultrastar
garantietermijn Vrijwel alle SCSI-harddisk hebben een garantietermijn van 5 jaar
overige UIteraard hebben SCSI-disks ook specificaties over de snelheid, stroomverbruik en levensduur welke kunnen worden meegenomen bij een keus.

[ begin pagina]

BIOS instellingen

 

Voor IDE/ATA disks (zowel PATA als SATA) geldt dat het BIOS moet weten wat voor harddisks zijn aangesloten op het systeem, omdat in veel gevallen het BIOS wordt gebruikt om de disk te lezen en te beschrijven, hoewel de nieuwere OS-en de disk buiten de BIOS om benaderen. Voor compatibiliteit met oudere OS-en moet de disk nog steeds via de BIOS benaderbaar blijven.

De huidige BIOS-en en IDE-disks kunnen onderling communiceren, en worden door auto-detectie de disk specificaties aan het BIOS gemeld, waarna deze de disk parameters kan opslaan in het CMOS. Vroeger moesten de parameter van een disk met de hand in de BIOS worden ingevoerd, maar met de omvang voor disks van tegenwoordig zouden de geometrie-parameters van een disk voor problemen zorgen. Bij een handmatige auto-detectie van de parameters geeft een BIOS vaak verschillende waarden aan: CHS-mode, Large-mode en LBA-mode. (Lees verder voor uitleg). Het zal van het te gebruiken OS afhangen welke instelling gekozen moet worden. Novell Netware wil b.v. de CHS-mode, Windows gebruikt LBA-mode.

In het algemeen hoeft voor een huidig systeem niets meer ingesteld te worden. De dynamische auto-detectie regelt alles. Bij het opstarten van de PC wordt de schijf gedetecteerd, en het BIOS past het CMOS aan. In het BIOS zijn de harddisk gespecificeerd als "AUTO".

De parameters welke een disk doorgeeft aan het BIOS kunnen zijn:

Disk Type Dit werd vroeger gebruikt om een van te voren gedefinieerde disk te kunnen selecteren, waarna de overige parameter automatisch werden ingevuld.
Grootte De grootte van de disk in decimale megabytes. Deze wordt berekend.
Cilinders Het aantal logische cilinders. Dit is een vertaalde waarde. De werkelijke waarde voor de huidige generatie disks zou een veel te grote waarde zijn, welke niet door de BIOS kan worden opgeslagen.
Koppen (Heads) Het aantal logische heads. Ook weer meestal een vertaalde waarde
Sectors Is meestal 63. En geeft dus 63 sectoren van 512 bytes per track aan.
Landing Zone De cilinder waar de koppen boven geparkeerd worden als de drive uit gezet wordt. Hoeft tegenwoordig niet meer gespecificeerd te worden, omdat de disk dat automatisch doet.
Translation Mode Welke translation mode gebruikt wordt (lees verder).
Block Mode Specificeert de mogelijkheid voor de BIOS om blokken data te manipuleren.
PIO of DMA mode De methode waarop de disk kan communiceren met het systeem
32bit translation mode Specificeert een zeer snelle methode van data transfer met b.v. moderne OS-en.

 

De Programmed I/O (PIO) mode is de oudste techniek waarbij de CPU data uitwisselt met de met een disk. In de loop van de tijd hebben zich de volgende ontwikkelingen voorgedaan:

 

PIO mode Gedefinieerd door Cycle Time (ns) Data transfer rate MB/s
Mode 0 ATA 600 3.3
Mode 1 ATA 383 5.2
Mode 2 ATA 240 8.3
Mode 3 ATA2 180 11.1
Mode 4 ATA2 120 16.7

De Cycle Time geeft de tijdsduur aan voor elke transactie, en dit definieert de PIO-mode. Hiermee wordt de maximale externe data doorvoersnelheid naar de interface aangegeven. Niet de interne data rate.

PIO-mode wordt voor de huidige generatie disk niet meer gebruikt. Deze is opgevolgd door de snellere Ultra DMA mode 2. PIO gebruikt de CPU voor de uitwisseling van data tussen de disk en het geheugen (RAM).

 

DMA (Direct Memory Access) heeft de CPU hiervoor niet nodig, maar kan direct zelf data uitwisselen met het RAM. Dat werkt sneller, houdt de CPU niet op en is daardoor veel efficiënter. Er zijn in principe twee soorten. Het ernstig verouderde third-party DMA, waarbij een aparte DMA-controller (de derde party) werd gebruikt en first-party DMA, waarbij het apparaat zelf, zonder tussenkomst van een controller, data kan uitwisselen met het RAM. Het apparaat neemt hiervoor de controle over de bus op zich. Dit wordt meestal Bus Mastering genoemd. De DMA-controller in het systeem of de CPU zijn hiervoor niet nodig. Hiervoor is wel de PCI-bus nodig.

 

DMA mode Gedefinieerd door Cycle Time (ns) Data transfer rate MB/s

Single word Mode 0

ATA 960 2.1

Multi word Mode 0

ATA 480 4.2

Single word Mode 1

ATA 480 4.2

Multi word Mode 1

ATA 150 13.3

Single word Mode 2

ATA2 240 8.3

Multi word Mode 2

ATA2 120 16.7

Bij single word DMA wordt één word (=2 bytes / 16 bits is de busbreedte voor IDE/ATA) per transactie verplaatst. Deze werd al snel opgevolgd door multi-word transacties

De uiterst inefficiënte single word modes werden uiteindelijk zelfs volledig verwijderd uit de ATA3 standaard.

 

 

Bus Mastering DMA is eigenlijk nooit goed van de grond gekomen. Het werd slecht ondersteund (Windows 95 ondersteunde het niet), drivers gaven veel problemen, enz.. Dit kwam vooral omdat de winst in snelheid erg gering was.

Dat werd anders toen Ultra DMA 2 de data doorvoersnelheid verdubbelde, opgevolgd door steeds snellere versies.

UDMA mode Gedefinieerd door Cycle Time (ns) Data transfer rate MB/s
UDMA0 ATA /ATAPI-4 240 16,7
UDMA1 / ATA /ATAPI-4 160 25.0
UDMA2 / UltraATA33 ATA /ATAPI-4 120 33,3
UDMA3 ATA /ATAPI-5 90 44,4
UDMA4 / UDMA66 / ATA66 ATA /ATAPI-5 60 66,7
UDMA5 / UDMA100 / ATA100 ATA /ATAPI-6 40 100,0
UDMA6 / UDMA133 / ATA133 ATA /ATAPI-7 30 133,3

Tegenwoordig is UDMA de standaard voor drives. Alleen UDMA2, 4, 5 en 6 zijn voor harddisks gebruikt.

De snelheidswinst naar 33MB/s werd bereikt door het aantal transfers per klokcyclus te verdubbelen. De latere modes hebben ook de kloksnelheid van de bus verhoogd. Voor het verdubbelen van de transfers, moest evenwel de kabel verbreed worden. De 40-polige kabel moet daarom vervangen worden door een 80-polige.

Om UDMA2 (of hoger) te laten werken op de dubbele snelheid, moeten alle componenten meedoen. De disk, de kabel (80-polig), de controller, het BIOS en het OS.

 

De 32-bit access of 32-bit transfers in het BIOS zorgen dat een diskcontroller twee 16-bit words in één transfer kan verplaatsen. Dit kan dankzij de 32-bit PCI-bus, welke standaard gebruikt wordt. De ATA/IDE interface specificeert echter een 16-bit bus, dus communicatie tussen een 32-bit PCI diskcontroller en een 16-bit IDE apparaat zou de helft van de capaciteit van de IDE-bus niet benutten. Er zijn evenwel ook genoeg BIOS-en welke deze optie gewoon standaard aanzetten.

 

Block mode is een optie waarbij via de ATA-interface via één Interrupt-aanroep tot soms wel 32 sectoren in één keer kunnen worden verplaatst, zonder de normale overhead welke nodig is om die sectoren één voor één te verplaatsen.

 

S.M.A.R.T.

Als een disk dat ondersteunt, dan kan in de BIOS S.M.A.R.T. (of SMART; Self Monitoring, Analyses and Reporting Technology) aan gezet worden. Dat heeft tot gevolg dat het systeem de harddisk in de gaten kan houden, en bijvoorbeeld kan waarschuwen als een harddisk problemen lijkt te krijgen. De harddisk meldt problemen aan het BIOS. Ondersteunt het BIOS die meldingen, dan kan de gebruiker van de PC een melding krijgen.

SMART is een ATA2 standaard.

[ begin pagina]

Operating System

Een Operating System (OS) of besturingssysteem is een programma wat voor de communicatie tussen de gebruiker en het computersysteem zorgt en de controle en het beheer van de aanwezige hardware heeft.

Er zijn grofweg twee soorten:

  • een OS voor een eindgebruiker
  • een OS voor Servers

Een OS voor een eindgebruiker geeft de PC gebruiker de mogelijkheid programma's uit te voeren. Die mogelijkheid wordt geboden via een gebruikers interface. Een gebruikersinterface is is het "uiterlijk" van het OS, en bepaalt op welke manier de gebruikers programma's kunnen starten.

De commandline interface geeft de gebruiker de mogelijkheid alle opdrachten in te type op een regel, waarna door de opdracht uitgevoerd zal worden als op de <Enter>toets gedrukt wordt. (B.v. MSDOS, Linux, Unix))

De grafische gebruikers interface (GUI = Graphical User Interface) geeft de gebruiker de mogelijkheid commando's te geven door op plaatjes (icons) te klikken met een muis. (Windows, Macintosch).

 

Een OS voor een server bestuurt de server en heeft extra functionaliteit om bijzondere taken uit te voeren, zoals het beschikbaar maken van centraal opgeslagen informatie.

 

Het OS bestuurt letterlijk het systeem en is daarom het programma wat als eerste wordt gestart. In de context van deze pagina moet het OS dus als eerste van de disk worden gelezen en de controle over het systeem krijgen. Het OS bepaalt ook de wijze waarop informatie op de disks wordt opgeslagen. Hiertoe gebruikt het OS een filesystem (bestandssysteem), wat er tijdens het formatteren op wordt geplaatst. Voordat het filesysteem op de disks kan worden geplaatst, moet de disk worden ingedeeld op een voor het OS werkbare manier (partitioneren).

 

Diverse OS-en
OS Voor desktops (eindgebruikers) Voor Server Hosts command-line GUI
MS-DOS (t/m versie 7) X   X  
PC-DOS X   X  
Windows (t/m versie 3.11 =Windows for Workgroups) X     X
Windows (95/95OSR2/98/98SE/ME X   X X
LAN Manager   X X X
Windows NT (t/m 4.0) X X X X
Windows 2000 (Server en Pro) X X X X
Windows XP (Home en Pro) X   X X
Windows Server 2003   X X X
Windows CE voor PDA's     X
OS/2 X     X
(GNU/)Linux (o.a. Distributions Red Hat, SuSE, Mandrake, Debian, Linspire, Slackware, Gentoo, MontaVista, enz.)

(X)

soms

X X

X

(XWindows)

UNIX (o.a. SCO, (Free/Open/Net) BSD, Xenix, SystemV R4, POSIX, AIX, HP-UX, Solaris, Tru64, A/UX, enz.)   X X

 

Netware (t/m versie 7.0)   X X

X

(latere versies)

Max OS (t/m versie 10 = OS X) X     X
Cisco IOS   voor routers X  
enz. enz. enz.        

[ begin pagina]

Een disk indelen (partitoneren)

Voordat een disk gebruikt kan worden moet de schijf worden gepartitioneerd en vervolgens geformatteerd. Onderstaand verhaal is toegespitst op de Microsoft besturingssystemen.

Partitioneren bevat complexe aspecten. Getracht is hieronder het verhaal eenvoudig te houden. Gebruik de volgende link voor geavanceerde informatie over partitioneren.

[ begin pagina]
Partitioneren 

 

Een schijf kan worden ingedeeld in verschillende partities (of volumes), welke benaderbaar zijn met een drive-letter, alsof het een aparte disk is. Een besturingssysteem heeft een partitie nodig om deze te kunnen formatteren. Bij dit formatteren wordt een filesystem (bestandssysteem) op de schijf geplaatst. Een filesystem bepaalt de wijze waarop bestanden op de schijf worden geplaatst, en hoe wordt bijgehouden waar die bestanden staan. Ook bepaalt het bestandssysteem hoe de bestanden mogen heten.

Vanuit DOS wordt gepartitioneerd met het DOS-programma FDISK.EXE. Bij XP wordt dat gedaan met Disk Management (Schijf Beheer) in Computer Management (Computer Beheer), een onderdeel van de Administrative Tools (Beheer tools) of met de command-line utility Diskpart.exe. Het initiële partitioneren gebeurt meestal tijdens de installatie van het OS (Operating System / besturingssysteem).

Sommige OS-en (besturingssystemen) kennen beperkingen in de maximale omvang van een partitie welke voor een bepaald filesysteem gebruikt kan worden. Het door het OS te gebruiken filesystem bepaalt dan ook vaak de wijze van partitioneren. 

Een andere belangrijke factor is de clustergrootte. Deze is afhankelijk van de partitiegrootte in combinatie met het te gebruiken filesystem. Een cluster is een groepje sectoren welke door het filesystem als kleinst benaderbare eenheid wordt beschouwd. Elke cluster heeft per partitie een vaste grootte. Clustergroote varieert van bijv. 0,5KB tot 64KB. Voor veel kleine files zijn kleine clusters economischer, want een 1KB file op een disk met 64KB-volume, gebruikt toch een volledig cluster, waardoor dus 63KB ruimte niet benut kan worden. Voor veel grote files zijn grote clusters gunstiger. Hierdoor zijn minder verwijzigen nodig op de disk waar het bestand staat. Daardoor wordt een groot bestand sneller en efficiënter opgeslagen en teruggelezen.

 

OS Maximum FAT Maximum FAT32 Maximum NTFS
MS DOS 2 GB n.v.t. n.v.t.
MS Windows 95a 2 GB n.v.t n.v.t.
MS Windows 95 OSR2/98/ME 2 GB 127,5 GB n.v.t.
MS Windows ME 2 GB ± 2 TB (theoretisch meer) n.v.t.
MS Windows NT 4.0 4 GB n.v.t.  
MS Windows 2000 4 GB 32 GB 232 clusters - 1 cluster (*)
MS Windows XP 4 GB 32 GB 232 clusters - 1 cluster (*)

(*) 232 is een implementatie waarde. Theoretisch kan dit 264 clusters - 1 cluster zijn. Clustergroottes kunnen variëren, waardoor de maximale volumegrootte ook kan variëren.  

 

Basic- en Dynamic disks

Microsoft heeft voor zijn laatste OS-en (vanaf Windows 2000) een nieuwe methode van partitioneren geïntroduceerd. Disks welke op deze wijze worden gepartitioneerd worden Dynamic Disks genoemd in het OS. Een disk welke op de oude methode is gepartitioneerd heet een Basic Disk. Een dynamic disk bevat feitelijk één partitie, waarop volumes worden aangemaakt. Elk volume ziet er uit als een basic partition. Alleen het Systeemvolume en het Bootvolume (als ze niet hetzelfde zijn) worden als aparte partities in de MBR opgenomen.

Het systeemvolume is de partitie waarmee het systeem (de computer) opstart. Het bootvolume is de partitie met de software om het besturingssysteem op te starten (standaard de partitie met de map \windows of \winnt ). Dit is Microsoft terminologie en een beetje krom. Het systeem boot immers van wat Microsoft de systeempartitie noemt en het besturingssysteem staat op wat Microsoft de bootpartitie noemt.

Dynamic Disks hebben meer mogelijkheden op het gebied van partitioneren: vergroten van volumes, disk-ruimte van een andere disk toevoegen aan een bestaand volume, softwarematige RAID-volumes (RAID 0,  1 en 5, maar alleen onder de Server-software van Microsoft), enz.. Om de extra functionaliteit op het gebied van partities/volumes in Windows 2000, Windows XP en Windows Server 2003 te kunnen benutten, moet een basic disk geconverteerd worden naar een dynamic disk.

Basic disks kunnen worden geconverteerd naar Dynamic met behoud van data. Andersom niet. Dat kan alleen door de disk volledig te wissen en nieuwe (basic) partities aan te maken.

 

[Waarschuwing: Tot hier bevat deze pagina welke over het algemeen voldoende is voor de meeste gebruikers. Het volgende deel over partitioneren gaat erg diep op de materie in en is daarom niet echt geschikt leesvoer voor een beginner. Het kan zonder problemen worden overgeslagen.]

[ begin pagina]

 

MBR (Master Boot Record)

Bij het partitioneren wordt een partitietabel gemaakt. Oorspronkelijk ontworpen voor de IBM-PC in het eind van de 80-er jaren wordt een disk met zo'n standaard partitietabel een MBR-disk genoemd. MBR staat voor Master Boot Record. In het MBR staat vanaf welke partitie het OS moet starten (booten) Dat wordt de actieve partitie genoemd en wordt gespecificeerd door een flag. De partitietabel zelf is een eenvoudige tabel met 4 records. Elke record specificeert waar een partitie start, eindigt en wat voor soort partitie het is.

In een MBR partitie tabel kunnen 3 soorten partities opgenomen worden.

Een primary partition (primaire partitie), waarmee een computer kan worden opgestart. Een primary partition krijgt direct een drive-letter toegewezen.

Maximaal één extended partition (uitgebreide partitie), waarmee een computer (in principe) niet kan worden opgestart, maar welke gebruikt kan worden om de schijf verder op te delen. Binnen een extended partition kunnen logical drives (logische stations) worden aangemaakt. Geïntroduceerd als EBR (Extended Boot Record), een aanvulling op MBR om van de beperking van 4 partitions af te zijn). Hiermee wordt het mogelijk meer dan 4 partities (het maximum van de partitietabel) op een disk te maken. Een extended partition krijgt dan ook geen drive-letter toegewezen. Logical drives (bijgehouden in de EBR) krijgen wel een drive-letter toegewezen.

 

De beperking dat op een MBR-disk maar 4 partities kunnen worden gemaakt typeert het eigenlijk als verouderd. Compatibiliteit zorgt er evenwel voor dat deze techniek voorlopig niet zal verdwijnen. Er kleven evenwel behoorlijk wat nadelen en eigenaardigheden aan. Partitiebeheer is dan ook lastig. Er zijn evenwel goede tools waarmee partities kunnen worden beheerd, zoals Partition Magic van PowerQuest.

Wijzigingen in de partitie tabel hebben vrijwel altijd een reboot nodig (vanaf Windows 2000 niet meer bij gebruik van dynamic disks), maar er kan meestal niet zo veel gewijzigd worden zonder verlies van data.

 

Een MBR-disk bevat aan het begin van de disk een sector (sector 1, track 0) van 512 bytes met de naam Master Boot Record. Deze sector bevat een kleine hoeveelheid uitvoerbare programmacode, genaamd Master Boot Code (offset 000), MBR foutmeldingen (offset 008B), de partitietabel (offset 01BE), de disk signature (offset 01FE) en wordt afgesloten met een end-of-sector markering (2 bytes: 0x55AA). 

 

Het EBR wordt aangemaakt op de eerste sector van elke logical drive in de extended partition.

 

Links een voorbeeld van een harrdisk, gepartitioneerd in 4 partities. Drie primaire partities en één extended (is ook het maximum).

 

Elke partitie (volume) heeft in de eerste sector een Partition Boot Record (of Volume Boot Sector). Deze bevat een Disk Parameter Block en Volume Boot Code. Dit wordt aangemaakt bij het formatteren van een partitie en is OS-specifiek.

 

 

 

 

[Afbeelding: Microsoft]

 

 

 

Het starten van een systeem verloopt in vier (versimpelde) stappen:

  • Het BIOS van de PC start de Code in het Master Boot Record van de eerste aanwezig disk in de PC.

  • De Master Boot Code (op sector 1) bepaalt welke partitie de actieve partitie is en en geeft de controle over aan de code in de eerste sector van die partitie. Daarop staat het Partition Boot Record (PBR).

  • De code in het PBR is specifiek voor een OS en zoekt waar de bootbestanden van het OS staan. Het PBR bevat een parameter table, waarin de layout en het filesysteem van de partitie staan, waardoor het PBR in staat is de boot-bestanden te vinden. (Hierin staat o.a. het aantal sectoren tussen het begin van de disk (LBA 0) en het begin van de partitie) 

  • De bootbestanden van het OS op de systeempartitie nemen de controle over en starten het OS (Bij Windows NT versies, dus ook XP, zorgt NTLDR (NT-loader) daar voor.

[Opmerking: De Microsoft MBR-code kijkt alleen of een primaire partitie  in het MBR actief is, en zal daar de controle aan geven. Omdat alleen primaire partities actief gemaakt kunnen worden met de MS-software, lijkt het daardoor of een computer niet van een logisch drive (in het EBR) kan worden geboot. Dat kan wel als de redelijk simplistische MBR-code wordt vervangen door wat slimmere software. Boot-manager-software van derden (niet Microsoft) is daar vaak wel toe in staat.]

 

Partitie tabel (Basic disk)

De partitie tabel is maar klein en heeft altijd een vaste grootte van 64 bytes. Er kunnen dus 4 records van 16 bytes in, één voor elke partitie.

Vanaf het begin van de sector (= offset) begint elke partitie record op een vaste positie:

Partitie 1 op 0x01BE

Partitie 2 op 0x01CE

Partitie 3 op 0x01DE

Partitie 4 op 0x01FE

Is een partitie niet aanwezig dan is het record gevuld met 0-en. De waardes zijn hexadecimale waarden.

 

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00 00 00   ......?...K.....
000001Dx: 81 0A 07 FE FF FF 8A F5  - 7F 00 3D 26 9C 00 00 00   ..........=&....
000001Ex: C1 FF 05 FE FF FF C7 1B  - 1C 01 D6 96 92 00 00 00   ................
000001Fx: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 55 AA   ..............U.

 

Hierboven een partitietabel met 3 partities. De eerste is de actieve partitie. Herkenbaar aan het feit dat deze met 80 begint. 00 op die plaats geeft een niet bootable partitie aan.

55 AA geeft het einde van de sector aan.

 

Eerste kop/head (H)

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Geeft aan met welke leeskop moet worden begonnen.

 

Eerste sector (S)

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Alleen de eerste 6 bits worden gebruikt. De 2 hoogste bits worden gebruikt voor het volgende veld, waarmee de eerste cilinder wordt aangegeven. Omdat de twee hoogste bits worden gebruikt voor de eerste cilinder, geeft de waarde die hier staat niet altijd de eerste sector aan. Daarvoor moeten de hoogste bits er eerst afgehaald worden. Het maximum wat kan worden aangegeven met 6 bits is 64. Omdat de eerste sector sector 1 is en niet 0, zijn alleen sectoren 1 t/m 63 benaderbaar.

 

Eerste cylinder (C)

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Samen met de 2 bits van het vorige veld zijn dus 10 bits beschikbaar voor het aangeven van de eerste cilinder. Hierdoor is het maximaal aantal benaderbare cilinder  1024 (0 t/m 1023)

Is de waarde groter dan één byte, dan wordt de waarde in het z.g. little andian formaat (of omgekeerde-byte volgorde) weergegeven. Dat is een methode waarbij het minst significante bit links in de hexadecimale weergave komt te staan.  (zie het veld voor de relatieve sector)

 

System ID

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

07 geeft de System ID, daarmee wordt gespecificeerd wat voor soort partitie het is.

 

System ID

Soort partitie

0x01 FAT12 primaire partitie of logisch station (minder dan 32.680 sectors in het volume)
0x04 FAT16 partitie of logisch station (32,680–65,535 sectors of 16 MB–33 MB)
0x05 Uitgebreide partitie
0x06 BIGDOS FAT16 partitie of logisch station (33 MB–4 GB)
0x07 Installeerbaar File System (NTFS partitie of logisch station)
0x0B FAT32 partitie of logisch station
0x0C FAT32 partitie of logisch station welke BIOS INT 13h extensies gebruikt
0x0E BIGDOS FAT16 partitie of logisch station welke BIOS INT 13h extensies gebruikt
0x0F Uitgebreide partitie welke BIOS INT 13h extensies gebruikt
0x12 EISA partitie of OEM partitie
0x42 Dynamisch volume
0x84 Power management hibernation partitie
0x86 Multidisk FAT16 volume gemaakt met Windows NT 4.0
0x87 Multidisk NTFS volume gemaakt met Windows NT 4.0
0xA0 Laptop hibernation partitie
0xDE Dell OEM partitie
0xFE IBM OEM partitie
0xEE GPT partitie
0xEF EFI Systeem partitie op een MBR disk

[Windows XP ondersteund geen multidisk partities gemaakt door NT 4.0 (ID 0x86 en 0x87).]

 

Laatste kop

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Geeft aan met welke leeskop moet worden geëindigd.

 

Laatste sector

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Ook hierbij worden alleen de eerste 6 bits gebruikt (de rechter, minst significante, bits). De 2 hoogste bits worden voor de laatste cilinder (volgende veld) gebruikt.

 

Laatste cylinder

       x   0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Samen met de 2 bits van het vorige veld zijn ook hierbij 10 bits beschikbaar voor het aangeven van de eerste cilinder. Hierdoor is het maximaal aantal benaderbare cilinder  1024 (0 t/m 1023)

 

Relatieve sector

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Geeft het vanaf het begin van de disk de sector aan waar het volume begint.

Is de waarde groter dan één byte, dan wordt de waarde in het little endian formaat (of omgekeerde-byte volgorde) weergegeven. Dat is een methode waarbij het minst significante bit links in de hexadecimale weergave komt te staan. De hexadecimale waarde 0x3F000000 is de little endian weergave voor 0x0000003F (decimaal 63).

 

Totaal aantal sectoren

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01                 ..
000001Cx: 01 00 07 FE BF 09 3F 00  - 00 00 4B F5 7F 00         ......?...K...

Dit geeft het aantal sectoren in een volume aan.

 

 

Het CHS-probleem. (BIOS INT 13h Extensions)

 

De velden voor de eerste en laatste cilinders, koppen (heads) en sectoren worden de CHS-velden genoemd. De beperkte afmetingen van de velden zorgt voor een maximum van 1024 cylinders, waarop maximaal 63 sectoren kunnen worden gespecificeerd en 256 koppen (heads). Hierdoor is de maximale grootte van een disk welke in een partitie tabel kan worden benaderd: #cilinders x #koppen x #sectoren/track x sectorgrootte

Ingevuld met maximale waarden komt dat op 1024 x 256 x 63 x 512 byte (standaard sectorgrootte)

Dat is 8.455.716.864 bytes ofwel 7.8 GB.

 

Een BIOS en een OS welke BIOS INT 13h Extensions ondersteunen, kunnen de eerste en laatste CHS-velden negeren en de disk "logisch" anders indelen. Alleen de relatieve sector en het totaal aantal sectoren worden dan gebruikt. DOS, WfW (Windows for Workgroups) en oudere Windows-versies ondersteunen dit niet. Windows 95/98/ME wel, maar gebruiken de velden wel voor compatibiliteit met DOS en WfW. Windows 2000 en hoger negeert die CHS-velden.

Worden de 4-byte velden voor relatieve sector en totaal aantal sectoren gebruikt, dan kunnen 8 bits meer gebruikt worden voor het totaal aantal sectoren (wordt dan max. 232 sectoren). Daardoor kunnen partities gemaakt worden tot 2TB (2.199.023.255.522 bytes).

 

LBA (Logical Block Addressing)

 

Oude BIOS-en hebben in het verleden voor verschillende beperkingen gezorgd met IDE disks. De belangrijkste was de beperking bij disks met meer dan 504 MB uit 1994. Het BIOS is als eerste verantwoordelijk voor het lezen van de geometrie (indeling in cilinders, tracks en koppen) van de disk. Deze informatie wordt opgeslagen in het CMOS van het systeem. Bij de oude harddisks werd hiervoor de echte fysieke geometrie gebruikt. Tegenwoordig wordt hiervoor een logische geometrie gebruikt, waardoor die oude problematiek niet meer voorkomt.

 

Uit voorgaand verhaal over de partitie tabel is (hoop ik) duidelijk geworden dat voor de opslag van informatie over cilinders, heads en sectoren een bepaalde hoeveelheid bits beschikbaar zijn voor de opslag van waarden. Deze "ruimte" zorgt voor beperkingen in de waarden. Door slechte planning en gebrek aan overleg hebben software- en hardware-producenten verschillende ruimten gespecificeerd, waardoor de beperkingen in mogelijke waarden voor C-H-S nog verder toenamen. De IDE/ATA specificaties hebben namelijk andere "ruimten" gespecificeerd voor CHS dan het BIOS.

  Cilinders Heads Sectoren Totaal voor CHS
  Bits Max Bits Max Bits Max Bits Max (512 bytes/sector)
BIOS INT13 10 1024 8 256 6 63 24 7.88 GB
IDE/ATA 16 65.536 4 16 8 256 28 128 GB
Effectief (de minste van de 2) 10 1024 4 16 6 63 20 504 MB

Het niet overeenkomen van de specificaties, zorgt er voor dat de minste van de twee specificaties gebruikt kan worden, wat een enorme beperking oplevert. Bij de berekening is C x H x S x 512 bytes gebruikt, met de maximale waarden voor C, H en S.

 

Op verschillende wijzen is gepoogd deze beperking weg te werken. O.a met Extended CHS adressering (Large Mode), waarbij één of meer vertaalslagen worden gemaakt in de CHS-aantallen. Hiervoor worden evenwel nog steeds de CHS waarden gebruikt.

ECHS (of Large Mode) gebruikt bit shift translation. Dat werkt volgens het principe dat het BIOS veel meer ruimte heeft bij het aantal heads dan wat IDE kan specificeren, terwijl dit voor het aantal cilinders precies andersom is. Het aantal cilinders wordt daarom gedeeld door een heel getal, zodat het aantal cilinders uitkomt op een waarde welke in de ruimte van het BIOS past, en het aantal heads wordt dan vermenigvuldigd met dit zelfde getal.

  Cilinders Heads Sectoren Totaal voor CHS
  Max Max Max Max
IDE/ATA limiet 65.536 16 256 128 GB
Een disk voorbeeld 6136 16 63 2.95 GB
Translation factor deel door 8 maal 8    
Vertaalde disk 767 128   2.95 Gb
BIOS INT13 limiet 1024 256 63 7.88 GB

Het vertaalde resultaat heeft daardoor waarden, welke binnen de grenzen van het BIOS uitkomen.

 

Uitgaande van de BIOS beperkingen zou maximaal als translation factor 16 gebruikt kunnen worden.

  Cilinders Heads Sectoren Totaal voor CHS
BIOS INT13 limiet 1024 256 63 7.88 GB
Translation factor maal 16 deel door 16    
IDE/ATA practische limiet 16383 16 63 7.88 GB

Hierdoor komen we weer uit op een maximale grootte voor IDE-disks van ± 8 GB.

Grotere disks kunnen dus eenvoudigweg niet benaderd worden middels hun fysieke parameters, ongeacht de trucks welke gebruikt worden. De moderne drives met meer dan 16383 cilinders rapporteren daarom allemaal 16838 cilinders aan de BIOS, maar ze worden benaderd op een andere manier via LBA en de BIOS INT13 Extensions.

 

Bij Logical Block Addressing wordt een totaal andere methode gebruikt voor het adresseren van de sectoren. In plaatst van een sector te adresseren met zijn CHS-waarde, krijgt elke sector een uniek nummer. Zowel de disk, het BIOS als het OS moet dit ondersteunen. Maar dat lost evenwel de beperkingen niet op, want als het maximum voor het aantal cilinders 1024 (of vertaald 16383) is, dan blijft dat zo bij een logische omzetting naar unieke sectornummers. LBA is alleen maar een andere wijze van adresseren van dezelfde geometrie.

M.a.w er moet ook nog een vertaalslag gemaakt worden in de CHS-waarden. LBA-mode doet dat dan ook. Tegenwoordig vrijwel standaard door de beperkingen van de BIOS INT13 beperking te omzeilen met de BIOS INT13 Extensions. Verder is in de meeste grote harddisk ook al een vertaalslag ingebouwd.

De belangrijkste wijziging zit in de adresserings-ruimte voor de sectoren. In plaatst van de CHS-ruimte (10+8+6=24bits) te gebruiken, worden 64 bits gebruikt, waar de relatieve sectoren en totaal aantal sectoren mee werden aangegeven. Potentieel is dat 264 x 512 bytes = 9.444.732.965.739.290.427.392 bytes. Daarmee kunnen we even voort voor wat de maximale capaciteit van een disk betreft. De 64 bits worden nu evenwel nog voor 2 waarden gebruikt, waardoor 32 bits voor één waarde beschikbaar is. Daarmee kom je nog op een aardige maximum capaciteit van 232 x 512 bytes = 2.199.023.255.552 bytes, ofwel 2 TB.

 

Voor alle duidelijkheid moet evenwel nog even benadrukt worden dat LBA zelf dus de beperkingen niet oplost.

Dat doen de BIOS INT13 Extensions.

 

Direct Disk Access

Een andere manier om van de BIOS-beperkingen af te komen, zou zijn de BIOS te omzeilen door rechtstreeks vanuit het OS de disk te benaderen voor lezen en schrijven. De BIOS wordt gewoonlijk aangesproken voor het benaderen van de harddisk. Een extra schakel is evenwel een vertragende factor. Daarom hebben de nieuwere Windows versies allemaal de mogelijkheid om via eigen 32-bit protected mode disk access routines de disk direct te benaderen. Dit lost evenwel de beperkingen van BIOS-en niet op, want i.v.m. compatibiliteit met oudere OS-en, applicaties moet de BIOS nog steeds op de oude manier gebruikt kunnen worden. 

 

EBR: Extended Boot Record

 

Een EBR bestaat uit een een uitgebreide partitie tabel (Extended Partition Table) en een einde-sector-markering (signature word). Elk logisch station heeft een EBR. In de uitgebreide partitie bevat de eerste sector  

het EBR voor het eerste logische station.

Het eerste record van een EPT wijst naar de eigen boot sector van het logische station (meestal te vinden op relatieve sector 32 of 63).

Het tweede record wijst naar het eventueel aanwezige EBR van het volgende logische station. Is die er niet, dan is dat record gevuld met 0-en.

Het derde en vierde record worden niet gebruikt.

 

Op het tweede logische station is weer een EBR aanwezig, waar de records op identiek wijze worden gebruikt.

 

De afbeelding hiernaast geeft dus een extended partition weer met drie logische stations.

 

De indeling van de records (de velden) worden op identieke wijze als bij het MBR gebruikt.

 

 

Het MBR en de EBR zijn kwetsbaar. Gaat deze informatie verloren, dan is de disk niet meer benaderbaar. Het is daarom ook doelwit nummer 1 voor virussen. Maak daarom regelmatig backups en zorg voor goede actuele antivirussoftware. De bescherming welke een BIOS soms biedt tegen het wijzigen van de bootsectors is niet afdoende, omdat er ook andere manieren zijn om de disk te beschrijven dan via de BIOS. 

 

Partitie tabel (Dynamic disk)

 

       x:  0  1  2  3  4  5  6  7  -  8  9  A  B  C  D  E  F
000001Bx:                                              80 01   .....,Dc!.!.....
000001Cx: 01 00 42 FE 7F 04 3F 00  - 00 00 86 FA 3F 00 00 00   ..B...?.....?...
000001Dx: 41 05 42 FE FF 02 C5 FA  - 3F 00 7E 04 7D 00 00 00   A.B.....?.~.}...
000001Ex: C1 03 42 FE FF FF 43 FF  - BC 00 58 53 54 00 00 00   ..B...C...XST...
000001Fx: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 55 AA   ..............U.

 

Deze komt grotendeels overeen met een Master Partition Table van een Basic disk. Er zijn evenwel geen EBR's. Er wordt een aparte volume opgenomen voor het systeem volume, één voor het eventuele boot volume als dat niet het systeem volume is, en één voor alle overige volumes. (Partities worden op een Dynamic disk volumes genoemd). Bovenstaand voorbeeld toont een systeemvolume, een bootvolume en een data-container volume, waarin verschillende data-volumes kunnen worden opgenomen. Alle volumes worden geïdentificeerd met SystemID 42. Ook hier wordt de actieve bootable partitie aangegeven met 80 als eerste byte. 55AA sluit de tabel weer af.

 

GPT (GUID Partition Table)

Een samenwerking tussen Microsoft en Intel heeft de Extensible Firmware Interface (EFI) geïntroduceerd. Hierin wordt een GUID Partition Table (GPT) beschreven. De 64-bit edities van Windows booten (starten) een Itanium-systeem alleen nog maar op vanaf een GPT-disk, maar ook Windows XP ondersteunt het gebruik van GPT-disks. Echter alleen de 64-bit versie van XP kan van een GPT-disk booten (niet meer van een MBR-disk). De 32-bit versie heeft een MBR-disk nodig en herkent de GPT-disk niet.

GPT vult de oude MBR partitie methode aan door zeer grote disks te ondersteunen met (theoretisch) een onbeperkt aantal partities (zonder de logische volumes, die zijn geïntroduceerd om de beperkingen van het MBR op te lossen). GPT heeft een primaire en een backup partitietabel voor redundantie, en gebruikt een CRC32 veld voor het verbeteren van de integriteit.

Verder heeft GPT een versienummer en velden voor groottes voor toekomstige uitbreidingen. Elke partitie heeft een GUID (Globally Unique IDentifier), het type inhoud wordt gespecificeerd en een Unicode naam van 36 tekens kan worden gespecificeerd. 

Een GPT-disk is zelf-identificerend; alle informatie over de partities staat dus op de disk.

Een GPT-disk heeft een "Protective MBR", welke begint op sector 0 en vooraf gaat aan de GPT. In de Protective MBR staat één (0xEE) partitie welke de hele disk omvat. (Tenzij de disk groter is dan het maximum wat door de MBR wordt ondersteund). Dit is bedoeld voor oudere software (FDISK of de NT Disk Administrator) welke de partitietabel benadert en kan bewerken. Deze herkent de disk als "onbekende partities" i.p.v. "ongepartitioneerd".

 

De EFI-implementatie in XP kan verschillende bijzondere partities bevatten. ESP, OEM-specific en MSR. Dat is nodig omdat er geen verborgen sectoren, zoals op een MBR-disk, mogelijk zijn. Op een MBR-disk werd daar door sommige computerleveranciers gebruik van gemaakt voor diverse toepassingen. (B.v. Compac gebruikte een verborgen partitie met een kopie van de initiële installatie voor systeemherstel.)

De adressering vindt plaats op basis van LBA, i.p.v. met sectoren.

 

Protective MBR

LBA 0 (de eerste sector) wordt gebruikt voor compatibility met oudere systemen, zodat de disk wordt herkend als gepartitioneerd, i.p.v. leeg of corrupt. In principe wordt hier een normale MBR voor gemaakt, welke de disk beschrijft als gepartitioneerd met één partitie met identificatiecode 0xEE.

       x:  0  1  2  3  4  5  6  7 -  8  9  A  B  C  D  E  F
000001Bx: 00 00 00 00 00 00 00 00 - 04 06 04 06 00 00 00 00   ................
000001Cx: 02 00 EE FF FF FF 01 00 - 00 00 FF FF FF FF 00 00   ................
000001Dx: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
000001Ex: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
000001Fx: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA   ..............U.

 

Byte offset

omvang

(bytes)

Uitleg

0x01BE

1

Boot indicator. Staat op 00 om aante geven dat er niet van geboot kan worden.

0x01BF

1

Eerste kop (head). Komt overeen met het eerste LBA

0x01BF

1

Eerste sector. Komt overeen met het eerste LBA

0x01BF

1

Eerste cilinder. Komt overeen met het eerste LBA

0x01BF

1

System ID staat op 0xEE om te specificeren dat het een GPT-disk is. Vanaf Windows 2000 SP1 wordt een dergelijke partitie beschermd en kan niet worden gewist.

0x01BF

1

Laatste kop. Komt overeen met het laatste LBA op de disk. Staat op 0xFF als de waarde niet in één byte past.

0x01BF

1

Laatste sector. omt overeen met het laatste LBA op de disk. Staat op 0xFF als de waarde niet in één byte past.

0x01BF

1

Laatste cilinder. omt overeen met het laatste LBA op de disk. Staat op 0xFF als de waarde niet in één byte past.

0x01BF

4

Eerste LBA. Staat altijd op 0x01000000 (Little endian notatie, dus eigenlijk 0x00000001)

0x01BF

4

Aantal LBA's. MOet op 0xFFFFFFFF gezet worden als het aantal hier niet in past.

 

De primaire GPT Header

Deze staat op LBA 1, direct na de Protective MBR. Tevens wordt een kopie hiervan op de laatste sector van de disk geplaatst. De juistheid van de tabel wordt gewaarborgd met een CRC32 checksum (Cyclical Redundancy Check van 32 bits). Dat is een berekende waarde op basis van de inhoud van de tabel. Wordt de tabel om wat voor reden dan ook gewijzigd, dan klopt die CRC32 niet meer en kan de backup eventueel terug gezet worden. Disktools waarmee de GPT header kunnen worden gewijzigd moeten dus in staat zijn om een nieuwe CRC32 checksum uit te rekenen en deze ook te wijzigen in de header. 

 

       x:  0  1  2  3  4  5  6  7 -  8  9  A  B  C  D  E  F
0000000x: 45 46 49 20 50 41 52 54 - 00 00 01 00 5C 00 00 00   EFI PART....\...
0000001x: 27 6D 9F C9 00 00 00 00 - 01 00 00 00 00 00 00 00   'm..............
0000002x: 37 C8 11 01 00 00 00 00 - 22 00 00 00 00 00 00 00   7.......".......
0000003x: 17 C8 11 01 00 00 00 00 - 00 A2 DA 98 9F 79 C0 01   .............y..
0000004x: A1 F4 04 62 2F D5 EC 6D - 02 00 00 00 00 00 00 00   ...b/..m........
0000005x: 80 00 00 00 80 00 00 00 - 27 C3 F3 85 00 00 00 00   ........'.......
0000006x: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................

 

Byte Offset

omvang

(bytes)

Uitleg

0x00 8

Signature. Wordt gebruikt om alle EFI-compatible GPT headers te identificeren. Moet altijd 0x4546492050415254 zijn. (= "EFI PART")

0x08 4

Het revisienummer van de EFI specificatie waar deze GPT header bij hoort. Voor versie 1.0 is de waarde 0x00000100.

0x0C 4

De omvang van de GPT header. Dat is altijd 0x5C000000 ofwel 92 bytes. Het restant van LBA 1 is gereserveerd.

0x10 4

CRC32 Checksum. Voor de controle op de integriteit van de GPT header.

0x14 4

Gereserveerd. Moet 0 zijn

0x18 8

Het LBA met de primaire GPT header. Is altijd gelijk aan LBA 1.

0x20 8

Het LBA adres van de backup GPT header. Dit is altijd gelijk aan het laatste LBA op de disk.

0x28 8

Het eerst bruikbare LBA voor een GUID partitie ingang. De eerste partitie begint daar dus. In Windows XP 64-Bit Edition is dit altijd LBA 34.

0x30 8

Het laatst bruikbare LBA voor een GUID partitie tabelingang.

0x38 16

Disk GUID. Een unieke identificatie voor de disk.

0x48 8

Het eerste LBA voor de array (reeks) GUID partities. Is altijd LBA 2.

0x50 4

Het maximale aantal GUID partitie-ingangen in de array. In Windows XP 64-Bit Edition is dit 128.

0x54 4

De grootte in bytes van elke ingang in de GUID partitie array. Elke ingang in de array is 128 bytes.

0x58 4

Partition Entry Array CRC32. Dit is een voor integriteit controle van de GUID partitie array.

0x5C 420

Gereserveerd. Moet 0 zijn.

 

De GUID partition Entry Array

Voor de partities wordt een array (reeks) gebruikt. Elke ingang in die array is een partitie. Voor de array worden LBA's 3 t/m 33 gebruikt. Ook van de array wordt een backup gemaakt aan het eind van de disk. Deze backup start na de laatst bruikbare LBA voor een GUID partitie tabelingang (een veld in de header), en eindigt vóór de backup van de header.

 

Net als bij MBR disks wordt elke entries in de array geïdentificeerd met een code om het soort partitie aan te geven. Bij GPT is dat een GUID. 

 

Partitie soort GUID Value
Ongebruikt ingang 0x00000000000000000000000000000000
EFI Systeem partitie (ESP) 0x28732AC11FF8D211BA4B00A0C93EC93B
Microsoft Reserved partition (MSR) 0x16E3C9E35C0BB84D817DF92DF00215AE
Primaire partitie op een basic disk 0xA2A0D0EBE5B9334487C068B6B72699C7
LDM Metadata partitie op een dynamic disk 0xAAC808588F7EE04285D2E1E90434CFB3
LDM Data partitie op een dynamic disk 0xA0609BAF3114624FBC683311714A69AD

 

Een voorbeeld in de vorm van gedeeltelijke hex-dump van een Basic GPT disk met drie partities: De ESP, de MSR en een primaire partitie.

       x:  0  1  2  3  4  5  6  7 -  8  9  A  B  C  D  E  F

0000000x: 28 73 2A C1 1F F8 D2 11 - BA 4B 00 A0 C9 3E C9 3B   (s*......K...>.;
0000001x: C0 94 77 FC 43 86 C0 01 - 92 E0 3C 77 2E 43 AC 40   ..w.C.....<w.C.@
0000002x: 3F 00 00 00 00 00 00 00 - CC 2F 03 00 00 00 00 00   ?......../......
0000003x: 00 00 00 00 00 00 00 00 - 45 00 46 00 49 00 20 00   ........E.F.I. .
0000004x: 73 00 79 00 73 00 74 00 - 65 00 6D 00 20 00 70 00   s.y.s.t.e.m. .p.
0000005x: 61 00 72 00 74 00 69 00 - 74 00 69 00 6F 00 6E 00   a.r.t.i.t.i.o.n.
0000006x: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
0000007x: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
0000008x: 16 E3 C9 E3 5C 0B B8 4D - 81 7D F9 2D F0 02 15 AE   ....\..M.}.-....
0000009x: 80 BC 80 FC 43 86 C0 01 - 50 7B 9E 5F 80 78 F5 31   ....C...P{._.x.1
000000Ax: CD 2F 03 00 00 00 00 00 - D0 2A 04 00 00 00 00 00   ./.......*......
000000Bx: 00 00 00 00 00 00 00 00 - 4D 00 69 00 63 00 72 00   ........M.i.c.r.
000000Cx: 6F 00 73 00 6F 00 66 00 - 74 00 20 00 72 00 65 00   o.s.o.f.t. .r.e.
000000Dx: 73 00 65 00 72 00 76 00 - 65 00 64 00 20 00 70 00   s.e.r.v.e.d. .p.
000000Ex: 61 00 72 00 74 00 69 00 - 74 00 69 00 6F 00 6E 00   a.r.t.i.t.i.o.n.
000000Fx: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
0000010x: A2 A0 D0 EB E5 B9 33 44 - 87 C0 68 B6 B7 26 99 C7   ......3D..h..&..
0000011x: C0 1B 0B 00 44 86 C0 01 - F1 B3 12 71 4F 75 88 21   ....D......qOu.!
0000012x: D1 2A 04 00 00 00 00 00 - 4E 2F 81 00 00 00 00 00   .*......N/......
0000013x: 00 00 00 00 00 00 00 00 - 42 00 61 00 73 00 69 00   ........B.a.s.i.
0000014x: 63 00 20 00 64 00 61 00 - 74 00 61 00 20 00 70 00   c. .d.a.t.a. .p.
0000015x: 61 00 72 00 74 00 69 00 - 74 00 69 00 6F 00 6E 00   a.r.t.i.t.i.o.n.
0000016x: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................
0000017x: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00   ................

 

Elke ingang in de array heeft de volgende indeling (de derde partitie wordt als voorbeeld genomen)

 

Byte Offset

omvang

(bytes)

Uitleg

0x00 16 Partition Type GUID. Identifeert het type partitie volgens voorgaande tabel.
0x10 16 Unieke Partitie GUID. Elke partitie krijgt een unieke identificatie.
0x20 8 De eerste LBA van deze partitie.
0x28 8 De laatste LBA van deze partitie.
0x30 8

Attribuut Bits. Deze beschrijven hoe de partitie wordt gebruikt

Windows XP 64-Bit Edition gebruikt dit attribuut als volgt:

bitnr

Uitleg

0 Specificeert of een partitie vereist is om het platform te laten functioneren
48-63 Gereserveerd door Microsoft voor de ESP, MSR, Basic Primairy, LDM Metadata en LDM Data partities
0x38 72 Een Unicode string van 36 tekens voor de naam van de partitie.

 

De bootsector voor een partitie is niet anders bij een GPT-disk als bij een MBR-disk. Deze is OS-afhankelijk en wordt bij het formatteren van een partitie aangemaakt.

 

ESP (EFI System Partition)

Microsoft OS-en gebruiken vanaf XP een EFI System Partition (ESP). Deze partitie wordt gebruikt voor het opstarten van het OS en bevat o.a. NTLDR, HAL, BOOT.INI, NTDETECT.COM.

De partitie GUID definieert de ESP.

DEFINE_GUID (PARTITION_SYSTEM_GUID, 0xC12A7328L, 
   0xF81F,0x11D2, 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B)

Zowel GPT-disks als MBR-disk kunnen een ESP hebben. EFI specificeert het booten zowel van een GPT-disk als van een MBR-disk (Windows XP boot ESP niet vanaf een MBR-disk.)

Op een MBR-disk krijgt de ESP als partitietype 0xEF.

De ESP-grootte is afhankelijk van de grootte van de disk: 1% van de grootte van de disk maar minimaal 100MB en maximaal 1GB. De ESP moet alleen files bevatten welke nodig zijn tijdens het booten.

 

OEM-specific partition

Computerleveranciers kunnen een aparte partitie gebruiken voor bijzondere toevoegingen. Deze partitie wordt netjes afgeschermd. Als een gebruiker de partitie  dreigt te wissen, dan krijgt de gebruiker een waarschuwing.

Deze partitie wordt na een eventuele ESP op een GPT-disk geplaatst, maar vóór de MSR.

 

MSR  Microsoft Reserved Partition

Dit is een aparte partitie voor gebruik door het OS voor diverse doeleinden, en wordt op elke disk geplaatst. Elke GPT-disk bevat een MSR, welke door de Windows setup wordt aangemaakt, de eerste keer dat de partitietabel op de disk wordt geplaatst. (Niet later, want dan is er geen ruimte meer).

De GUID-identificaties is

DEFINE_GUID (PARTITION_MSFT_RESERVED_GUID, 0xE3C9E316L, 
   0x0B5C,0x4DB8, 0x81, 0x7D, 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE)

 

Als b.v. een Basic disk wordt geconverteerd naar een Dynamic disk, dan wordt de MSR kleiner gemaakt en wordt de vrijgemaakt ruimte benut voor een partitie, waarop de Dynamic Disk Database wordt geplaatst.

Ook de grootte van de MSR is afhankelijk van de disk-grootte:

disk < 16 GB dan MSR = 16 MB

disk >=16 Gb dan MSR = 128 MB

 

Elke met Windows XP bootable disk moet een ESP, een MSR en minstens één Basic data partitie bevatten met het OS.

Een data disk moet een MSR en minstens één Basic data partitie bevatten. bij gebruik van meer data-partities moeten deze aaneengesloten op de disk staan (geen bijzondere partities ertussen).

 

Primaire GPT-partitie op een BASIC disk

Een basic data partitie wordt gedefinieerd door:

 

DEFINE_GUID (PARTITION_BASIC_DATA_GUID, 0xEBD0A0A2L, 
   0xB9E5, 0x4433, 0x87, 0xC0, 0x68, 0xB6, 0xB7, 0x26, 0x99, 0xC7)

 

Dit komt overeen met een  primaire MBR-partitie, getypeerd door 0x6 voor een FAT partitie, 0x7 voor een NTFS partitie en 0xB voor een FAT32 partitie.

 

GPT Partities op een Dynamic disk

Na conversie tot Dynamic disk, zijn er twee GPT partities:

Eén met de Dynamic configuration database:

  DEFINE_GUID (PARTITION_LDM_METADATA_GUID, 0x5808C8AAL, 
     0x7E8F, 0x42E0, 0x85, 0xD2, 0xE1, 0xE9, 0x04, 0x34, 0xCF, 0xB3);

Eén data-container-partitie (overeenkomstig met een MBR partitie 0x42)

  DEFINE_GUID (PARTITION_LDM_DATA_GUID, 0xAF9B60A0L, 
     0x1431, 0x4F62, 0xBC, 0x68, 0x33, 0x11, 0x71, 0x4A, 0x69, 0xAD);

 

In de data-container-partitie worden volumes gemaakt. In de data-container-partitie worden alle niet-bootable partities geplaatst, waarbinnen volumes worden aangemaakt, één voor elke oude basic partitie.

 

MBR-disks en GPT-disks kunnen zonder beperkingen door elkaar gebruikt worden.

Windows heeft de Diskpart.exe (een command-line-tool) en de Disk Administrator (een MMC-snapin met GUI) voor het partitioneren van disks. Met deze tool kunnen MBR-partities en GPT-partities gemaakt worden.

 

flag Een bitje wat gebruikt wordt om een bepaalde instelling te specificeren. Is het bitje 1 dan is de flag gezet en staat iets AAN, is het bitje 0 dan staat het UIT
CRC Cyclic Redundancy Check. Een berekening op basis van de data, waarmee gecontroleerd kan worden of de data nog correct is. Als de data wordt gewijzigd, dan klopt de CRC niet meer.
CRC32 een 32 bit CRC waarde, wordt berekend volgens een vast algoritme.
booten Het starten van een OS op een computer
MMC Microsoft Management Console, een grafische tool voor "snap-ins"
Snap-in Een module welke kan worden geladen met een bepaalde functionaliteit voor het beheer van hardware of software.
GUI Graphical User Interface, de grafische , met muis bedienbare, interface 

[ begin pagina]

Formatteren

 

Voordat een Operating System (OS of Besturingssysteem) bestanden (files) op de schijf kan opslaan, moet een filesysteem in gebruik genomen worden. Het filesysteem bepaalt de wijze waarop een bestand wordt opgeslagen en hoe wordt bijgehouden waar dat bestand staat en hoe het bestand heet. Bij het formatteren van een disk wordt het filesystem geselecteerd en wordt de schijf op de juiste wijze voor het disk filesystem ingedeeld. Ook wordt op de bootable partition een bootrecord geplaatst, waarmee wordt gezorgd dat tijdens het starten van de PC de programma's voor het OS kunnen worden gevonden en gestart.

 

Er zijn aardig wat verschillende filesystems, meestal behorend bij een bepaald OS, hoewel soms ondersteund door andere OS-en.

FAT (12-16-32) Zie pagina FAT
VFAT Een variant van FAT, welke lange bestandsnamen ondersteunt.
HPFS High Performance File System voor OS/2, een 32-bit filesystem wat alleen door OS/2 wordt gebruikt, maar aanmerkelijk geavanceerder is dan FAT.
NTFS Zie pagina NTFS
Netware Het filesystem wat Novell gebruikt voor de serversoftware Netware en is daarom alleen terug te vinden op Novell Netware fileservers
ISO 9660 Filesystem voor CDROM (CDFS)
ISO 13346 Filesystem voor DVD's
UDF Universal Disk Format. Wordt gebruikt voor b.v. DVD RAM
UNIX Filesystem voor Unix-hosts
UMSDOS Filesystem voor Linux. Is eigenlijk FAT, maar dan met Unix file eigenschappen.
ReiserFS / Reiser4 Een filesystem voor verschillende OS-en, ontwikkeld door Hans Reiser. Wordt ondersteund door b.v. Linux
EXT2/EXT3 Second Extended Filesystem, een filesystem ontwikkeld door Rémy Card voor Linux, later opgevolgd door Third Extended Filesystem, wat vooral populair is voor GNU/Linux
XFS Een filesystem ontwikkeld door SGI (Silicon Graphics Inc.) voor hun Irix Unix implementatie.

 

De Microsoft besturingssystemen ondersteunen en gebruiken de volgende filesystems:

Standalone OS FAT (16) FAT32 NTFS NTFS versie Netwerk OS (eindgebruiker) Netwerk OS (servers)
MSDOS X          
Windows 3.x X          
Windows 95 X          
Windows 95 OSR2 (95b) X X        
Windows 98 X X        
Windows 98 SE            
Windows ME X X        
  X   X 1.x NT3.x Workstation NT 3.x Server
  X   X 1.2 NT4 Workstation NT4 Server
  X   x 3.0 NT4 SP4  
  X X x 3.0

Windows 2000 professional (NT5)

Windows 2000 Server

(NT5)

  X X x 3.1

Windows XP

(NT5.1)

Windows Server 2003

(NT5.2)

Zoals bij partitioneren al werd gemeld, horen bij de diverse filesystems ook diverse beperkingen. Die beperkingen kunnen gerelateerd zijn aan het OS, maar ook aan de fysieke wijze waarop de files op de disk worden opgeslagen. Zo kennen de standalone OS-versies een beperking voor FAT(16) van 2GB per partitie, terwijl de netwerkversies 4 GB per partitie kunnen gebruiken voor FAT. NTFS (New Technology File System) wordt alleen door de netwerk versies gebruikt.

De 4 GB limiet wordt evenwel veroorzaakt door de fysieke beperkingen van de sector waarin de informatie over de partitie is opgeslagen.

De disk heeft het MBR (en het EBR) voor informatie over alle partities, de partitie heeft een volume boot sector (partition boot sector).

 

[ begin pagina]

Al deze informatie is onder voorbehoud

[ terug]

 

No information is blindly copied from other sites or resources. It is alle translated, edited, corrected and, as much as possible, verified. However, I cannot garanty that all of of the above is correct (I'm sure it's not). I came across much conflicting information, which I have tried to sort out.