You are on page 1of 14

Dispense di Calcolatori Elettronici 1

Capitolo 10 - GESTIONE DEI FILE

10.1 GENERALITA’
La gestione dei file richiede lo svolgimento delle seguenti funzioni:
• tenere traccia dell’informazione nel sistema
• determinare dove e come memorizzare l’informazione e chi ha diritto di accedervi
• rendere disponibile l’informazione ai processi autorizzati che la richiedono
• rilasciare le risorse usate dall’informazione non più richiesta

Si chiama file system la parte del sistema operativo che si occupa di svolgere le predette
funzioni. Il file system può essere strutturato in modo gerarchico secondo lo schema di fig.
10-1 e comprendere moduli organizzati in livelli: il livello considerato più basso è
rappresentato dal modulo Strategie di gestione dei dispositivi, il più vicino al nucleo del
calcolatore, mentre il più alto e’ rappresentato dal File System Simbolico, il più vicino al
programmatore.

La descrizione che segue rispecchia la suddivisione in moduli di fig.10-1. E’ importante pero’


tenere presente che la suddivisione in moduli può mancare nei sistemi operativi più semplici: in
tal caso esiste un unico modulo del sistema operativo che continua tuttavia a svolgere tutte le
funzioni attribuite ai singoli moduli della struttura gerarchica, con la stessa concatenazione logica
ed operativa.

Lo scopo del file system è quello di consentire al programmatore di occuparsi soltanto della
struttura logica dei dati e delle operazioni da eseguire su di essi; al tempo stesso consente di
condividere e di proteggere l’informazione.

10.2 ESEMPIO USATO NELL’ESPOSIZIONE


Si immagini di voler trasferire da un disco il 4° record logico di un file di nome ORARIO,
costituito da 7 record logici da 500 byte ciascuno, in memoria primaria a partire dalla
posizione di indirizzo 12000. L’operazione puo’ essere descritta da una dichiarazione del tipo
READ FILE(ORARIO) RECORD(4) INTO LOCATION(12000)

Il disco contiene tre file denominati rispettivamente VOTI, ORARIO, CORSI, e la loro
memorizzazione e’ attuata secondo lo schema di fig. 10-2. Per semplicità i blocchi fisici,
coincidenti con i settori e di 1000 byte ciascuno, sono individuati con un unico numero
(anziché con numero di traccia e numero di settore). I blocchi 0 ed 1 sono riservati per fini che
verranno precisati in seguito.
Per soddisfare la richiesta sopra indicata è necessario eseguire i passi elencati in fig. 10-3. Si
suppone che le caratteristiche dei file presenti siano contenute in un apposito indirizzario
(“directory”); inoltre, essendo i file memorizzati in modo sequenziale nei blocchi (allocazione
contigua), la posizione fisica di un record logico sul disco può essere determinata conoscendo
la dimensione dei blocchi fisici, il numero del blocco fisico iniziale, e la lunghezza del record
logico.

10.3 MODELLO GENERALE DI FILE SYSTEM


Le principali componenti del file system sono indicate in fig. 10-4. La maggior parte di esse
corrisponde a generalizzazioni dei passi descritti nella fig. 10-3.

Capitolo 10 10.1
Dispense di Calcolatori Elettronici 1
Si suppone che ogni livello della gerarchia dipenda solo dai livelli ad esso sottostanti. Si tenga
presente che i livelli possono essere ulteriormente suddivisi o combinati.

File system simbolico

File system di base

Protezione

File system logico

File system fisico


File System
Strategie di gestione
dei dispositivi

Gestione dei dispositivi

Gestione dei processori


a livello dei job

Gestione della memoria

Gestione
dei processori
a livello dei
processi e
sincronizza-
zione

Figura 10-1. Gerarchia delle componenti di un sistema operativo

