Logical block addressing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Brískelly (discussione | contributi)
Nessun oggetto della modifica
Alez (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
Il '''Logical block addressing''' è un sistema di accesso ai dati usato nei dischi fissi EIDE, introdotto per superare il limite dei 528 megabyte del precedente sistema CHS.
 
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. 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 la tecnologia [[EIDE]] esegue la numerazione dei settori partendo da 0 fino ad un massimo di <math>2^{24} - 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 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 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]] 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.
 
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]]).
Tale metodo però era intrinsecamente limitato dato che prevedeva l'uso di 4 bit per specificare la testina, 6 per il settore e 10 per il cilindro. Con queste specifiche si potevano indirizzare massimo 16 testine, 63 settori e 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 alla tecnologia IDE, si potevano indicizzare massimo 1.032.192 settori, che per una dimensione di 512 byte ciascuno, portavano a massimo 528 megabyte. Con l'introduzione del EIDE, ovvero Extended IDE, 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 16.777.216 settori.
 
 
 
 
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).
 
[[Categoria:Informatica]]