-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Alle 18:47, sabato 12 ottobre 2002, Benedetto Santarella ha scritto: > Mi spiegate cosa sono????
GNU/Linux, memorizza i file, le directories e i link atraverso l?utilizzo della tabella di i-node (index node). Questo metodo consiste nell?associare ad ogni file ed ad ogni directory una tabella per mezzo di un numero che elenca gli attributi e gli indirizzi dei blocchi fisici del disco occupati dalla struttura a cui fa riferimento. Nel caso dei file, i primi indirizzi sono tutti memorizzati nella tabella in maniera tale che piccoli file sono univocamente localizzati dall?inode. Per file di grandi dimensioni in cui l?i-node non basta per memorizzare tutti gli indirizzi del file, il primo campo della tabella viene usato come puntatore ad un blocco fisico del disco. Questo prende il nome di blocco a singola idirizzazione e contiene tutti gli altri indirizzi. . Le directories in generale sono trattate in maniera estremamente semplice e gerarchica. Ogni elemento contiene solo il nome e il suo numero di i-node e tutta l?informazione circa il tipo, il tempo, il proprietario e i blocchi del disco � contenuta nella tabella di i-node. Pertanto quando cerchiamo un file, il filesystem deve prendere il nome del file e localizzare i suoi blocchi nel disco attraverso il path name che noi gli forniamo. Poiche la struttura delle directories � strettamente gerarchica, il primo nome del path verr� ricercato nella directories /root (radice) della quale il sistema operativo conosce la posizione dell?i-node poich� � posto in una posizione fissa della memoria. All?interno di questa cerca il secondo nome del path e di consequenza il suo i-node attraverso il quale trova la sua posizione di blocco e cos� avanti sino al compimento della ricerca. Un nome pu� essere associato ad un i-node e piu nomi possono far riferimento ad un file attraverso una tabella di i-node. Questa infatti al suo interno contiene un campo che tiene conto dei vari collegamenti (link) al file. Questo campo viene aggiornato ogni volta che un nuovo collegamento viene creato o eliminato. La tabella di i-node viene deallocata solamente quando il contatore interno arriva a zero cio� quando non esistono pi� riferimenti al file. I link non possono essere fatti per le directories per non creare cicli La maggior parte dei filesystem mantengono delle strutture in cui sono registrati i blocchi liberi. Spesso queste strutture consistono in una semplice lista, in cui sono scritti gli indirizzi dei blocchi liberi. In tal modo il filesystem sa come soddisfare le richieste di memorizzazione di un programma. Alcuni FS (es ReiserFS) ricorrono alle cosiddette bitmap per registrare i blocchi liberi: queste consistono in un array di bit, in cui ogni bit corrisponde ad un blocco logico all' interno della partizione. Lo stato di ogni blocco logico e' rappresentato dal bit corrispondente nelle bitmap; pertanto un valore "1" potrebbe significare che il blocco logico associato e' in uso, mentre uno "0" significherebbe che e' libero. Il problema principale con questo tipo di strutture e' che con la crescita del filesystem anche le bitmap devono crescere allo stesso modo, dal momento che ogni blocco nel filesystem deve avere nelle bitmap un bit associato. Con l' uso di un algoritmo di ricerca sequenziale per allocare blocchi liberi si nota un calo delle prestazioni, dal momento che il tempo necessario per trovare un blocco libero aumenta linearmente (nel caso peggiore si ha una complessit�' di ordine O(n), dove n e' la dimensione in bit delle bitmap). L' approccio basato sulle bitmap non e' cosi' cattivo quando la dimensione del filesystem e' media, ma con la sua crescita la struttura si comporta peggio. bye miKe _______________________________________ Slackware 8.1 GNU/Linux 2.4.19 @ hp Xe3 R.U.#219755 - S.R.U.#705 - R.M.#110932 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE9qI5dF/9fksDJ4y0RAs1cAJ9ixRzwkUSIHQKU2fPEOZHoT6hYrwCfbMoi ZZdQWcB7oeIVdfE/LBkYJHA= =CK/t -----END PGP SIGNATURE-----
