cerca
Sistemi Operativi - Appunti caotici
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Sistemi Operativi - Appunti caotici

Torna alla pagina di Sistemi Operativi


 :: Appunti caotici ::

Lezione 2 Organizzazione del disco

Pag 1

Sommario

...

Pag 2

Configurazione 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.

Formattazione fisica

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:

  • header, una sequenza di bit che definiscono funzioni di servizio per il controller
  • zona dati
  • terminatore, che indica dove termina il blocco

Pag 3

Partizionamento

Spesso i dischi sono troppo grossi per essere gestiti come blocchi unici. Il partizionamento divide il disco in aree gestite come dischi separati.

Formattazione logica

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.

Pag 4

Il blocco di avvio

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.

Blocchi difettosi

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:

  • gestione automatica a livello disco
  • sector sparing, sector forwarding, che in pratica sostituiscono un settore rovinato con un settore funzionante (spare) che era stato preventivamente tenuto da parte. Gestita a livello hardware
  • sector slipping. Gestita a livello hardware

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).

Pag 5

Uso dell'area di swap

...

Locazione dell'area di swap

Dove localizzare l'area di swap? Ho due alternative:

  • su una partizione dedicata gestita in modo raw, soluzione tipicamente utilizzata dai sistemi operativi perché ha un accesso più veloce (bisogna assegnarne il più possibile: non essere tirchi). E' anche detta area di swap statica
  • su file gestiti attraverso le normali funzioni del file system. Questa soluzione è molto meno performante della precedente, dato che le gestioni tramite funzioni di file system comportano più tempo di computazione. E' anche detta area di swap dinamica, perché si possono cambiare le dimensioni cambiando la configurazione del file. Dovrebbe essere l'ultima spiaggia perché è la più lenta; quindi è usata da Windows

Pag 6

Strutturazione dell'area di swap

...


Torna alla pagina di Sistemi Operativi