L’indirizzario dei file (directory) è per lo più memorizzato sul supporto di memorizzazione
secondario (spesso denominato volume) come un qualsiasi altro file, per non occupare Mp e
per consentire il trasferimento del volume da un calcolatore ad un altro.
In questa ipotesi per ridurre il tempo di ricerca si possono trasferire in Mp solo gli elementi
relativi ai file via via richiamati, mantenendoveli per il tempo strettamente necessario (per
esempio con l’uso di opportuni comandi, tipo “open” e “close”).

Capitolo 10 10.2
Dispense di Calcolatori Elettronici 1
Num ero settore

0 1 2 3
0 1 2 3
0
VO TI

4 5 6 7
1
1 2 3 4
Numero
traccia 8 9 10 11
2
5 6 7

12 13 14 15
3
C O R S I

i = Record logici
= Blocchi fisici
= 500 byte
= 1000 byte
i

= File O RARIO

Figura 10-2. Memorizzazione dei file su disco

PASSI AZIONE

L’indirizzario dei file è consultato per trovare l’identificatore che il sistema ha


Passo 1 associato al nome ORARIO.

Dall’indirizzario dei file è estratta l’informazione su ORARIO e più precisamente: la


dimensione del record logico, l’indirizzo del primo blocco fisico, l’informazione su
Passo 2 protezione e controllo degli accessi.

Passo 3 Basandosi sulle informazioni relative a protezione e controllo dei file, si decide se
abilitare il processo che ne ha fatto richiesta ad accedere al file ORARIO.

Il numero del record logico specificato nella operazione ( record 4 di ORARIO) è


Passo 4
trasformato in un indirizzo del byte logico.

Passo 5 L’indirizzo del byte logico è trasformato in un indirizzo di blocco fisico.

Passo 6 Il blocco fisico individuato viene letto in un buffer nella Mp per mezzo di un opportuno
programma di I/O.

Passo 7 Il record logico desiderato è estratto dal blocco dal blocco fisico letto e viene inserito
in Mp a partire dalla posizione voluta (12000).

Figura 10-3. Passi da eseguire per soddisfare la richiesta:


Capitolo 10 10.3
Dispense di Calcolatori Elettronici 1
READ FILE(ORARIO) RECORD(4) INTO LOCATION(12000)
Richiesta di accesso ad un file Passi corrispondenti
in Figura 10-3

1 Modulo File System Simbolico (FSS) Passo 1

2 Modulo File System di Base (FSB) Passo 2

3 Modulo Verifica delle Condizioni di Accesso (VCA) Passo 3

4 Modulo File System Logico (FSL) Passo 4

5 Modulo File System Fisico (FSF) Passi 5 e 7

Se operazione di
scrittura

9 Modulo Strategia di allocazione 6 Modulo Strategia di dispositivo

7 Avvio di I/O Passo 6

Gestione del
dispositivo
8 Gestore del dispositivo

Figura 10-4. Modello generale di un file system di tipo gerarchico

10.4 FILE SYSTEM SIMBOLICO (FSS)


Per coinvolgere questo modulo si possono usare chiamate del tipo
CALL FSS(funzione, nome file, n° record logico, indirizzo)
e cioè nell’esempio
CALL FSS(READ, ‘ORARIO’, 4, 12000 )

Presupponendo una corrispondenza uno a uno tra nomi di file e file, il sistema crea un elenco
simbolico dei file (Symbolic File Directory o SFD), tabella nella quale associa ad ogni nome un
identificatore interno convenzionale. La fig. 10-5a riporta l’elenco simbolico dei file per il disco
usato nell’esempio; per gli sviluppi successivi si ipotizza che ogni elemento di SFD occupi 20
byte.

Capitolo 10 10.4
Dispense di Calcolatori Elettronici 1

10.5 FILE SYSTEM DI BASE (FSB )


Questo modulo può essere chiamato con
CALL FSB(funzione, identificatore file, n° record logico, indirizzo)
e cioè nell’esempio (essendo 5 l’identificatore associato a ORARIO)
CALL FSB(READ, 5, 4, 12000)

