sistemi/s02/filesystem.md
... ...
@@ -0,0 +1,85 @@
1
+---
2
+Title: Filesystem
3
+---
4
+
5
+## Visione utente
6
+
7
+I computer possono usare diversi media per registrare in modo permanente le info (es. hdds, nastri, floppy ecc)
8
+Il file system si occupa di astrarre la complessita' di utilizzo dei diversi media proponendo un interfaccia per i sistemi di memorizzazione:
9
+
10
+- comune
11
+- efficiente
12
+- conveniente da usare
13
+
14
+Dal punto di vista dell'utente un fs e' composto da due elementi: file (unita' logica di memorizzazione) e directory (servono per organizzare i file che compongono un fs)
15
+
16
+### File
17
+
18
+Il concetto di file:
19
+
20
+- e' l'entita' atomica di assegnazione/gestion della mem secondaria
21
+- e'una collezione di info correlate
22
+- fornisce una vista logica uniforme ad info correlate
23
+
24
+Attributi dei file:
25
+
26
+- Nome: stringa di caratteri che permette agli utenti e al so di identificare un particolare file
27
+- Tipo: necessario in alcuni sistemi per indentificare il tipo di file
28
+- Locazione e dimensione: info sul posizionamento del file in mem secondaria
29
+- Data e ora: info relative al tempo di creazione ed ultima modifica del file
30
+- Info sulla proprieta': utenti, gruppi.
31
+- Attributi di protezione: info di accesso per verificare chi e' autorizzato a eseguire op sui file
32
+- Altro: flag, info di locking, ecc
33
+
34
+#### Tipi di file
35
+
36
+A seconda della struttura interna:
37
+
38
+- senza formato (stringa di byte): file testo
39
+- con formato: file di record, file di database, a.out
40
+
41
+A seconda del contenuto:
42
+
43
+- ascii/binario
44
+- sorgente, oggetto
45
+- eseguibile
46
+
47
+Alcuni S.O. supportano e riconoscono diversi tipi di file
48
+Esistono tre tecniche principali per identificare il tipo di un file:
49
+
50
+- meccanismo delle estensioni
51
+- utilizzo di un attributo "tipo" associato al file nella directory
52
+- magic number
53
+
54
+![filesystem_2026-03-19_17-04-57](assets/imgs/filesystem_2026-03-19_17-04-57.png)
55
+
56
+![filesystem_2026-03-19_17-06-20](assets/imgs/filesystem_2026-03-19_17-06-20.png)
57
+
58
+I file possono essere strutturati in molti modi:
59
+
60
+1. seq di byte
61
+2. seq di record logici
62
+3. file indicizzati (struttura ad albero)
63
+
64
+![filesystem_2026-03-19_17-07-34](assets/imgs/filesystem_2026-03-19_17-07-34.png)
65
+
66
+Nota: la struttura piu comune e' la 1. I DB usano strutture 2. La 3. serve per gestire grandi moli di dati.
67
+
68
+I sistemi operativi possono attuare diverse scelte nella gestione della struttura dei file:
69
+
70
+- scelta minimale
71
+ - i file sono considerati semplici stringhe di byte, a parte i file eseguibili il cui formato è dettato dal s.o.
72
+ - e.g., UNIX e MS-DOS
73
+- parte strutturata/parte a scelta dell'utente
74
+ - e.g. Macintosh (resource fork / data fork)
75
+- diversi tipi di file predefiniti
76
+ - e.g., VMS, MVS
77
+ E’ un trade-off tra:
78
+- più formati: codice di sistema più ingombrante, incompatibilità di programmi (accesso a file di formato differente) MA gestione efficiente e non duplicata per i formati speciali
79
+- meno formati: codice di sistema più snello
80
+
81
+#### Metodi di accesso
82
+
83
+- sequenziale (read write)
84
+- ad accesso diretto: read pos, write pos (oppure op di seek)
85
+- indicizzato: read key, write key (tipico dei DB)