I file 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,.....) Un file è identificabile in maniera univoca mediante un nome 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 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.) 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 capitolo1.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 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 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 I moderni sistemi operativi (es. Windows) forniscono supporto per queste attività 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 cancellazione (rimozione) 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 stampa di un file lettura e modifica del contenuto di 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.) Strutturazione dei file 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) I SO supportano una organizzazione gerarchica di insiemi di file Le directory 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 di eventuali altre directory presenti Struttura 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) 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 Applicazioni Elab_imm Photoshop.exe Elab_suoni Premiere.exe Elab_testi Winword.exe Narrativa-Fra Floppy a: Biblioteca Narrativa-Ing Narrativa-Ita libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3 Bianchi Utenti Pautasso Indice Rossi 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 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 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: 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 Path corrente 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 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 Applicazioni Elab_imm Photoshop.exe Elab_suoni Premiere.exe Elab_testi Winword.exe Narrativa-Fra Floppy a: Biblioteca Narrativa-Ing Narrativa-Ita libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3 Bianchi Utenti Pautasso Indice Posizione corrente Rossi 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: Pautasso 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 rimuovere una directory ridenominare una directory elencare il contenuto (l'insieme di file e sottodirectory) di una directory copiare o spostare i file da una directory ad un'altra MS-DOS Sistema operativo dei PC IBM compatibili Interazione di tipo testuale Alla base delle prime versioni di Windows 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 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) Nomi e Pathname i nomi dei file non possono essere più lunghi di 8 caratteri l’estensione non può superare i 3 caratteri di lunghezza DOS non distingue tra caratteri minuscoli e maiuscoli Esempio di path della directory dove è memorizzato il file PowerPoint di questa lezione C:\docum\BCULT\LEZIONI 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:\> MS-DOS: il comando FORMAT I floppy disk devono essere formattati (creazione di tracce, settori.....) prima dell’uso. 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 MS-DOS: 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 MS-DOS: il comando DIR 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 MS-DOS: il comando CD Per cambiare la directory corrente si usa il comando “cd” (abbreviazione di “change directory”): es., se la directory corrente è C:\docum\BCULT e si digita il comando cd mvario modifichiamo la directory corrente in C:\docum\BCULT\MVARIO Per selezionare la root come directory corrente è sufficiente digitare il comando 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 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 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 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 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 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 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. Es foto* identifica tutti i file i cui nomi cominciano con “foto” 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 edit path_file apre un file per lettura e scrittura