X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileintro.tex;h=92efd2abf427b68a5802689583509c9697537cda;hp=026325fb38bd6ef783502f3be4a4b2dcf7266ed5;hb=b99370b46df36884995d94ed00de41aa51b4e027;hpb=9b0f636834e8d92e87131bbb99d7d846bab1421a diff --git a/fileintro.tex b/fileintro.tex index 026325f..92efd2a 100644 --- a/fileintro.tex +++ b/fileintro.tex @@ -1,6 +1,6 @@ % fileintro.tex %% -%% Copyright (C) 2000-2002 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2003 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Prefazione", @@ -346,12 +346,12 @@ portabilit \section{L'architettura della gestione dei file} \label{sec:file_arch_func} -Per capire fino in fondo le proprietà di file e directory in un sistema -unix-like ed il comportamento delle relative funzioni di manipolazione, -occorre una breve introduzione al funzionamento gestione dei file da parte del -kernel e sugli oggetti su cui è basato un filesystem. In particolare occorre -tenere presente dov'è che si situa la divisione fondamentale fra kernel space -e user space che tracciavamo al \capref{cha:intro_unix}. +%% Per capire fino in fondo le proprietà di file e directory in un sistema +%% unix-like ed il comportamento delle relative funzioni di manipolazione, +%% occorre una breve introduzione al funzionamento della gestione dei file da +%% parte del kernel e sugli oggetti su cui è basato un filesystem. In particolare +%% occorre tenere presente dov'è che si situa la divisione fondamentale fra +%% kernel space e user space che tracciavamo al \capref{cha:intro_unix}. In questa sezione esamineremo come viene implementato l'accesso ai file in Linux, come il kernel può gestire diversi tipi di filesystem, descrivendo @@ -409,7 +409,7 @@ Il VFS usa una tabella mantenuta dal kernel che contiene il nome di ciascun filesystem supportato: quando si vuole inserire il supporto di un nuovo filesystem tutto quello che occorre è chiamare la funzione \code{register\_filesystem} passandole un'apposita struttura -(\struct{file\_system\_type}) che contiene i dettagli per il riferimento +\code{file\_system\_type} che contiene i dettagli per il riferimento all'implementazione del medesimo, che sarà aggiunta alla citata tabella. In questo modo quando viene effettuata la richiesta di montare un nuovo disco @@ -531,9 +531,9 @@ astratta del VFS. Qualora se ne voglia eseguire una, il kernel andr utilizzare l'opportuna routine dichiarata in \struct{f\_ops} appropriata al tipo di file in questione. -Pertanto è possibile scrivere allo stesso modo sulla porta seriale come su -normale un file di dati; ovviamente certe operazioni (nel caso della seriale -ad esempio la \code{seek}) non saranno disponibili, però con questo sistema +Pertanto è possibile scrivere allo stesso modo sulla porta seriale come su un +normale file di dati; ovviamente certe operazioni (nel caso della seriale ad +esempio la \code{seek}) non saranno disponibili, però con questo sistema l'utilizzo di diversi filesystem (come quelli usati da Windows o MacOs) è immediato e (relativamente) trasparente per l'utente ed il programmatore. @@ -654,7 +654,7 @@ adesso sar Il filesystem standard usato da Linux è il cosiddetto \textit{second extended filesystem}, identificato dalla sigla \acr{ext2}. Esso supporta tutte le caratteristiche di un filesystem standard Unix, è in grado di gestire nomi di -file lunghi (256 caratteri, estendibili a 1012) con una dimensione massima di +file lunghi (256 caratteri, estensibili a 1012) con una dimensione massima di 4~Tb. Oltre alle caratteristiche standard, \acr{ext2} fornisce alcune estensioni che