File System
Il componente del sistema operativo che fornisce una soluzione ai
tre requisiti prima menzionati è chiamato
File System
Un file system è un sottosistema complesso e fornisce agli
sviluppatori un'interfaccia di programmazione per le loro
applicazioni molto estesa che consente ad essi di implementare
logiche di creazione e di fruizione delle informazioni molto
articolate.
Da un punto di vista dell'utente però l'aspetto più importante di un
file system è come appare alla sua vista, e cioè:
- gli oggetti elementari che definisce e con cui l'utente può
interagire,
- le caratteristiche di tali oggetti,
- le operazioni che l'utente può effettuare su tali oggetti.
Il file
Il file system per dare una risposta ai requisiti fondamentali prima
evidenziati, organizza le informazioni in unità chiamate file che
rappresentano gli oggetti elementari gestiti da un file system.
Un file è un meccanismo di astrazione grazie al quale è possibile
scrivere informazioni su un supporto di memorizzazione per
poterle leggere e/o modificare in momenti successivi.
L'astrazione mediante file da inoltre la possibilità all'utilizzatore
di ignorare i dettagli e le modalità con cui le informazioni sono
effettivamente scritte sul disco ed il funzionamento di
quest'ultimo.
1
Il file
La caratteristica più importante di un file è indubbiamente il nome.
Mediante il nome è possibile identificare un file e compiere su di
esso tutte le operazioni possibili( che in seguito analizzeremo ).
In quasi tutti i sistemi operativi i nomi di file legali sono stringhe di
caratteri.
Tuttavia in dipendenza del sistema operativo vi possono essere
limiti sulla lunghezza della stringa e sul formato.
Un famigerato esempio è il S.O. MS-DOS che obbliga i nomi dei
file a rientrare nello schema detto 8.3 in cui il nome è una stringa
di 8 caratteri al massimo seguita da un'altra stringa di massimo 3
caratteri che ne esplicita il tipo.
Alcuni file systems sono “case sensitive” nel senso che lettere
maiuscole e minuscole vengono considerate diverse.
Esempi di file system reali sono:
- (in ambiente Windows) sono case insensitive,
- ed altri (in ambiente UNIX) sono case sensitive.
Il file
Vi sono tutta una serie di dati che forniscono
informazioni aggiuntive sui file che vengono
chiamati attributi del file. Essi dipendono
fortemente dal sistema operativo e dal file system.
Alcuni dei possibili attributi sono:
- creatore
- proprietario
- flag read only , che indica se il file è leggibile o anche scrivibile.
- flag che indica se il file è nascosto
- flag che indica se il file è binario o di testo
- statistiche di accesso(tempo di creazione,ultimi tempi di lettura e
modifica)
- dimensione
- dimensione massima
2
Il file
Il file system mette a disposizione dell'utente una serie di
operazioni elementari che è possibile eseguire sui file.
In generale, è sicuramente possibile effettuare le seguenti
operazioni:
- creazione
- cancellazione
- accesso
- copia / spostamento
- condivisione / protezione
Ogni file system definisce le sue politiche per la definizione
di tali ed altre operazioni.
Organizzazione dei file
Se i file sono molti, identificarli con un nome non è sufficiente a
reperirli con facilità (ed è difficile non usare due volte lo
stesso nome!)
In un armadio useremmo delle cartellette o dei
raccoglitori per dividere i documenti in modo logico...
…nel file system esiste il concetto di cartella (folder o
directory)
Una cartella può contenere dei file, e anche delle altre
cartelle (chiamate in questo caso sotto-cartelle)
Due file in due cartelle diverse possono anche avere lo
stesso nome: a distinguerli è la cartella di appartenenza
Questa organizzazione dei file si definisce organizzazione
gerarchica o ad albero
3
Organizzazione dei file
La radice dell’albero è l’unità di memoria secondaria
Windows usa le lettere dell’alfabeto per identificare le
diverse unità: es. C hard disk, D cd o dvd, E penna usb,...
All’interno dell’unità si trovano file e cartelle...
Pathname = nome del percorso
Indica il percorso da seguire per raggiungere un file in memoria
secondaria
Specifica l’unità (es.: “C”)
la sequenza di cartelle che bisogna aprire per trovare il file (es.:
“Documenti” quindi “Tesi” )
Il nome del file (es.: “lucidi.ppt”)
I diversi elementi sono
separati dal
carattere \
chiamato backslash
4
Il pathname assoluto
La sequenza di directory che parte dalla radice
del file system viene chiamata pathname
assoluto
La directory dove ci si trova in un dato
momento è detta directory corrente (o di
lavoro)
Il pathname relativo
Un pathname è relativo quando invece di
partire dalla radice del file system, si
riferisce alla directory corrente (il
corrispondente pathname assoluto viene
calcolato dal sistema)
5
Caratteri jolly
• I caratteri jolly possono essere usati per indicare più
file contemporaneamente
• Sostituiscono delle parti di nome o di estensione
comuni a un gruppo di file
– il carattere ‘*’ sostituisce una stringa (sequenza di
caratteri) di lunghezza qualunque (anche nulla) a partire
dalla posizione in cui è inserito
– il carattere ‘?’ sostituisce esattamente un carattere in
corrispondenza della posizione in cui è inserito
• In Windows, nelle versioni più recenti (a partire da
XP) c’è la completion automatica del comando
MS-DOS
Non esistono praticamente in commercio PC che installino DOS,
però Windows conserva la console (che si lancia con cmd.exe)
che permette di interagire direttamente con l’interprete dei
comandi. Però esistono SO che si basano fortemente
sull’interazione con la console (Linux)
Il DOS mette a disposizione dell’utente una serie di comandi
I comandi sono, in generale, introdotti usando la tastiera
Prima di poter eseguire un nuovo comando è necessario aspettare la
terminazione del precedente
Per segnalare all’utente che è pronto ad accettare un comando, il
sistema operativo presenta quello che viene chiamato PROMPT
di sistema
Tutto ciò è utile a capire il fatto che i SO, e il software in genere è
un sistema a cipolla
6
MS-DOS
Ogni volta che il sistema è pronto ad accettare un
comando vi sarà il cursore lampeggiante
prompt di sistema
cursore lampeggiante
C:\DOS>_
Comando CD
Nome comando:
CD o CHDIR
Funzione:
cambia la directory di lavoro;
senza parametri visualizza il nome della directory corrente
Sintassi:
CD [path]
Nota: il cammino specificato (path) può essere assoluto o
relativo (ma solo in riferimento all’unità corrente)
Esempi:
CD
CD
CD
\MSDOS\UTIL
..\PIPPO
.. (passa alla directory padre, di quella attuale)
7
Comando COPY
Nome comando:
COPY
Funzione:
copia uno o più file in un’altra posizione o concatena una
lista di file
Sintassi:
COPY origine destinazione
COPY file1 + file2 +… + file-n tuttoqui
Nota: nel caso venga usato per concatenare due o più
file (+), COPY restituisce il nome dei file uniti
mentre procede nella concatenazione
Comando COPY
Esempi:
copy c:\game\dati.txt c:\copia.txt
copy ..\..\fax.doc fax.doc
copy a:\*.* c:\backup
copy c:\compiti.* a:\dati\scuola
copy c:\autoexec.b?t .
copy dati1.txt+dati2.txt dati12.txt
8
Comando DEL
Nome comando:
DEL o ERASE
Funzione:
cancella i file specificati come parametro
Sintassi:
DEL [unità][path]nome_file
ERASE [unità][path]nome_file
Nota: con l’opzione /P il comando DEL chiede conferma per
la cancellazione
Esempi:
DEL c:\dati\cifre.dat
DEL ..\lucidi.ppt
DEL program.bat
Comando DIR
Nome comando:
DIR
Funzione:
visualizza il contenuto della directory specificata
Sintassi:
DIR [unità][path][nome_dir]
Note:
con l’opzione /P visualizza una schermata alla volta;
con /W visualizza fino a 5 nomi per riga
Esempi:
DIR C:\DATI\ /P
DIR /W
DIR ..\..\COMPITI
9
Comando MD
Nome comando:
MD o MKDIR
Funzione:
crea una directory dal nome specificato
Sintassi:
MD [unità][path]nome_directory
Nota:
se si cerca di creare una directory già esistente
questo viene segnalato con un messaggio di errore
Esempi:
MD
MD
C:\CORSI\FONDINFO
CORSI
Comando MOVE
Nome comando:
MOVE
Funzione:
permette di spostare uno o più file nella posizione specificata
Sintassi:
MOVE [unità][path]origine
[unità][path]destinazione
Note:
può anche essere usato per cambiare nome alle directory;
non era presente nelle vecchie versioni del DOS
Esempi:
MOVE A:\*.*
MOVE LUCIDI
C:\BACKUP
SLIDE
10
Comando RD
Nome comando:
RD o RMDIR
Funzione:
permette di eliminare una directory specificata
Sintassi:
RD [unità][path]nome_directory
Nota:
la directory specificata non può essere eliminata se non
vuota
Esempi:
RD APPUNTI
RMDIR C:\UTIL\DATI
RD ..\..\SLIDE
Comando REN
Nome comando:
REN o RENAME
Funzione:
permette di cambiare nome ad un file specificato
Sintassi:
REN [unità][path]nome1 nome2
RENAME [unità][path]nome1 nome2
Nota:
il comando non può essere utilizzato per spostare i file
Esempi:
REN C:\DATI1.TXT
REN TABELLA1.TXT
DATI2.TXT
TAB.DAT
11