Logical block addressing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Brískelly (discussione | contributi)
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(39 versioni intermedie di 32 utenti non mostrate)
Riga 1:
{{F|sistemi operativi|febbraio 2013}}
Il '''Logical block addressing''', abbreviato '''LBA''', è un sistema di accesso ai dati usato nei dischi fissi EIDE, introdotto per superare il limite dei {{tutto attaccato|504 [[Mebibyte|MiB]]}} (528 megabyte[[Megabyte|MB]]) del precedente sistema CHS (''[[cilindro-testina-settore|cylinder-head-sector]]'').
 
Brevemente, unUn [[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. E'È chiaro quindi che per identificare un settore, l'unità fisica di memorizzazione sul disco, sono necessarie le tre coordinate cilindorcilindro, testina e settore.
 
Il metodo LBA, introdotto con lalo tecnologiastandard EIDE[[Advanced Technology Attachment|ATA-2]], esegue la numerazione dei settori partendo da 0 fino ad un massimo di <math>2^24{28} - 1</math>, assegnando il valore 0 al primo settore della prima traccia del primo cilindro, procedendo poi lungo tutti i settori della stessa traccia, poi lungo tutte le tracce (corrispondenti a tutte le superfici) dello stesso cilindro per poi spostarsi al cilindro adiacente, continuando così fino all'ultimo settore dell'ultima traccia dell'ultimo cilindro.
La conversione da indirizzo logico a indirizzo fiscofisico, ovvero quello definito dalle tre coordinate, viene eseguita dal controllore[[controller (informatica)|controller]].
 
== Storia ==
Il primo [[IBM Personal Computer XT|PC XT IBM]] montava un disco [[Seagate Technology|Seagate]] da {{tutto attaccato|10 MBMiB}} con un controllorecontroller Xebec (inizialmente i controlloricontroller 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 - 4ª Edizione - A. Tanenbaum - Pearson Education [http://hpe.pearsoned.it/site/show.php?curr_sec=catalogo&sub_sec=cat_sk_libro&ISBN=8871922719] {{Webarchive|url=https://web.archive.org/web/20070415030603/http://hpe.pearsoned.it/site/show.php?curr_sec=catalogo&sub_sec=cat_sk_libro&ISBN=8871922719|data=15 aprile 2007}}</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 compatibilità[[retrocompatibilità]] dei processori [[Intel]] con tutti i modelli della famiglia [[Architettura x86|80x86]]).
Il primo PC XT IBM montava un disco Seagate da 10 MB con un controllore Xebec (inizialmente i controllori erano installati su una scheda a parte). Il disco aveva 4 testine, 360 cilindri e 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.
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,97 [[Gibibyte|GiB]]}}.
Col tempo la tecnologia è migliorata, passando alle unità [[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 compatibilità dei processori Intel con tutti i modelli della famiglia 80x86).
 
Con l'introduzione del secondo standard ATA fu introdotto, tra le altre innovazioni, lo schema LBA che di fatto 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.
[[Categoria:Informatica]]
 
Lo schema LBA è utilizzato anche dall'interfaccia [[Serial ATA]], infatti nella documentazione o nelle caratteristiche tecniche di molti adattatori SATA su interfaccia [[Peripheral Component Interconnect|PCI]] si fa riferimento alla compatibilità del controller con i dischi di capacità superiore a 137 [[gigabyte]] (equivalenti a 128 GiB), grazie ad un LBA a 48 bit anziché a 24. Invece, alcuni dei primi adattatori SATA avevano un LBA a 24 bit, quindi non accettavano hard disk di capacità maggiore di 137 gigabyte.
 
Lo schema LBA a 48 bit pur essendo standard da molti sistemi a [[32 bit]] (come ad esempio [[Windows XP]]) non veniva utilizzato ma veniva usato uno schema ridotto a 32 bit dando problemi a dischi superiori a 2,2 terabyte (equivalenti a 2 TiB).
 
== Note ==
<references/>
 
== Voci correlate ==
* [[Disco rigido]]
 
{{Portale|informatica}}
 
[[Categoria:Teorie dell'informatica]]