From 9750c196d5ff86f50d77499b271ee2a29eda3407 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 1 Nov 2001 11:13:01 +0000 Subject: [PATCH] Si prosegue con l'architettura dei file --- fileunix.tex | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) 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) -- 2.30.2