I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo Costituito da un insieme di byte (di natura omogenea) attinenti ad un’unica entità logica (un testo, un’immagine, un programma, una serie di numeri,.....) Costituito da un insieme di byte (di natura omogenea) attinenti ad un’unica entità logica (un testo, un’immagine, un programma, una serie di numeri,.....) Un file è identificabile in maniera univoca mediante un nome Un file è identificabile in maniera univoca mediante un nome
I file sono memorizzati su dispositivi di memoria secondaria (hard disk, floppy, CD) I file sono memorizzati su dispositivi di memoria secondaria (hard disk, floppy, CD) L’utente deve solo preoccuparsi di dare un nome ad un file (al momento della creazione) ed usarlo per le operazioni da eseguire su di esso L’utente deve solo preoccuparsi di dare un nome ad un file (al momento della creazione) ed usarlo per le operazioni da eseguire su di esso
Nome di un file Il nome è generalmente composto da due parti: il nome vero e proprio (si possono usare caratteri alfanumerici in numero dipendente dal S.O.) il nome vero e proprio (si possono usare caratteri alfanumerici in numero dipendente dal S.O.) l’estensione (una sequenza di caratteri che aiuta ad identificare il tipo di contenuto del file) l’estensione (una sequenza di caratteri che aiuta ad identificare il tipo di contenuto del file) Nome ed estensione sono separati dal carattere punto (.) Il nome è obbligatorio mentre l’estensione è opzionale (ma fortemente consigliata)
Regola pratica: usare sempre nomi ed estensioni significativi (ovvero, che evocano il contenuto dei file) es. se ho creato un documento che contiene il primo capitolo della tesi di laurea posso salvare il documento WORD (operazione che crea un file) con il nome es. se ho creato un documento che contiene il primo capitolo della tesi di laurea posso salvare il documento WORD (operazione che crea un file) con il nomecapitolo1.doc
Il File System Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di: identificare ogni file con un nome astraendo completamente dalla sua memorizzazione fisica identificare ogni file con un nome astraendo completamente dalla sua memorizzazione fisica avere un insieme di operazioni per lavorare sui file: creare o rimuovere un file, copiarlo, cambiargli nome, visualizzare il contenuto di un file avere un insieme di operazioni per lavorare sui file: creare o rimuovere un file, copiarlo, cambiargli nome, visualizzare il contenuto di un file avere la possibilità di strutturare un insieme di file, organizzandoli in sottoinsiemi secondo le loro caratteristiche avere la possibilità di strutturare un insieme di file, organizzandoli in sottoinsiemi secondo le loro caratteristiche
l in un sistema multi-utente, inoltre l’utente deve avere dei meccanismi per proteggere i propri file, ossia per impedire ad altri di leggerli, scriverli o cancellarli l I moderni sistemi operativi (es. Windows) forniscono supporto per queste attività l La parte di S.O. che fornisce queste funzionalità è detta FILE SYSTEM
Operazioni sui File Un insieme di operazioni minimale, presente in tutti i sistemi, è il seguente: creazione di un file creazione di un file cancellazione (rimozione) di un file cancellazione (rimozione) di un file copia di un file copia di un file visualizzazione del contenuto di un file ad esempio sul video del terminale o in una finestra sul video visualizzazione del contenuto di un file ad esempio sul video del terminale o in una finestra sul video stampa di un file stampa di un file lettura e modifica del contenuto di un file lettura e modifica del contenuto di un file ridenomina di un file, per cambiare il nome ad un file ridenomina di un file, per cambiare il nome ad un file visualizzazione delle caratteristiche di un insieme di file (dimensione, data di creazione e dell’ultima modifica, vincoli di protezione, ecc.) visualizzazione delle caratteristiche di un insieme di file (dimensione, data di creazione e dell’ultima modifica, vincoli di protezione, ecc.)
Un unico “contenitore” di file è improponible Un unico “contenitore” di file è improponible – problemi se ho centinaia di file – non si possono avere due file diversi con lo stesso nome Bisogna raggruppare i file in sottoinsiemi secondo qualche criterio semantico (raggruppa in un contenitore file correlati) Bisogna raggruppare i file in sottoinsiemi secondo qualche criterio semantico (raggruppa in un contenitore file correlati) I SO supportano una organizzazione gerarchica di insiemi di file I SO supportano una organizzazione gerarchica di insiemi di file Strutturazione dei file
I sottoinsiemi (aree, contenitori) di file sono detti direttori (o directory, o cartelle) I sottoinsiemi (aree, contenitori) di file sono detti direttori (o directory, o cartelle) Contengono la lista dei file appartenenti alla directory stessa, con le caratteristiche (dimensioni, tipologia,....) di ogni file Contengono la lista dei file appartenenti alla directory stessa, con le caratteristiche (dimensioni, tipologia,....) di ogni file Contengono la lista di eventuali altre directory presenti Contengono la lista di eventuali altre directory presenti Le directory
Struttura ad albero La struttura gerarchica che i S.O realizzano per organizzare i file è detta ad albero La struttura gerarchica che i S.O realizzano per organizzare i file è detta ad albero L’albero ha un’unica directory radice (o root directory); viene simbolicamente indicata con il simbolo “\” (slash) L’albero ha un’unica directory radice (o root directory); viene simbolicamente indicata con il simbolo “\” (slash) Ogni dispositivo di memoria secondaria può avere associato un suo albero di directory, i dispositivi sono identificati con le lettere: Ogni dispositivo di memoria secondaria può avere associato un suo albero di directory, i dispositivi sono identificati con le lettere: –a: e b: per i floppy disk –c: per l’hard disk –d: oppure e: per il CD-ROM o dischi aggiuntivi
Il sistema operativo: il file system Floppy a: Applicazioni Biblioteca Indice Utenti Elab_imm Elab_suoni Elab_testi Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Photoshop.exe Premiere.exe Winword.exe Pautasso Rossi libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3 ROOT
Organizzazione Gerarchica dei file
Identificazione dei file nell’ albero Se non ci fosse la strutturazione in directory, tutti i file potrebbero essere identificati mediante il loro nome Se non ci fosse la strutturazione in directory, tutti i file potrebbero essere identificati mediante il loro nome Nel caso di un’organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare il file (nell’esempio precedente esistono diversi file con lo stesso nome) Nel caso di un’organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare il file (nell’esempio precedente esistono diversi file con lo stesso nome) Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero
Ad esempio il file libro1 di narrativa italiana è univocamente identificato dalla sequenza: Ad esempio il file libro1 di narrativa italiana è univocamente identificato dalla sequenza: A:\Biblioteca\Narrativa-Ita\libro1 La directory Pautasso di Utenti è identificata dalla sequenza: La directory Pautasso di Utenti è identificata dalla sequenza: A:\Utenti\Pautasso il carattere “\”viene usato come separatore. Una sequenza di questo tipo può essere vista come il cammino che si deve compiere per raggiungere un determinato file a partire dalla radice dell'albero, ed è chiamata path Una sequenza di questo tipo può essere vista come il cammino che si deve compiere per raggiungere un determinato file a partire dalla radice dell'albero, ed è chiamata path
Path corrente Si dice path corrente il path della cartella (directory) su cui si sta lavorando Si dice path corrente il path della cartella (directory) su cui si sta lavorando Un altro modo di individuare un file (o una directory) è basato sul concetto di posizione corrente Un altro modo di individuare un file (o una directory) è basato sul concetto di posizione corrente In questo caso per individuare un file o una directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione (path) corrente In questo caso per individuare un file o una directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione (path) corrente
Floppy a: Applicazioni Biblioteca Indice Utenti Elab_imm Elab_suoni Elab_testi Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Photoshop.exe Premiere.exe Winword.exe Pautasso Rossi libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3 Posizione corrente
Se la posizione corrente è A:\Biblioteca, il file libro1 di narrativa italiana è univocamente identificato dalla sequenza: Se la posizione corrente è A:\Biblioteca, il file libro1 di narrativa italiana è univocamente identificato dalla sequenza:Narrativa-Ita\libro1 Se la posizione corrente è A:\Utenti, la directory Pautasso è identificata dalla sequenza: Se la posizione corrente è A:\Utenti, la directory Pautasso è identificata dalla sequenza:Pautasso Per raggiungere un determinato file a partire dalla posizione corrente si utilizza il path relativo Per raggiungere un determinato file a partire dalla posizione corrente si utilizza il path relativo
Operazioni sulle directory Per organizzare gerarchicamente i file, il sistema operativo fornisce un insieme di operazioni sulle directory, per esempio: creare una nuova directory creare una nuova directory rimuovere una directory rimuovere una directory ridenominare una directory ridenominare una directory elencare il contenuto (l'insieme di file e sotto-directory) di una directory elencare il contenuto (l'insieme di file e sotto-directory) di una directory copiare o spostare i file da una directory ad un'altra copiare o spostare i file da una directory ad un'altra
MS-DOS Sistema operativo dei PC IBM compatibili Sistema operativo dei PC IBM compatibili Interazione di tipo testuale Interazione di tipo testuale Alla base delle prime versioni di Windows Alla base delle prime versioni di Windows Utilizzabile da Windows con Utilizzabile da Windows con – menù Avvio, voce Programmi, voce prompt di MS-DOS – menù Avvio e riavviare il sistema in modalità DOS
MS-DOS Compare sullo schermo una sequenza di caratteri del tipo Compare sullo schermo una sequenza di caratteri del tipo C:\> che indicano all’utente che è possibile inserire comandi da eseguire si digita la sequenza di caratteri relativa ad un comando seguita dalla pressione del tasto Invio (Return) si digita la sequenza di caratteri relativa ad un comando seguita dalla pressione del tasto Invio (Return)
Nomi e Pathname i nomi dei file non possono essere più lunghi di 8 caratteri i nomi dei file non possono essere più lunghi di 8 caratteri l’estensione non può superare i 3 caratteri di lunghezza l’estensione non può superare i 3 caratteri di lunghezza DOS non distingue tra caratteri minuscoli e maiuscoli DOS non distingue tra caratteri minuscoli e maiuscoli
MS-DOS: il file system Per selezionare il tipo di dispositivo di memoria secondaria sul quale operare (floppy, hard disk,....) si scrive il nome dell’unità seguita dai i due punti es., se il path corrente è sul floppy (a:) a:\> digitando i caratteri “c:” si seleziona il disco rigido ed il prompt diventa c:\> Per selezionare il tipo di dispositivo di memoria secondaria sul quale operare (floppy, hard disk,....) si scrive il nome dell’unità seguita dai i due punti es., se il path corrente è sul floppy (a:) a:\> digitando i caratteri “c:” si seleziona il disco rigido ed il prompt diventa c:\>
MS-DOS: il comando FORMAT I floppy disk devono essere formattati (creazione di tracce, settori.....) prima dell’uso. I floppy disk devono essere formattati (creazione di tracce, settori.....) prima dell’uso. Il comando format a: esegue la formattazione Il comando format a: esegue la formattazione Se ci sono file sul floppy questi vengono cancellati perciò bisogna sempre accertarsi del contenuto dei floppy da formattare Se ci sono file sul floppy questi vengono cancellati perciò bisogna sempre accertarsi del contenuto dei floppy da formattare
MS-DOS: il comando DIR Per elencare il contenuto (sia file che directory) della directory corrente si usa il comando dir Per elencare il contenuto (sia file che directory) della directory corrente si usa il comando dir Per ogni file o directory vengono visualizzati la dimensione (in byte), l’ora e la data dell’ultimo aggiornamento Per ogni file o directory vengono visualizzati la dimensione (in byte), l’ora e la data dell’ultimo aggiornamento
MS-DOS: il comando DIR In ogni directory sono presenti due directory speciali In ogni directory sono presenti due directory speciali – la directory stessa visualizzata con il “.” – la directory di livello immediatamente superiore nell’albero (detta anche directory padre) visualizzata con “..” per visualizzare il contenuto di una directory diversa da quella corrente bisogna digitare C:\>dir path_della_directory_che_interessa es., dir a:\slide per visualizzare il contenuto di una directory diversa da quella corrente bisogna digitare C:\>dir path_della_directory_che_interessa es., dir a:\slide
MS-DOS: il comando CD Per cambiare la directory corrente si usa il comando “cd” (abbreviazione di “change directory”): Per cambiare la directory corrente si usa il comando “cd” (abbreviazione di “change directory”): es., se la directory corrente è C:\ e si digita il comando cd francesco modifichiamo la directory corrente in C:\francesco\ Per selezionare la root come directory corrente è sufficiente digitare il comando cd \ Per selezionare la root come directory corrente è sufficiente digitare il comando cd \ Per spostarsi alla directory immediatamente superiore cd.. Per spostarsi alla directory immediatamente superiore cd..
MS-DOS: i comandi MD (mkdir) e RD (rmdir) Per creare una nuova directory si usa il comando md (mkdir) path_della_directory_da_creare Per creare una nuova directory si usa il comando md (mkdir) path_della_directory_da_creare per creare una directory di nome “esempio” sul floppy che sia contenuta nella directory a:\SLIDES bisogna digitare il comando md a:\slides\esempio per creare una directory di nome “esempio” sul floppy che sia contenuta nella directory a:\SLIDES bisogna digitare il comando md a:\slides\esempio per cancellare una directory si usa il comando rd (rmdir) path_della_directory_da_cancellare per cancellare una directory si usa il comando rd (rmdir) path_della_directory_da_cancellare la directory deve essere vuota (non ci devono essere né file né directory) la directory deve essere vuota (non ci devono essere né file né directory)
MS-DOS: il comando COPY per fare una copia di un file si usa il comando copy path_del_file_da_copiare path_del_file_nuovo per fare una copia di un file si usa il comando copy path_del_file_da_copiare path_del_file_nuovo alcuni casi particolari: alcuni casi particolari: – copy nome_file nome_nuovo_file in questo caso sia il file da copiare che il nuovo file si trovano nella directory corrente – copy nome_file path_del_file_nuovo in questo caso il file da copiare si trova nella directory corrente mentre il file copia si trova in un’altra directory
Se si omette il nome del file di copia e si indica solo la directory destinazione, viene creato un file con lo stesso nome nella directory destinazione Se si omette il nome del file di copia e si indica solo la directory destinazione, viene creato un file con lo stesso nome nella directory destinazione copy nome_file directory_destinazione
MS-DOS: il comando MOVE per spostare un file da una directory ad un’altra si usa il comando move path_del_file_da_spostare path_del_file_nuovo per spostare un file da una directory ad un’altra si usa il comando move path_del_file_da_spostare path_del_file_nuovo funziona come il comando copy ma in questo caso non si duplica un file ma lo si sposta solamente funziona come il comando copy ma in questo caso non si duplica un file ma lo si sposta solamente
MS-DOS: il comando DEL per cancellare un file da una directory si usa il comando del path_del_file_da_cancellare per cancellare un file da una directory si usa il comando del path_del_file_da_cancellare
L’operatore * L’operatore * preceduto (o seguito) da una sequenza di caratteri identifica tutti gli oggetti il cui nome comincia (o termina) con quella sequenza di caratteri. L’operatore * preceduto (o seguito) da una sequenza di caratteri identifica tutti gli oggetti il cui nome comincia (o termina) con quella sequenza di caratteri. Es foto* identifica tutti i file i cui nomi cominciano con “foto” Es foto* identifica tutti i file i cui nomi cominciano con “foto” Utile per manipolare (copiare, spostare, cancellare) più file simultaneamente Utile per manipolare (copiare, spostare, cancellare) più file simultaneamente
Visualizzare e modificare un file Il comando more path_file permette di visualizzare il contenuto di un file Il comando more path_file permette di visualizzare il contenuto di un file il comando edit path_file apre un file per lettura e scrittura il comando edit path_file apre un file per lettura e scrittura