Il FSB utilizza un elenco basilare dei file (Basic File Directory o BFD), tabella che fornisce tutte
le caratteristiche dei vari file (si veda fig 10.5b); le caratteristiche dei file da usare sono reperite
per mezzo dell’identificatore (ID) individuato dal FSS. L’elemento dell’elenco basilare dei file
relativo al file 5 (il file ORARIO) è copiato in Mp, nella Tabella dei File Attivi (Active File Table
o AFT). I blocchi fisici 1 e 0 sono usati per elenco simbolico dei file ed elenco basilare dei file
rispettivamente; attribuendo ad essi un identificatore se ne facilita la utilizzazione.

Nei sistemi reale è in effetti possibile:


1. dare più nomi ad uno stesso file
2. condividere file tra più utenti
3. dare lo stesso nome a file diversi
4. suddividere i file in gruppi
per esempio associando un elenco simbolico dei file ad ogni programmatore (o gruppo di
programmatori) e trattando come file anche tali elenchi.

Se si ammette, per esempio, che ogni programmatore abbia un proprio elenco simbolico dei file,
occorre un elenco simbolico primario che specifichi la posizione nell’elenco basilare dei file
dell’elenco simbolico dei file di ciascun programmatore.
Un esempio di siffatta organizzazione (7 file, 4 elenchi simbolici dei file) è riportato in fig. 10-6.
Si noti che si è prevista la possibilità per un utente di crearsi un sottoelenco simbolico
(nell’esempio l’indirizzario MATEM di ROSSI). Naturalmente l’elenco basilare dei file contiene
tutte le informazioni utili a caratterizzare un file e non solo le due indicate in figura.
Una organizzazione gerarchica di file come quella descritta in fig. 10-6 può essere
rappresentata con la struttura ad albero di fig. 10-7.

In effetti quando è chiamato il FSB, esso ricerca l’identificatore (fornito dal FSS) nella AFT per
vedere se il file è stato già “aperto”: se non c’è, ne aggiunge le caratteristiche alla AFT
prelevandole dall’elenco basilare dei file.
Se uno stesso file compare in più elenchi simbolici di file, l’elenco basilare dei file può riportare
anche il numero di elenchi simbolici di file che lo contengono, in modo da agevolare per esempio
la cancellazione.

10.6 VERIFICA DELLE CONDIZIONI DI ACCESSO (VCA )


Questo modulo può essere chiamato con
CALL VCA(funzione, elemento di AFT, n° record logico, indirizzo)
ossia nell’esempio (se supponiamo che le caratteristiche del file ORARIO siano state
memorizzate nell’elemento 2 della AFT )
CALL VCA(READ, 2, 4, 12000)

Il modulo VCA verifica che la funzione richiesta (lettura, scrittura, ecc.) sia consentita al
programmatore che la richiede in base a quanto riportato nell’elemento della AFT. Se la
funzione non è consentita si ha segnalazione di errore.

Capitolo 10 10.5
Dispense di Calcolatori Elettronici 1
Identificatore
Nome unico
( ID )

1 VOTI 3

2 ORARIO 5

3 CORSI 6

20 byte per elemento

a) Elenco simbolico dei file ( Symbolic File Directory o SFD )

ID Dimensione del Numero di Indirizzo Informazioni


record logico record logici del primo su protezione
( byte ) blocco fisico e controllo degli accessi

1 0 (elenco basilare dei file)

2 20 3 1 (elenco simbolico dei file)

3 80 10 2 Accessibile a tutti

4 (nulla)

5 500 7 6 Solo lettura

6 100 30 12 Abilitazione in lettura per Bianchi


Abilitazione in lettura/scrittura
per Rossi
7 (nulla)

8 (nulla)

b) Elenco basilare dei file ( Basic File Directory o BFD )

Figura 10-5. Esempio di elenco simbolico dei file e di elenco basilare dei file

