3. Tipi di partizioni

3.1. Tipi di partizioni

Una partizione è etichettata per ospitare un certo tipo di file system (da non confondersi con l'etichetta di volume; vedere la la Sezione 6). Tale file system potrebbe essere un file system Linux standard ext2 o spazio di swap Linux o anche file system estranei come (Microsoft) NTFS o (Sun) UFS. C'è un codice numerico associato ad ogni tipo di partizione. Per esempio, il codice per ext2 è 0x83 e per lo swap Linux è 0x82. Per vedere un elenco dei tipi di partizione e dei loro codici, eseguire /sbin/sfdisk -T.

3.2. Tipi di partizione estranei

I codici dei tipi di partizione sono stati scelti arbitrariamente (non si può calcolare quale deve essere il loro valore) e sono specifici di un dato sistema operativo. Perciò è in teoria possibile che se si usano due sistemi operativi con lo stesso disco fisso, lo stesso codice sia usato per indicare due diversi tipi di partizione.

OS/2 segna le sue partizioni con tipo 0x07 e così fa l'NTFS di Windows NT. MS-DOS assegna diversi codici di tipo per le diverse versioni dei file system FAT: si conoscono 0x01, 0x04 e 0x06. DR-DOS usava 0x81 per indicare partizioni FAT protette, creando, a quel tempo, un conflitto di tipo con Linux/Minix, ma sia Linux/Minix sia DR-DOS non sono più molto usati.

3.3. Partizioni primarie

Il numero delle partizioni in un sistema Intel è stato limitato sin dagli esordi: la tabella originale delle partizioni è stata installata come parte del settore di avvio e conteneva lo spazio per solo quattro voci di partizione. Queste partizioni vengono ora chiamate partizioni primarie.

3.4. Partizioni logiche

Una partizione primaria di un disco fisso può essere ulteriormente partizionata. Quelle che si ottengono sono partizioni logiche. Questo permette di fatto di aggirare la limitazione storica a quattro partizioni.

La partizione primaria usata per contenere le partizioni logiche è chiamata partizione estesa ed ha il suo tipo di file system (0x05). A differenza delle partizioni primarie, le partizioni logiche devono essere contigue. Ogni partizione logica contiene un puntatore alla seguente partizione logica, il che implica che il numero delle partizioni logiche è illimitato. In ogni caso Linux impone dei limiti sul numero totale di ciascun tipo di partizione su un'unità, perciò in effetti pone un limite al numero delle partizioni logiche. Questo è 15 partizioni totali al massimo su un disco SCSI e 63 totali su un disco IDE.

3.5. Partizioni di swap

Ad ogni processo in esecuzione sul computer è assegnato un numero di blocchi di RAM. Questi blocchi sono chiamati pagine. L'insieme delle pagine nella memoria a cui farà riferimento il processore nell'immediato futuro è chiamato "insieme di lavoro". Linux cerca di prevedere questi accessi alla memoria (ipotizzando che le pagine usate di recente lo saranno ancora nell'immediato futuro) e, se possibile, mantiene queste pagine nella RAM.

Se ci sono troppi processi in esecuzione su una macchina, il kernel cerca di liberare della RAM scrivendo parte delle pagine su disco. Questo è lo scopo per cui esiste lo spazio di swap. Aumenta di fatto la quantità di memoria a disposizione. L'I/O su disco è tuttavia circa cento volte più lento della lettura e scrittura dalla RAM. Considerare questa come memoria di emergenza, non come memoria aggiuntiva.

Se la memoria diventa così poca che il kernel toglie pagine dall'insieme di lavoro di un processo al fine di dare pagine ad un altro, si usa dire cha la macchina è in trashing. Alcuni dei lettori potranno averlo sperimentato inavvertitamente: il disco fisso macina da pazzi, ma il computer è lento a tal punto da essere inutilizzabile. Lo spazio di swap è qualcosa che si deve avere, ma non è un sostituto per una RAM insufficiente. Vedere la trattazione nella la Sezione 4.4 per suggerimenti su come determinare la dimensione dello spazio di swap di cui si ha bisogno.