Fondamenti di Informatica - Introduzione ai sistemi operativi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Introduzione ai sistemi operativi DOS, UNIX, VMS © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 1 Fondamenti di Informatica - Introduzione ai sistemi operativi Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione). In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 2 Fondamenti di Informatica - Introduzione ai sistemi operativi Il sistema operativo MS-DOS • MS-DOS è un sistema operativo sviluppato da Microsoft per i personal computer • Le sue origini risalgono al 1981, periodo in cui si diffusero i primi PC IBM con processore Intel 8088 • MS-DOS è un sistema operativo monoutente: le risorse hardware e software presenti su un PC sono a disposizione di un solo utente per volta • MS-DOS è un sistema operativo monotasking: gestisce l’esecuzione di un solo programma per volta • MS-DOS offre un’interfaccia utente a riga di comandi (Command Line Interface) • Oggi MS-DOS è l’interfaccia a linea di comandi del sistema operativo MS-Windows © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 3 Fondamenti di Informatica - Introduzione ai sistemi operativi Interprete MS-DOS • Nel sistema operativo MS-DOS, l’interprete dei comandi è il programma eseguibile COMMAND.COM • E’ basato su una riga di comandi indicata dal prompt, che segnala anche il disco e la directory di lavoro: cursore lampeggiante C:\> _ • Ogni disco ha un nome, identificato da una lettera di unità seguita da ":"; il backslash "\" ne indica la radice • I dischi A: e B: sono in genere i drive per floppy, mentre C:, D:, E: … indicano hard disk, lettori di CDROM, dischi di rete © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 4 Fondamenti di Informatica - Introduzione ai sistemi operativi Nomi dei file • In MS-DOS, come nella maggior parte dei sistemi operativi, un file è individuato dalla notazione nome.estensione • L’estensione è un codice testuale mnemonico legato alla codifica dei dati presenti nel file. Ad esempio: .txt : file di testo ASCII .exe : file eseguibile (contiene codice macchina) .c : file ASCII di programma sorgente in linguaggio C .bat : file batch, file di script contenente comandi per il sistema operativo – .jpg oppure .jpeg : dati (immagini) codificati in formato JPEG – .htm oppure .html : file ASCII di ipertesto in linguaggio HTML – .mpg oppure .mpeg : dati (filmati) codificati in formato MPEG – – – – © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 5 Fondamenti di Informatica - Introduzione ai sistemi operativi Nomi dei file • In MS-DOS i nomi dei file e dei direttori sono soggetti alle seguenti limitazioni: nome può avere al massimo 8 caratteri estensione può avere al massimo 3 caratteri • I caratteri utilizzabili sono lettere, cifre e alcuni simboli, come "_" (underscore) • Altri simboli, anche se validi, sono da evitare per problemi di portabilità dei file su altri sistemi operativi • In tutti i sistemi operativi il punto "." è l’elemento di separazione fra nome ed estensione Come per i comandi, anche per nomi di file e directory MS-DOS è “case insensitive” é PIPPO = PIPPo = pippo... © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 6 Fondamenti di Informatica - Introduzione ai sistemi operativi Nomi dei file e path • La directory di lavoro, o default directory, è il direttorio che il sistema operativo deve considerare nell’esecuzione dei comandi • Il prompt E:\FONDINFO\C> indica ad esempio che la directory di lavoro è, al momento, quella di nome C nel direttorio FONDINFO del disco E: • La notazione E:\FONDINFO\C è il path, ossia il percorso dalla radice del disco fino al nodo considerato © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 7 Fondamenti di Informatica - Introduzione ai sistemi operativi File, directory e pathname • Per un file di nome prova.c presente nella directory E:\FONDINFO\C, il pathname assoluto è: E:\FONDINFO\C\prova.c mentre il pathname relativo, se la directory di default è E:\FONDINFO\C, sarà semplicemente: prova.c • Il comando dir stampa il contenuto di una directory: E:\FONDINFO\C>dir mostra l’intero contenuto della default directory, mentre: E:\FONDINFO\C>dir D:\DOCS mostra il contenuto del direttorio DOCS del disco D: © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 8 Fondamenti di Informatica - Introduzione ai sistemi operativi Directory • Per cambiare la directory di lavoro si usa il comando cd: E:\FONDINFO\C>cd nuovopath Ad esempio: E:\FONDINFO\C>cd \ stabilisce che la default directory sia la radice del disco E: • E:\FONDINFO>cd \SISTELAB é si passa alla directory SISTELAB del disco E: • Per passare ad un disco diverso da quello corrente: E:\FONDINFO\C>a: ê si passa al disco floppy A:, e il prompt diventa: A:\> © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 9 Fondamenti di Informatica - Introduzione ai sistemi operativi Directory • L’organizzazione del file system ad albero consente anche spostamenti relativi • il direttorio padre è indicato per convenzione da .. • il direttorio corrente è indicato per convenzione da . • Per passare al direttorio superiore, il comando è: cd .. Ad esempio: E:\FONDINFO\C>cd .. é la directory di lavoro diventa E:\FONDINFO © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 10 Fondamenti di Informatica - Introduzione ai sistemi operativi Operazioni su file e directory • Copia di un file in un altro direttorio o disco: E:\>copy pippo.c a:\sorgenti\pippo.c • Copia di un file nello stesso direttorio: E:\>copy pippo.c pluto.c • Ridenominazione di un file (“rename” o “ren”): • E:\>rename pippo.txt minnie.c • Cancellazione di un file (“delete” o “del”): E:\>delete pippo.c • Creazione di una directory: E:\>mkdir sistelab • Cancellazione di una directory (purché vuota): E:\>rmdir sistelab © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 11 Fondamenti di Informatica - Introduzione ai sistemi operativi Uso delle wildcard • Una wildcard consente di specificare un insieme di nomi evitandone l’elencazione completa • In MS-DOS il carattere wildcard è * • Ad esempio: – dir *.c visualizza la lista dei file con estensione .c presenti nella default directory – dir *.* visualizza la lista di tutti i file presenti nella default directory, ed equivale a dir senza parametri – delete pippo.* cancella tutti i file di nome pippo aventi estensione qualsiasi – copy *.* a:\ copia tutti i file della default directory nella radice del disco floppy A: © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 12 Fondamenti di Informatica - Introduzione ai sistemi operativi Comandi e parametri • La maggior parte dei comandi MS-DOS è dotato di funzionalità aggiuntive, selezionabili da riga di comando mediante opportuni parametri (o flag) • Ad esempio, dir /p stampa il contenuto di un direttorio in schermate successive, lasciando all’utente il compito di avanzare riga per riga oppure una pagina alla volta • Analogamente, dir /b effettua la stampa dei soli nomi eliminando le informazioni sulla dimensione e la data di creazione dei file • Sintassi e significato dei parametri previsti da un comando si ottengono di solito con il “flag di help” /? © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 13 Fondamenti di Informatica - Introduzione ai sistemi operativi Accodamento dei comandi (piping) • I comandi MS-DOS si possono concatenare mediante il carattere | (pipe): l’output del primo comando diventa l’input del comando successivo (purché ciò abbia senso) • Il comando type nomefile visualizza il contenuto di un file; ad esempio type pippo.c • Il comando more permette di eseguire la stampa sullo schermo pagina per pagina con avanzamento “manuale” • Per file molto lunghi, può essere utile la seguente concatenazione: type pippo.c | more © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 14 Fondamenti di Informatica - Introduzione ai sistemi operativi Redirezione dell’output • Il risultato di un certo comando o i messaggi generati da un programma si possono scrivere (o “redirigere”) su un file anziché sullo standard output • La redirezione si effettua con il comando > • Ad esempio: C:\>dir *.* > lista.txt scrive nel file C:\lista.txt la stampa fornita dal comando dir *.* • Tale procedura è utile quando si intende conservare l’output per una valutazione approfondita oppure in fase di debugging dei programmi: C:\FONDINFO>prova.exe > debug.txt © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 15 Fondamenti di Informatica - Introduzione ai sistemi operativi Il file editor DOS • Un file editor è un programma per la lettura, la scrittura e la modifica del contenuto dei file di testo ASCII • Il sistema operativo MS-DOS offre alcuni programmi di utilità, tra i quali il file editor edit • Il comando per invocare il file editor DOS è: edit nomefile • Per scrivere un sorgente C di nome prova.c: E:\FONDINFO\C>edit prova.c • L’interfaccia grafica dell’editor agevola l’utente nelle procedure di lettura, modifica e salvataggio del file nel file system © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 16 Fondamenti di Informatica - Introduzione ai sistemi operativi Il sistema operativo Unix • Unix è un sistema operativo creato presso i Bell Laboratories e alcune Università nei primi anni ‘80 • Unix è un sistema operativo multiutente: le risorse hardware e software presenti su un calcolatore sono condivise contemporaneamente da molti utenti • Unix è un sistema operativo multitasking: gestisce l’esecuzione contemporanea di numerosi programmi, di uno o più utenti, in modalità time sharing • Unix offre un’interfaccia utente a riga di comandi (Command Line Interface) detta shell © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 17 Fondamenti di Informatica - Introduzione ai sistemi operativi La shell Unix • L’interprete dei comandi Unix è simile nella forma a quello di MS-DOS • All’inizio della sessione di lavoro, l’utente deve fornire il proprio nome utente e la password di accesso al calcolatore cursore lampeggiante • Il prompt dei comandi è in genere: nomeutente@nomesistema%_ dove il % indica l’interprete (come > in MS-DOS) • L’interfaccia Unix è più potente e versatile di MS-DOS, specie per gli aspetti di amministrazione del sistema, ma non offre altrettanta semplicità d’uso © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 18 Fondamenti di Informatica - Introduzione ai sistemi operativi Unix e i file • A differenza di MS-DOS, Unix implementa i privilegi di accesso alle risorse e la protezione dei file • L’accesso ad ogni file o directory avviene con modalità diverse a seconda dell’utente • I privilegi accordabili sono: lettura (r), scrittura e cancellazione (w), esecuzione (x) • Gli assegnatari dei privilegi sono: il proprietario (owner), il gruppo (group), il resto del mondo (world) • Un utente “speciale” è il superuser: questi gode di tutti i privilegi sull’intero file system e sui comandi del sistema operativo (ê è l’amministratore) © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 19 Fondamenti di Informatica - Introduzione ai sistemi operativi Unix e i file • Ogni utente vede un proprio albero di directory, sul cui contenuto gode di tutti i privilegi • Gli archivi degli altri utenti del gruppo sono in genere accessibili in lettura e scrittura o in sola lettura • Per ragioni di sicurezza, i file degli utenti esterni al gruppo sono spesso inaccessibili oppure visibili in sola lettura • I file eseguibili del sistema operativo (é i comandi) sono accessibili a tutti gli utenti in lettura ed esecuzione • L’esecuzione dei comandi di amministrazione è riservata ai soli amministratori e al superuser © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 20 Fondamenti di Informatica - Introduzione ai sistemi operativi Unix e i file • Come in MS-DOS, i file sono identificati da un nome più un’estensione • Unix consente di utilizzare nomi di file lunghi fino a 32 caratteri, ed estensioni fino a 4 caratteri • Come il linguaggio C, Unix è case sensitive é pippo.txt ≠ Pippo.txt ≠ pippo.TXT… • La radice del file system è indicata dal simbolo / ; inoltre non vi sono nomi espliciti per le unità disco • In Unix il path e il pathname di un file si scrivono utilizzando il carattere slash / (mentre MS-DOS usa il \) Ad esempio: /home/studenti/mariorossi/prova.c © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 21 Fondamenti di Informatica - Introduzione ai sistemi operativi Comandi su file e directory • Corrispondenza tra comandi MS-DOS e Unix: dir ls copy cp delete rm cd cd rename mv type cat more more Hanno la stessa sintassi, ma non gli stessi parametri! © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 22 Fondamenti di Informatica - Introduzione ai sistemi operativi File e directory • Il file system Unix è gerarchico é il direttorio padre è indicato da .. é il direttorio corrente è indicato da . • Per visualizzare il path della directory corrente si usa il comando pwd • Per un file di nome prova.c presente nella directory /home/studenti/pippo, il pathname assoluto è: /home/studenti/pippo/prova.c mentre il pathname relativo, se la directory di default è /home/studenti, sarà: ./pippo/prova.c © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 23 Fondamenti di Informatica - Introduzione ai sistemi operativi File e directory • La stampa fornita dal comando ls ha il formato: [davide@fender]%ls prova prova.c prova1 prova1.c stampa.txt stampa1.txt • Il parametro -l offre un livello di dettaglio maggiore: [davide@fender ]%ls -l total 15 -rwxr-xr-x -rw-r--r--rwxr-xr-x -rw-r--r--rw-r--r--rw-r--r-- 1 1 1 1 1 1 davide davide davide davide davide davide Dimensione (byte) e ultima modifica users users users users users users 4791 146 4792 99 24 72 Mar Mar Mar Mar Apr Apr 23 23 24 24 3 3 14:09 14:09 14:25 14:25 16:01 16:01 Privilegi degli utenti esterni al gruppo Privilegi del gruppo Privilegi del proprietario prova prova.c prova1 prova1.c stampa.txt stampa1.txt Nomi dei file © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 24 Fondamenti di Informatica - Introduzione ai sistemi operativi File editor Unix • vi è il file editor più semplice da usare in ambiente Unix • vi ha due modi di funzionamento: – modo comandi: ad ogni tasto corrisponde un comando particolare, e le frecce spostano il cursore – modo inserimento: permette la modifica del file • Per passare da modo comandi a modo inserimento, si deve premere il tasto "i"; il ritorno al modo comandi avviene premendo ESC • Il comando per salvare il file ed uscire è :wq • Per uscire senza salvare le modifiche: :q! © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 25 Fondamenti di Informatica - Introduzione ai sistemi operativi “Allora non sono da solo!” • Ogni utente può conoscere quanti e quali utenti sono collegati al sistema mediante il comando who • Unix offre due semplici funzionalità di comunicazione fra gli utenti: – talk: è un programma che consente a due utenti on-line di dialogare via terminale – mail: consente di inviare e ricevere messaggi di posta elettronica tra utenti • La comunicazione è un supporto molto utile per i gruppi di lavoro © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 26 Fondamenti di Informatica - Introduzione ai sistemi operativi Il sistema operativo VMS • VMS è stato sviluppato alla fine degli anni ‘70 da Digital Equipment Corporation per i sistemi VAX e Alpha • Come Unix, anche VMS è un sistema operativo multiutente e multitasking • Le procedure relative a login, privilegi e gestione del file system sono analoghe a quelle viste per Unix • In VMS la radice del file system è indicata da [000000], mentre per scrivere il path o il pathname di un file si utilizzano le parentesi quadre e il carattere . (punto) © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 27 Fondamenti di Informatica - Introduzione ai sistemi operativi VMS e i file • Il pathname assoluto di un file ha la forma: NOMEDISCO:[DIRECTORY]NOME.TIPO;VERSIONE • La versione di un file è data da un numero progressivo e serve a distinguere file omonimi, oppure scritture successive dello stesso file • Ad esempio, il file PROVA.C presente nella directory INFORMATICA.FONDINFO del disco CDC_DIDROOT ha pathname assoluto: CDC_DIDROOT:[INFORMATICA.FONDINFO]PROVA.C;1 • La cifra finale a 1 indica che sul disco c’è una sola versione del file PROVA.C © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 28 Fondamenti di Informatica - Introduzione ai sistemi operativi Comandi DCL • Il linguaggio dei comandi di VMS si chiama DCL (Digital Command Language) • L’interprete dei comandi DCL è indicato dal carattere $ • DCL offre una guida in linea, richiamabile con il comando HELP • Per visualizzare il contenuto di una directory, il comando da usare è DIR • Per conoscere la directory di lavoro si usa il comando: SHOW DEFAULT • Per cambiare la directory corrente: SET DEFAULT [DIRECTORY] © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 29 Fondamenti di Informatica - Introduzione ai sistemi operativi Prima di andarsene... • Un PC con sistema operativo MS-DOS non richiede particolari procedure di “abbandono” del sistema • Un utente di una macchina MS-Windows, Unix o VMS deve invece concludere sempre la sessione di lavoro con il comando logout (in Windows “chiudi sessione” dal menu di avvio) Se un utente dimentica di “fare logout” da terminale, un intruso può accedere ai suoi file e alterarne il contenuto! © 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 30