Si noti che la condivisione controllata di file risulta utile in quanto consente di:
1. ridurre l’occupazione di Ms
2. sincronizzare gli aggiornamenti per tutti gli utilizzatori dei file condivisi
3. ridurre l’attività di I/O e migliorare di conseguenza le prestazioni.

La verifica prevista dal modulo VCA si può attuare con diversi strumenti:
• matrice di controllo degli accessi
• parola d’ordine
• crittografia

Capitolo 10 10.6
Dispense di Calcolatori Elettronici 1
Indirizzo del
primo blocco
ID fisico Nome ID(identificatore ) Indirizzario

1 0 BIANCHI 11 Sì

2 1 ROSSI 12 Sì

3 2 Elenco simbolico primario ( ID: 2 )


ID 3
4 3 ( VOTI di BIANCHI, VOTI di ROSSI )

5 6
ID 4
( libero )
6 12

7 10 ID 5
( ORARIO di BIANCHI )
8 15
ID 6
9 11 ( ORARIO di ROSSI )

10 4
ID 7
( COSENO di BIANCHI, COS di ROSSI )
11 5

12 9 ID 8
( SIN di BIANCHI, SIN di MATEM di ROSSI )
Elenco basilare dei file
( ID: 1 ) ID 9
( SQRT di MATEM di ROSSI)

Nome ID Indirizzario Nome ID Indirizzario Nome ID Indirizzario

VOTI 3 No VOTI 3 No SIN 8 No

ORARIO 6 No ORARIO 5 No SQRT 9 No

COS 7 No COSENO 7 No Sottoelenco simbolico


MATEM di ROSSI
MATEM 10 Sì SIN 8 No ( ID: 10 )

Elenco simbolico di ROSSI Elenco simbolico di BIANCHI


( ID: 12 ) ( ID: 11 )

Figura 10-6. Esempio di organizzazione di file

Capitolo 10 10.7
Dispense di Calcolatori Elettronici 1
Indirizzario principale

2
BIANCHI

ROSSI

Indirizzario di Indirizzario di
BIANCHI 3 ROSSI
11 12
VOTI VOTI

ORARIO 7 ORARIO

COSENO COS

SIN MATEM
8

5 6
Indirizzario
MATEM
10 File di dati
SIN
9
SQRT File
contenente
indirizzari

Figura 10-7. Schema ad albero di una struttura gerarchica di file

Matrice di controllo degli accessi


Si suppone che ogni utente sia univocamente identificabile (come è necessario, per esempio,
per poter attribuire gli addebiti relativi all’uso delle risorse).
La matrice di controllo degli accessi precisa per ogni utente i diritti che esso ha sui file presenti
nel sistema. Un esempio è riportato in fig. 10-8.
Se utenti e file sono numerosi, la matrice può occupare molta memoria; in tal caso si può per
esempio associare ad ogni file una lista delle utilizzazioni consentite, ricorrendo a
raggruppamenti di utenti ed al gruppo speciale “tutti gli altri”. In questo caso le liste fanno
parte dell’elenco basilare dei file e vengono copiate nella AFT.

Parola d’ordine
Matrice o liste occupano comunque spazio in memoria ed il loro aggiornamento è complesso.
In alternativa si può associare ad ogni file una parola d’ordine che l’utente deve fornire per
poter usare il file.
Questo metodo comporta un limitato uso di memoria ma e’ piu’ laborioso da gestire del
precedente quando si vuole cambiare la parola d’ordine.

Crittografia
Il modulo di verifica delle condizioni di accesso codifica (“trasforma”) il file usando una chiave
fornita dall’originatore del file ed occorre una chiave per decodificare il file al momento dell’uso.
Il metodo è piu’ sicuro dei due precedenti in quanto utilizza informazioni (le chiavi) che non e’
necessario memorizzare nel sistema, ma comporta il costo di codifica e decodifica.

Capitolo 10 10.8
Dispense di Calcolatori Elettronici 1

Bianchi Rossi Parodi Valle ...


