FONDAMENTI DI INFORMATICA T-1 (A-K) INTRODUZIONE ALLE ESERCITAZIONI A.A. 2011/12 Tutor: Michele Lombardi <[email protected]> http://ai.unibo.it/people/MicheleLombardi INFORMAZIONI UTILI Orario delle Esercitazioni Martedì 14-16 Gruppo A Giovedì 14-16 Gruppo B Ricevimento Al termine di ciascuna esercitazione o tramite e-mail. Contatti E-mail: [email protected] Sito web del corso: http://www-db.deis.unibo.it/courses/FIT1-AK 2 SISTEMA OPERATIVO Il sistema operativo (spesso abbreviato in S.O., o in inglese O.S., Operating System) rappresenta lo strato software fondamentale per il corretto funzionamento di un calcolatore. Considerando tradizionali sistemi desktop, un S.O. fornisce: l'insieme delle funzioni e delle strutture dati necessarie alla gestione dell’hardware del calcolatore un ambiente di esecuzione alle singole applicazioni un’interfaccia software (grafica o testuale) per consentire l’accesso 3 e l’utilizzo delle risorse del sistema da parte di un essere umano SISTEMA OPERATIVO Esistono molti S.O., a seconda della tipologia di applicazioni a cui si vuole dare supporto (sistemi desktop vs sistemi server) e delle differenti scuole di pensiero (open vs closed source). Come detto prima, il S.O. offre un ambiente di esecuzione alle singole applicazioni. Tale ambiente si concretizza in una serie di funzioni o API (Application Programming Interface) invocabili dalle singole applicazioni utente. Ad esempio, l’apertura di un file o la visualizzazione di una finestra deve avvenire obbligatoriamente attraverso l’uso delle funzioni esposte 4 SISTEMA OPERATIVO All’interno di un S.O., è possibile identificare: Kernel: Costituisce il nucleo principale del S.O., e consente l’accesso all'hardware del calcolatore e la gestione/esecuzione dei processi. Programma e Processo Un programma posto in esecuzione diviene un processo. Un programma è un’entità statica, mentre il processo è un’entità dinamica e contiene ulteriori dati, utilizzati dal sistema operativo per gestirne l’esecuzione. File System: Gestisce le richieste di accesso verso le memorie di massa presenti. Realizza l’astrazione logica di directory/file, tiene traccia dei file aperti e garantisce, dove previsto, il rispetto dei permessi di accesso. Interfaccia utente: Consente la reale interazione tra l’essere umano e la macchina. Nei S.O. di ultima generazione, l’interfaccia utente è tradizionalmente un’interfaccia grafica a finestre. 5 SISTEMA OPERATIVO WINDOWS Tutte le esercitazioni saranno effettuate su Windows XP. S.O. multiutente: supporta la presenza contemporanea di più utenti,consentendo il login anche simultaneo dei singoli S.O. multi-task: supporta l’esecuzione contemporanea di più processi, ripartendo opportunamente il tempo di esecuzione complessivo File system basato tradizionalmente su tecnologia NTFS con controllo degli accessi e sistema grafico a finestre. Per usare le postazioni del LAB3 dovete creare un account. Entrate alla pagina http://ccib.ing.unibo.it/content/account e seguite le istruzioni (inserite username e password per l’accesso all’indirizzo di posta dell’università). Vi verrà fornito uno username del tipo s+numero di matricola e dovrete scegliere una password. Matricola: 0000260433 Username: s0000260433 Il nuovo account è utilizzabile nella Sala Internet e nei laboratori. 7 FILE SYSTEM Il File System definisce le modalità di memorizzazione e di accesso alle informazioni presenti su un dispositivo di archiviazione, ad esempio un hard disk. Un tradizionale hard disk presenta la struttura mostrata successivamente, in cui è possibile distinguere: Piatto: il disco rigido si compone di uno o più dischi paralleli. Ogni superficie è un "piatto", ed è destinata alla memorizzazione dei dati Testina: su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati memorizzati 8 FILE SYSTEM Su ogni singola superficie, possiamo distinguere: Traccia: la superficie del piatto è composta da differenti anelli concentrici, dette appunto tracce Settore: ogni traccia è divisa in più settori. I settori rappresentano l’unità minima di lettura/scrittura da/verso l’hard disk Piatti, tracce e settori sono tutti numerati. Uno specifico settore è individuato da una tripla <NPiatto, NTraccia, NSettore>. Tipicamente un settore ha dimensione pari a 512 byte 9 FILE SYSTEM Al di sopra del dispositivo di memorizzazione, il File System crea l’astrazione basata su directory/file. Directory: Una directory è un contenitore di altre entità, come file e altre directory. In tale modo, i file sono suddivisi e raggruppati in una struttura ad albero, in modo da semplificare il loro utilizzo da parte degli utenti. File: Un file rappresenta l’unità minima di memorizzazione. Le informazioni sono codificate rispettando appositi standard (es. formato .avi, .mp3) e sono organizzate come una sequenza di byte su 10 disco, rappresentando comunque un solo elemento logico nel file system. FILE SYSTEM Ogni directory contiene due directory speciali, note come: . (directory punto): rappresenta la directory corrente .. (directory punto punto): rappresenta la directory padre Anche la radice C:\> presenta queste directory speciali, ma esse puntano entrambe a C:\>, perché la radice non ha directory padre 11 PATH Ogni entità, sia file che directory, è individuabile tramite un percorso, o path. Il path è un nome qualificato dai nomi delle directory che occorre attraversare per accedervi, a partire dalla radice dell'albero oppure dalla directory corrente. Ad esempio, C:\Directory1\File1 o C:\Directory1\File2. Inoltre, sfruttando le directory speciali, C:\Directory1\.\File1 equivale a C:\Directory1\File1, e C:\Directory1\..\File1 individua C:\File1 12 PATH Il path può essere: assoluto: il percorso viene espresso a partire dalla radice dell’albero. Ad esempio, i percorsi C:\Directory1\File1 o C:\File1 ricadono in questa categoria. relativo: il percorso viene espresso sfruttando le directory speciali e la directory attuale. Ad esempio, se ci troviamo in C:\Directory1 ..\File1 è un percorso relativo e individua C:\File1. 13 ESERCIZIO 1 Se non l’avete ancora fatto, scaricate i lucidi dell’esercitazione dal sito del corso. Utilizzate l’interfaccia di Windows per localizzare sul file system il file con l’esercitazione. Provate a : Aprire C:\temp Partendo dalla radice del file system, a raggiungere il vostro Desktop (suggerimento: vi ricordate con con che nome utente avete fatto accesso?) 14 ESERCIZIO 2 Per scrivere codice nelle prime esercitazioni useremo un avanzatissimo strumento software… il blocco note ;-) Avvio → Programmi → Accessori → Blocco Note o Avvio → Esegui notepad Scrivere un file di testo con il blocco note e salvatelo da qualche parte. Il file system vi consente di effettuare alcune operazioni fondamentali sui files, per esempio: copia: realizzata nell’interfaccia windows attraverso il pardigma copy&paste spostamento: realizzato nell’interfaccia windows attraverso il pardigma cut&paste Provate a copiare il vostro file di testo ed a spostarlo. 15 ESERCIZIO 3 Per ragioni storiche, Windows permette classificare i tipi di file posponendo al loro nome una estensione: Es. “.txt” “.pdf” L’estensione è parte del nome del file L’estensione per default non viene visualizzata da windows. E’ possibile abilitarne la visualizzazione da “opzioni cartella” Provate a visualizzare l’estensione del file che avete composto con il blocco note. L’estensione non è rigidamente collegata al contenuto effettivo del file E’ possibile modificarla, senza che il contenuto del file sia alterato. L’unico effetto collaterale è che Windows “non sa più” come aprirlo. Provate a cambiare l’estensione del vostro file, poi ad aprirlo con blocco note. 16 ESERCIZIO 4 E’ possibile visualizzare l’elenco dei processi correntemente in esecuzione. Assicuaratevi Premete Accedete Et che il blocco note sia aperto. Ctrl+Alt+Canc al “Task Manager” voilà! La lista delle applicazioni in esecuzione. La lista delle applicazioni non coincide in realtà con la lista dei processi: provate a visualizzare invece proprio quest’ultima ed a individuare il blocco note. 17 ESERCIZIO 5 L’interfaccia grafica non è l’unico modo che abbiamo per interagire con il Sistema Operativo. Una seconda modalità (molto importante per il nostro corso) è l’utilizzo di una console o shell. La console consente di controllare il sistema operativo mediante dei comandi testuali. La console sotto windows si chiama “promt dei comandi” Provate ad aprire un prompt dei comandi. Per lanciarlo, Avvio → Programmi → Accessori → Linea di comando o Avvio → Esegui cmd 18 ESERCIZIO 6 La console vi permette di effettuare (più o meno) le stesse operazioni che vi consente l’interfaccia grafica. Per esempio navigare il file system. I ogni momento la console è associata a (“si trova in”) una directory del file system. Alcuni comandi rilevanti: cd cd : visualizza la directory a cui la console è associata <percorso> : sposta la console nella cartella specificata. dir : visualizza il contenuto della cartella corrente tree : visualizza le sottocartelle a partire da quella corrente. Se il percorso contiene degli spazi, va racchiuso tra doppi apici. Es. cd “C:\Documents and Settings” Provate a raggiungere la directory in cui si trova il vostro file di testo utilizzando la console. 19 ESERCIZIO 7 Alcune funzionalità un po’ più avanzate: dir /w : visualizza il contenuto della cartella corrente per colonne dir /a : visualizza tutti i file i tipi di files dir /? : fornisca una lista delle opzioni utilizzabili con il comando “dir” Provate a visualizzare il contenuto della vostra home usando dir /a Confrontatelo con il contenuto che potete visualizzare utilizzando “esplora risorse” (ossia: la normale interfaccia di windows). Combaciano o ci sono discrepanze? 20 ESERCIZIO 8 È possibile utilizzare la console per copiare e spostare files: copy move del <sorgente> <destinazione> <sorgente> <destinazione> <file> : copia : sposta : cancella il file specificato Dove <sorgente> e <destinazione> sono due percorsi. Provate a copiare e spostare il vostro file di testo. Potete persino visualizzare la lista dei processi: tasklist •lanciare il blocco note! •notepad [<file da aprire>] 21 Provate ad aprire il vostro file da riga di comando