Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 2 Organizzazione del disco
...
La configurazione del disco consente di definire una struttura logica al disco, così da consentire ai driver di sapere dove e come accedere alle informazioni.
La formattazione a basso livello divide il disco in settori che il controller (un'elettronica a bordo del disco) può leggere e scrivere. Ogni settore è composto da:
Spesso i dischi sono troppo grossi per essere gestiti come blocchi unici. Il partizionamento divide il disco in aree gestite come dischi separati.
La formattazione logica è una formattazione ad alto livello del volume logico, che crea tutte quelle strutture dati che consentiranno di vederlo come un file system.
In alternativa posso usare la partizione come raw disk (disco grezzo), ovvero non applicare nessuna formattazione logica ma vedere lo spazio come un insieme di blocchi uno accanto all'altro. E' la soluzione adottata per realizzare lo spazio di swap, che non necessità di file system dal momento che è il gestore della memoria virtuale ad occuparsi della gestione del suo spazio di indirizzamento.
Il boot block contiene il sistema operativo o una sua parte iniziale, ad esempio il caricatore di primo o secondo livello. Senza di esso il disco non può caricare il sistema operativo, e quindi saranno altri dischi o memorie ROM a preoccuparsene.
Il blocco di avvio è contenuto nel settore 0 del disco (il primo ad essere avviato). Nel settore 1 sono invece contenute le strutture dati di base usate come supporto per la gestione del file system, e nei settori successivi avremo la directory radice (che contiene le informazioni sulla radice dell'albero dei DIRETTORI) e i blocchi dati a seguire.
I blocchi difettosi sono denominati bad block, la cui sostituzione è necessaria per evitare che nessuno di essi venga ritornato dal sistema operativo alle applicazioni. La loro gestione può avvvenire in modi diversi:
Queste sostituzioni lasciano dei buchi nella struttura logica, quindi può essere opportuno rimpiazzare i settori con i blocchi guasti, così che ogni traccia appaia composta da soli blocchi funzionanti.
Per la gestione dei bad block si enumerano i blocchi in modo specifico per tutto il disco. Ad esempio potrei usare la coppia "n°traccia / n°settore" per identificarli, o usare un unico id progressivo che non faccia menzione della traccia (che sarà il sistema operativo a calcolarsi).
...
Dove localizzare l'area di swap? Ho due alternative:
...