FILE

SQRT E LSE E E

LSE E E Nessuno Tipi di accesso:


PL /1
L = lettura
LS L L L S = scrittura
Listino di borsa E = esecuzione

L LS L Nessuno
Procedura stipendi

Figura 10-8. Esempio di matrice di controllo degli accessi

10.7 FILE SYSTEM LOGICO (FSL)


Questo modulo può essere chiamato con una dichiarazione del tipo
CALL FSL(funzione, elemento di AFT, n° record logico, indirizzo)
ossia nell’esempio ancora con
CALL FSL(READ, 2, 4, 12000)
Il File System Logico trasforma la richiesta di record logico nella richiesta di una stringa di
byte, convertendo la struttura dei record logici in una stringa lineare di byte, come richiesto
dal File System Fisico.

Se i record logici hanno lunghezza costante la trasformazione si puo’ attuare in modo molto
semplice in quanto si ha per il primo byte del record logico da trasferire
indirizzo primo bytelogico = (n° record - 1) x (lunghezza del record logico).
Nell’esempio si ottiene:
indirizzo primo bytelogico = (4 - 1) x 500 = 1500

In effetti il File System Logico puo’ trovarsi a dover gestire diverse strutture di record quali ad
es.:
1. record di lunghezza fissa, organizzati sequenzialmente (come quella presa in esame)
2. record di lunghezza variabile, organizzati sequenzialmente
3. record con chiave, organizzati sequenzialmente
4. record con più chiavi
5. record concatenati
e di conseguenza l’individuazione dell’indirizzo del primo byte logico puo’ risultare piu’
complessa.

10.8 FILE SYSTEM FISICO (FSF)


La chiamata di questo modulo può essere fatta con
CALL FSF(funzione, elemento di AFT, indirizzo del primo byte logico, lunghezza in byte del record
logico, indirizzo )
ossia nell’esempio
CALL FSF(READ, 2, 1500, 500, 12000 )

Capitolo 10 10.9
Dispense di Calcolatori Elettronici 1
Il FSF esegue i passi 5 e 7 del procedimento generale (vedere fig. 10-3): utilizzando l’indirizzo
del primo byte logico e i dati contenuti nella AFT determina il blocco fisico che contiene la
stringa di byte richiesta e, dopo che il modulo che definisce la strategia d’uso del dispositivo ha
letto e trasferito il blocco fisico in un buffer preassegnato in Mp, estrae la stringa stessa e la
trasferisce nel buffer dell’utente.

Nell’ipotesi di allocazione contigua dei dati come quella di fig. 10-2 il numero di blocco fisico si
ricava da
Indirizzo del 1º byte logico
N° blocco fisico = + Indirizzo 1° blocco fisico
Dimensione blocco fisico

e quindi per l’esempio risulta

1500
+ 6 =1+6 = 7
1000

L’indirizzo iniziale della stringa di byte all’interno del blocco fisico si ricava da
Indirizzo del 1º byte logico
Scostamento nel blocco fisico = Resto di
Dimensione blocco fisico

e per l’esempio risulta


1500
Resto di = 500
1000

Per poter eseguire i predetti calcoli il FSF deve conoscere la funzione usata per inserire i file e
la dimensione del blocco fisico per ogni dispositivo usato come Ms. Questa informazione
risiede solitamente sul volume stesso ed è trasferita nella tabella di organizzazione fisica,
usata dal FSF, allorché il sistema è avviato.

In presenza di una richiesta di scrittura, se il blocco fisico non è stato ancora allocato il FSF
richiama il modulo che definisce la strategia di allocazione per ottenere l’indirizzo di un blocco
fisico libero.

Il FSF può essere affinato per:


1. minimizzare le operazioni di I/O
2. consentire l’impiego di record logici di dimensione indipendente da quella dei blocchi
fisici
3. consentire l’allocazione di aree non contigue.

10.8.1. MINIMIZZAZIONE DELLE OPERAZIONI DI I/O


