Logical block addressing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
SieBot (discussione | contributi)
fix wikilink e numeri
Riga 1:
Il '''Logical block addressing''', abbreviato '''LBA''', è un sistema di accesso ai dati usato nei dischi fissi, introdotto per superare il limite dei {{tutto attaccato|504 [[Mebibyte|MiB]]}} del precedente sistema CHS (''[[cilindro-testa-settore|cylinder-head-sector]]'').
 
Brevemente, un [[disco rigido]] è costituito da piatti paralleli scritti su ambedue le superfici: ad ogni superficie corrisponde una testina. Ogni piatto è inoltre suddiviso in tracce concentriche, raggruppate per distanza dall'asse in cilindri, e divise in settori circolari. È chiaro quindi che per identificare un settore, l'unità fisica di memorizzazione sul disco, sono necessarie le tre coordinate cilindro, testina e settore.
Riga 6:
La conversione da indirizzo logico a indirizzo fisco, ovvero quello definito dalle tre coordinate, viene eseguita dal [[controller|controllore]].
 
== Storia ==
 
Il primo [[IBM Personal Computer XT|PC XT IBM]] montava un disco [[Seagate Technology|Seagate]] da {{tutto attaccato|10 MiB}} con un controllore Xebec (inizialmente i controllori erano installati su una scheda a parte). Il disco aveva {{tutto attaccato|4 testine}}, {{tutto attaccato|360 cilindri}} e {{tutto attaccato|17 settori}} per traccia. Per scrivere e leggere sul disco il [[sistema operativo]] chiamava il [[BIOS]], il quale si occupava a sua volta di scrivere sui registri del controllore per avviare i trasferimenti.<ref> Architettura dei calcolatori: Un approccio strutturato - 4a Edizione - A. Tanenbaum - Pearson Education [http://hpe.pearsoned.it/site/show.php?curr_sec=catalogo&sub_sec=cat_sk_libro&ISBN=8871922719]</ref>
 
Col tempo la tecnologia è migliorata, passando alle unità [[Advanced Technology Attachment|IDE]], ma le procedure di chiamate al BIOS non vennero modificate per mantenere una compatibilità con i dispositivi precedenti (questa è una scelta molto frequente nell'informatica, si pensi alla [[retrocompatibilità]] dei processori [[Intel]] con tutti i modelli della famiglia [[Architettura x86|80x86]]).
Tale metodo però era intrinsecamente limitato dato che prevedeva l'uso di {{tutto attaccato|4 bit}} per specificare la testina, 6 per il settore e 10 per il cilindro. Con queste specifiche si potevano indirizzare massimo {{tutto attaccato|16 testine}}, {{tutto attaccato|63 settori}} e {{tutto attaccato|1024 cilindri}}: da notare che i settori non erano <math>2^6 = 64</math> perché, probabilmente per un errore del programmatore, mentre la numerazione delle testine e dei cilindri cominciava da 0, quella dei settori partiva da 1, riducendone di fatto la rappresentazione di un'unità.
 
Con tale specifica, mantenuta fino allo standard [[Advanced Technology Attachment|ATA]], si potevano indicizzare massimo {{tutto attaccato|1.032.192 settori}} che, per una dimensione tipica di {{tutto attaccato|512 byte}} ciascuno, portavano a massimo {{tutto attaccato|504 Mib}}. In seguito furono introdotte realizzazioni più avanzate di BIOS (note a volte come ''Enhanced BIOS'') che virtualizzavano la mappatura CHS, spesso generando più testine "virtuali" di quante ne possedesse realmente il disco, e che espandevano questo limite a {{tutto attaccato|255 testine}}. Questo significava che un volume MS-DOS poteva arrivare a {{tutto attaccato|7.,8 [[Gibibyte|GiB]]}}.
 
Con l'introduzione del secondo standard ATA fu introdotto, tra le altre innovazioni, lo schema LBA che di fatto a ha aumentato di gran lunga la capacità di indirizzamento dei settori sui dischi rigidi a {{tutto attaccato|128 GiB}}, poi salito a {{tutto attaccato|128 [[Pebibit|Pib]]}} con l'aumento a {{tutto attaccato|48 bit}} per gli indirizzi nella standard ATA-6.
 
== Note ==
<references/>
 
== Voci correlate ==
 
* [[Disco rigido]]
 
==Altri progetti==