From: Simone Piccardi Date: Thu, 1 Nov 2001 11:13:01 +0000 (+0000) Subject: Si prosegue con l'architettura dei file X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=9750c196d5ff86f50d77499b271ee2a29eda3407;p=gapil.git Si prosegue con l'architettura dei file --- diff --git a/fileunix.tex b/fileunix.tex index ea5c73b..09e38a8 100644 --- a/fileunix.tex +++ b/fileunix.tex @@ -30,9 +30,29 @@ inizializzare le funzioni che il VFS mette a disposizione (riportate in dovrà essere chiuso, e questo chiuderà il canale di comunicazione impedendo ogni ulteriore operazione. +Per capire come funziona questo canale di comunicazione occorre spiegare +brevemente qual'è architettura con cui il kernel gestisce l'interazione fra +processi e file. Il kernel mantiene sempre un elenco dei processi +attivi nella cosiddetta \textit{process table} ed un elenco dei file aperti +nella \textit{file table}. + +Ciascuna voce della \textit{process table}, che in Linux è costituita da una +struttura \var{task_struct}, che contiene tutte le informazioni relative ad +ogni processo attivo nel sistema; fra queste c'è anche il puntatore ad una +ulteriore struttura \var{files_struct} che contiene le informazioni su tutti i +file che il processo sta usando. + +Ciascuna voce della \textit{file table}, che in Linux è costituita da una +struttura \var{file}, contiene informazioni ogni file aperto nel sistema. + + + All'interno di ogni processo i file aperti sono identificati da un intero non -negativo, chiamato appunto \textit{file descriptors}; all'interno della -struttura (\var{task\_struct}) che identifica il processo nei confronti del +negativo, chiamato appunto \textit{file descriptors}; + + + +) che identifica il processo nei confronti del kernel ogni processo mantiene una sezione (la \var{file_struct}, la cui struttura è riportata in \nfig)