Per poterla attuare occorre tener traccia di quale è il blocco fisico presente nel buffer di Mp (in
cui viene copiato un blocco fisico alla volta): se il record logico richiesto è già in Mp, non
occorre eseguire l’operazione di lettura.
Per esempio, se i record logici del file ORARIO sono letti in sequenza, bastano 4 operazioni di
I/O (altrimenti ne occorrerebbero 7).

10.8.2. DIMENSIONE RECORD LOGICI INDIPENDENTE DA DIMENSIONE BLOCCHI FISICI


E’ possibile per il programmatore utilizzare record logici la cui lunghezza non è un
sottomultiplo della dimensione dei blocchi fisici, per evitare spreco di Ms: in questo caso i
passi 5, 6, 7 devono essere opportunamente modificati.

10.8.3. ALLOCAZIONE DI AREE NON CONTIGUE


Si ottiene tipicamente ricorrendo ad una delle seguenti tecniche:
Capitolo 10 10.10
Dispense di Calcolatori Elettronici 1
a. blocchi concatenati
b. mappe dei file

a. Con la tecnica dei blocchi concatenati ogni blocco fisico contiene l’indirizzo (puntatore) del
blocco fisico “logicamente contiguo”. Ne consegue una limitata riduzione della capacità dei
blocchi, ma l’impiego è efficiente solo per accesso sequenziale ai blocchi.

La fig. 10-9 riporta una possibile allocazione del file ORARIO basata su questa tecnica.

b. Con la tecnica delle mappe dei file per ogni file si costruisce una tabella di corrispondenze
tra
Indirizzo del 1ºbyte logico
Dimensione blocco fisico e indirizzi dei blocchi fisici.

La tabella è memorizzata in un blocco a parte (si veda per esempio la fig. 10-10 per il file
ORARIO) o nell’elenco basilare dei file. Allorché si inizia l’uso di un file, tutta o parte della
tabella è copiata in Mp nella AFT.

10.9 MODULO STRATEGIA DI ALLOCAZIONE (MSA)


Questo modulo tiene traccia dei blocchi non utilizzati nei vari dispositivi.
E’ richiamabile con
CALL MSA(elemento tabella di organizzazione fisica, n° di blocchi, primo blocco)
in cui:
• elemento tabella di organizzazione fisica individua il dispositivo prescelto (si ricordi che la
tabella di organizzazione fisica contiene la funzione di allocazione e la dimensione dei
blocchi fisici per i vari dispositivi)
• n° blocchi individua la dimensione del file da memorizzare
• primo blocco è il nome della variabile in cui viene inserito l’indirizzo del primo dei blocchi
richiesti.
Il richiamo può essere automatico da parte del FSF.

L’allocazione può essere


1. automatica
2. dinamica

1. Nel caso di allocazione automatica il sistema attua una allocazione di spazio contiguo
tenendo traccia delle aree libere a mezzo di elementi fittizi nell’elenco basilare dei file. La fig.
10-11 riporta l’elenco basilare dei file prima e dopo l’inserimento dei file ORARIO e CORSI,
con riferimento ad un disco organizzato come in fig. 10-2.
L’allocazione automatica presenta due inconvenienti: origina frammentazione della Ms;
richiede di predefinire la dimensione di un file, cosa spesso non facile da farsi.

2. L’allocazione dinamica supera i due predetti inconvenienti a mezzo della allocazione di


spazio non contiguo.
Per ottenere questo risultato si usano in alternativa la concatenazione dei blocchi liberi o
preferibilmente la bit map (un tabella che ha tanti bit quanti sono i blocchi, di valore 1 se il
blocco e’ occupato, di valore 0 se e’ libero).

Capitolo 10 10.11
Dispense di Calcolatori Elettronici 1
Numero settore

0 1 2 3
0 1 2 3
0
Puntatore

4 5 6 10 7
1
1 2
Numero
traccia 8 9 14 10 9 11
2
5 6 3 4

