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 Direttori e loro caratteristiche

Pag 1

Sommario

...

Pag 2

Direttorio (directory)

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.

Operazioni

...

Pag 3

Strutturazione del file system

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.

Direttorio a singolo livello

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:

  • gestione omonimie. Se abbiamo file omonimi riscontriamo dei conflitti perché si trovano nello stesso contenitore e quindi non è possibile effettuare accessi corretti. Se ad esempio un utente vuole tenere due mailbox, non potrà memorizzarle entrambe col nome "mail". Terribile
  • ridenominazione, dal momento che bisogna sempre fare attenzione alle omonimie
  • raggruppamento, ovvero non si riesce a dare alcun raggruppamento logico a file di diverse attività.

Se quindi ho tante attività e voglio strutturarle in modo logico, questo sistema non va bene per un cazzo.

Pag 4

Direttorio a due livelli

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:

  • si possono avere file omonimi per utenti diversi
  • ricerca più efficiente per singoli utenti, dato che ogni utente vede i suoi file
  • nessuna capacità di raggruppamento. Posso solo separare i file di utenti diversi, non tra le varie attività
  • nessuna possibilità di condivisione: ogni file rimane specifico di un direttorio

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

Visione logica 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.

Pag 5

Direttorio ad albero (1)

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)

Direttorio ad albero (2)

Proprietà piacevoli:

  • gestione adatta a livelli multi-utente perché permette di creare sottinsiemmi di file specifici per ciascun utente, così che ognuno possa lavorare solo nella sua porzione di file system (pur potendo sempre accedere ad altre parti)
  • ricerca efficiente
  • capacità di raggruppamento
  • capacità di condivisione, mettendo in piedi opportuni meccanismi di locking che garantiscano sempre la consistenza delle informazioni
  • identificazione e capacità di rilocazione -> direttorio corrente. Avviene quindi una distinzione tra percorso relativo (rispetto a un dato direttorio) e assoluto (rispetto alla radice). Se ad esempio sposto una home directory in un altro sottoalbero, il suo contenuto aggiorna automaticamente il proprio percorso assoluto

Pag 6

Direttorio a grafo aciclico

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.

Direttorio a grafo generale

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

Pag 7

Memorie di massa a dischi multipli

Se ho più memorie di massa su più dischi, potrei avere due casi:

  • ognuna di esse ha un proprio file system (windows)
  • posso scegliere di "spalmare" un unico file system su più dischi (linux)

Memorie di massa con grossi dischi

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.

Pag 8

Partizione

La partizione è un'astrazione del dispositivo fisico di memorizzazione di massa. Alcune partizioni possono distribuirsi su più dischi fisici.

Montaggio dei file system

Comunque io abbia organizzato il file system su più dischi, posso montarli in modo da vederli come uno solo. Come si fa?

  1. si sceglie uno dei file system, la cui radice diventerà quella del sistema che si vuole ottenere
  2. si sceglie al suo interno un direttorio che dovrà rappresentare tutto l'altro file system. Questa directory è detta punto di montaggio
  3. al punto di montaggio si aggancia la radice del secondo file system (ad esempio col comando mount)
  4. nel secondo file system le posizioni assolute dei suoi oggetti si aggiornano automaticamente in base alla nuova radice

Torna alla pagina di Sistemi Operativi