Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 2 Direttori e loro caratteristiche
...
I DIRETTORI cono strutture informative che supportano il raggruppamento dei file in base a criteri logici, in modo da gestirne l'accesso in modo efficiente. Possono essere considerati come una collezione omogenea di informazioni (attributi) su gruppi di file. Da un punto di vista formale per direttorio si intende l'insieme delle sequenze di file contenute nel direttorio stesso.
...
Per file system intendiamo l'insieme di file e directory che andremo a trattare nel sistema, ovvero un'organizzazione globale dei file del sistema nei vari sottoinsiemi individuati dai direttori.
I direttori a singolo livello erano usati su sistemi monoutente e con una piccola memoria di massa, anche di poche centinaia di Kb. Per "almeno concettualmente" si intende che gli utenti non usavano in modo autonomo o indipendente il calcolatore. Non esisteva ancora il concetto di omogeneizzazione tra risorse fisiche e informative, che venivano viste separate.
Problemi:
Se quindi ho tante attività e voglio strutturarle in modo logico, questo sistema non va bene per un cazzo.
Rispetto alla struttura precedente è stato assegnato un'ulteriore direttorio per ogni utente. Questo sistema è stato introdotto quando si sono diffusi i primi sistemi multiutente, che avevano comunque una bassa richiesta di memoria di massa per utente.
Caratteristiche:
Notare che il direttorio a singolo livello e quello a due livelli cercavano di risolvere dei problemi specifici, e quindi mantenevano una visione parziale e utilitaristica del file system
Come avere una vera astrazione dell'informazione? Come organizzarla in modo logico prescindendo da dettagli come proprietà, condivisioni, ... ? Il modo più naturale per trovare informazioni è raggrupparle per aspetti comuni in sottoinsiemi disgiunti via via più specifici. Si può intuitivamente rappresentare questa struttura con un albero, dal quale è facilmente deducibile che nessun file potrà appartenere a direttori diversi dato che può avere un unico percorso radice-file.
Con questa struttura non sappiamo più dove si trovano fisicamente i file nel disco, ma lo sappiamo a livello logico ed è tutto di guadagnato. La posizione logica è il percorso del file, ovvero la sequenza di cartelle a partire dalla radice che attraverso per arrivare al file stesso.
Non si applica più il criterio di assegnare un direttorio ad ogni utente in modo forzato, come nella struttura a due livelli. Ciò può accadere solo in alcuni sistemi operativi come Unix dove viene riservata una home directory; ma l'utente non è confinata in essa, che è comunque composta da un numero limitato di file. In particolare la home directory è quella porzione di file system su cui un utente specificamente lavora in modo indipendente dagli altri (utenti non cooperanti)
Proprietà piacevoli:
Se non è strettamente indispensabile imporre nette separazioni tra i direttori, si potrebbero relizzare delle ripartizioni molto più lasche, non disgiunte. Ad esempio uno stesso file potrebbe avere più percorsi di accesso, il che comporta una condivisione di file e direttori.
In questo caso posso avere dei cicli nell'albero, cui bisogna prestare particolare attenzione dato che aumentano la complessità degl algoritmi di ricerca (che potrebbero entrare in cicli infiniti).
Se ho più memorie di massa su più dischi, potrei avere due casi:
Può capitare che dischi enormi facciano pasticci con i file. La soluzione è separare porzioni di disco con delle partizioni, in modo che problemi su una di esse non si ripercuotono anche sulle altre. E' una strategia comoda anche per i backup, perché consente una separazione tra i programmi e i dati.
La partizione è un'astrazione del dispositivo fisico di memorizzazione di massa. Alcune partizioni possono distribuirsi su più dischi fisici.
Comunque io abbia organizzato il file system su più dischi, posso montarli in modo da vederli come uno solo. Come si fa?