12 13 14 -- 15
3
7

i = Blocchi fisici = 1000 byte = Record logici = 500 byte


i

= File ORARIO

Figura 10-9. Esempio di uso di blocchi concatenati

Numero settore

0 1 2 3
0 1 2 3 Mappa del
file ORARIO
0

4 5 6 7 7
10
1 9
1 2
Numero 14
traccia 8 9 10 11
2
5 6 3 4

12 13 14 15
3
7

Figura 10-10. Esempio di mappa del file ORARIO

Capitolo 10 10.12
Dispense di Calcolatori Elettronici 1

Elemento Nome Dimensione Numero di Indirizzo del primo Blocchi


n° record logico record logici blocco fisico fisici
(byte)
1 VOTI 80 40 2 ( 2, 3, 4, 5 )

2 (nessuno) 1000 4 6 ( 6, 7, 8, 9 )

3 DOCENTI 132 5 10 (10)

4 (nessuno) 1000 5 11 (11, 12, 13, 14, 15)

( a ) Elenco basilare dei file prima dell’inserimento dei file ORARIO e CORSI

Elemento Nome Dimensione Numero di Indirizzo del primo Blocchi


n° record logico record logici blocco fisico fisici
(byte)
1 VOTI 80 40 2 ( 2, 3, 4, 5 )

2 ORARIO 500 7 6 ( 6, 7, 8, 9 )

3 DOCENTI 132 5 10 (10)

4 CORSI 100 30 11 (11, 12, 13 )

5 (nessuno) 1000 2 14 (14, 15)

( b ) Elenco basilare dei file dopo l’inserimento dei file ORARIO e CORSI

Figura 10-11. Esempio di allocazione automatica

10.10 MODULO STRATEGIA DI DISPOSITIVO (MSD)


Questo modulo trasforma il numero di blocco fisico nel formato di indirizzo richiesto dal
dispositivo e definisce per esso appropriati comandi di I/O.
E’ un modulo “dipendente dal dispositivo” e quindi passa il controllo al programmatore
dell’I/O ed allo specifico gestore del dispositivo.
Se per esempio l’indirizzo fisico del 4° record del file ORARIO è
traccia 1, settore 3
il modulo deve generare comandi con cui ottenere
posizionamento sulla traccia 1
ricerca del settore 3
lettura del settore 3

Al completamento dell’I/O fisico, il controllo torna al modulo strategia di dispositivo che verifica
il corretto completamento dell’operazione e restituisce il controllo al FSF. Il PFS a sua volta
estrae l’informazione dal buffer e la inserisce nelle posizioni richieste. Un codice di corretto
completamento è quindi inviato a ritroso ai vari moduli.

Capitolo 10 10.13
Dispense di Calcolatori Elettronici 1

10.11 OSSERVAZIONI CONCLUSIVE


Nell’analizzare il comportamento di livelli e moduli si tenga presente che:

1. Il segnale di completamento favorevole dell’I/O fisico non è inviato subito al FSS perché ad
ogni livello si possono rilevare errori e perché ogni livello può generare più chiamate al
livello inferiore.

2. Tutti i livelli hanno la funzione di accertare la validità della richiesta.

3. Esistono molte somiglianze tra il file system ed i meccanismi di paginazione e


segmentazione: file e segmenti riguardano l’organizzazione logica dei dati, possono essere di
dimensione arbitraria, richiedono un indirizzamento con due parametri (nome file e numero
record ovvero nome segmento e numero byte); l’elenco dei file corrisponde funzionalmente
alla mappa dei segmenti, e la mappa dei file alla mappa delle pagine; i buffer di memoria
corrispondono funzionalmente ai blocchi di memoria che contengono le pagine. In alcuni
sistemi le somiglianze sono ignorate e si hanno meccanismi separati per file system e
paginazione/segmentazione; in altri sistemi i meccanismi sono invece integrati.

Capitolo 10 10.14

You might also like