© Politecnico di Torino, 2002 Introduzione ai Sistemi Operativi Fondamenti di Informatica Anno Accademico 2001-02 1 Contenuti © Politecnico di Torino, 2002 Architettura di un PC Il sistema operativo Organizzazione dei dischi Comandi DOS 2 Il calcolatore “fuori” Monitor Stampante © Politecnico di Torino, 2002 Unità centrale Lettore floppy disk Mouse Tastiera floppy disk 3 © Politecnico di Torino, 2002 5 © Politecnico di Torino, 2002 Memoria RAM Random Access Memory È il deposito di dati e programmi durante l’elaborazione È suddivisa in piccole celle di dimensione uniforme, ciascuna capace di contenere un numero binario Ogni cella ha “un indirizzo” Dimensioni: centinaia di milioni di celle Velocità, tempo di accesso alla singola cella: decina di nanosecondi Si cancella allo spegnimento del computer 7 © Politecnico di Torino, 2002 Dischi Costituiscono il deposito “a lungo termine” del calcolatore Possono essere fissi (contenuti all’interno del calcolatore, hard disk) o rimovibili (dischetti, floppy disk) Non si cancellano allo spegnimento I floppy disk sono lenti (100 ms) e piccoli (1.44 MB) I dischi fissi sono un po’ più veloci (10 ms) e molto più capienti (40 GB e oltre) 8 © Politecnico di Torino, 2002 Programmi Forniscono le direttive di funzionamento alla CPU Da un punto di vista logico, sono formati da sequenze di istruzioni Fisicamente sono costituiti da sequenze di numeri binari Sono memorizzati all’interno dei dischi Per poter essere eseguiti devono venir trasferiti nella memoria RAM 9 © Politecnico di Torino, 2002 Dati Costituiscono l’oggetto dell’elaborazione Possono risiedere su disco o essere raccolti dalla periferiche di ingresso (mouse, tastiera, scanner, microfono, telecamera,…) Possono essere salvati su disco o trasferiti alle periferiche di uscita (video, casse, stampante,…) A seconda dei casi possono rappresentare numeri, testi, immagini, filmati, suoni, … Fisicamente, sono costituiti da sequenze di numeri binari 10 CPU © Politecnico di Torino, 2002 Central Processing Unit Esegue operazioni molto semplici a grande velocità (somme, confronti, salti di instruzione…) Ciclo di funzionamento tipico: fetch (dell’operazione e degli operandi in RAM) e execute La velocità delle CPU è difficilmente confrontabile con la sola frequenza di funzionamento => benchmark su problemi comuni 11 Sistema operativo © Politecnico di Torino, 2002 dati CPU dati 12 Sistema operativo È il programma (o l’insieme di programmi) che media e coordina l’utilizzo del calcolatore da parte degli utenti da parte dei singoli programmi applicativi © Politecnico di Torino, 2002 Ha il compito di: Regolare l’utilizzo del computer da parte dei suoi utenti Organizzare dati e programmi sul disco Gestire accensione e spegnimento Trasferire i programmi in memoria ed iniziarne l’esecuzione Regolare l’accesso alle periferiche 13 Interfaccia del sistema operativo © Politecnico di Torino, 2002 Permette all’utente di interagire con il calcolatore consentendogli di impartire singoli comandi Due modalità: Grafica, basata sul concetti di “finestra” e di puntatore (mouse) Testuale, basata sullo scambio di messaggi costituiti da righe di testo 14 Interfaccia grafica Pregi Immediatezza comunicativa Intuitività Supporto multimediale © Politecnico di Torino, 2002 Difetti Difficoltà nell’automatizzazione dei compiti ripetitivi Richiede molte risorse elaborative Può limitare la produttività individuale 16 Interfaccia testuale Pregi Richiede poche risorse elaborative Facilita l’automazione di compiti ripetitivi © Politecnico di Torino, 2002 Difetti Richiede la conoscenza di linguaggi specifici la cui sintassi/semantica può essere complessa Scarsa intuitività Comunicazione limitata dello stato del sistema 18 © Politecnico di Torino, 2002 Sistemi operativi Di fatto, nei sistemi operativi attuali convivono le due modalità di interfaccia Nel caso dei sistemi operativi Microsoft (Windows 95, 98, ME, NT, 2000, …), accanto alla modalità grafica, è disponibile l’interfaccia testuale attraverso le finestre MS-DOS All’interno di tali finestre viene emulato il vecchio sistema operativo Microsoft 19 MS-DOS © Politecnico di Torino, 2002 MicroSoft Disk Operating System Nato come sistema operativo per i PC IBM Progettato per computer molto meno potenti di quelli attuali Monoutente Si ipotizza che un’unica persona lo utilizzi Non viene verificata l’identità dell’utente Chiunque utilizzi una macchina equipaggiata con MSDOS può eseguire qualsiasi operazione Monotask Può essere eseguito un solo programma per volta 20 © Politecnico di Torino, 2002 Organizzazione dei dischi Un disco può contenere da 1’000’000 a più di 10’000’000’000 di caratteri Fisicamente i dati sono scritti in celle di uguale dimensione (blocchi) Per poter trovare le informazioni che servono all’interno dei dischi occorre organizzarle in modo logico Le informazioni sono raggruppate all’interno di file 21 File © Politecnico di Torino, 2002 Dati e programmi sono memorizzati all’interno dei dischi in file (detti anche documenti) Ogni file: ha un nome ed, eventualmente, un’estensione ha un insieme di informazioni collaterali (dimensione, permessi di accesso, data e ora in cui è stato modificato l’ultima volta,…) Da un punto di vista logico, i file possono contenere molti tipi di informazioni: Testi, immagini, suoni, programmi, filmati, … Da un punto di vista fisico, un file è costituito da una sequenza di bit 22 Nomi ed estensioni Il nome: © Politecnico di Torino, 2002 aiuta l’utente a ricordare il contenuto in DOS, è formato da 1 ad 8 caratteri: lettere (A-Z), cifre (0-9), alcuni caratteri speciali ( ! $ % & @ # _ ^()‘) Maiuscole e minuscole sono considerate uguali L’estensione aiuta ad associare al file il relativo programma che lo “capisce” e lo sa trattare in DOS, è formata da 0 a 3 caratteri (stesse regole del nome) Nome ed estensione vengono separati da “.” 24 © Politecnico di Torino, 2002 Alcune estensioni .txt: .exe .jpg .c .bas .doc .bat file di testo programma eseguibile immagine compressa programma in linguaggio C programma in linguaggio basic documento di testo con impaginazione file di testo contenente una sequenza di comandi MS-DOS 25 File e cartelle (2) © Politecnico di Torino, 2002 I file sono raggruppati all’interno di cartelle o directory Ogni cartella: Può contenere più file (con nomi e/o estensioni diversi) Ha un proprio nome ed, eventualmente, un’estensione 1 01 0 11 0 1 0 0 0 10 01001 1 0 0110 11 0 1 0 0 0 10 01001 1 0 0110 11 0 1 0 0 0 10 01001 1 0 0110 11 0 1 0 0 0 10 01001 1 0 26 Cartelle e sottocartelle © Politecnico di Torino, 2002 Una cartella può contenere altre sottocartelle (subdirectory, subfolder) Si forma una struttura ad “albero rovesciato” 11 1001 00 11 0 010010100 11 1001 00 11 0 010010100 11 1001 00 11 0 010010100 11 1001 00 1010 0 0 1 1 1 0 0 1 0011 1001 1001 1 11001 0 0 0 1 1 0 1 000 0 1000101100 0 11 1001 00 11 0 010010100 11 1001 00 11 0 010010100 11 001 101 01001 1 0 1010 010 0100101100 0 0100110 11 1001 00 11 0 010010100 11 1001 00 11 0 010010100 27 I dischi © Politecnico di Torino, 2002 Ad un calcolatore possono essere collegati più dischi Nel caso del DOS, ogni disco ha un nome, costituito da una lettera seguita da ‘:’ Esempio A: C: D: floppy disk hard disk CD-ROM Ogni disco contiene almeno una cartella, detta cartella radice ed identificata dal carattere “\” 28 Struttura ad albero (1) Cartella radice A:\ ESEMPI © Politecnico di Torino, 2002 sotto-cartelle (1° livello) sotto-cartelle (2° livello) DISEGNI TESTI LETTERE ESAMI ANALISI FISICA 29 Struttura ad albero (2) C:\ CASA SPESE giugno.xls luglio.xls agosto.xls ricorda.txt ENTRATE © Politecnico di Torino, 2002 file ESAMI elenco.doc voti.xls ANALISI tesina.doc FISICA VARIE testi.doc tesina.doc testi.doc telefono.xls amici.txt 30 Percorsi © Politecnico di Torino, 2002 Si identifica un file particolare in base alla posizione in cui è memorizzato La posizione può essere specificata in modo assoluto in modo relativo rispetto ad una data cartella 31 Percorsi assoluti C:\varie\amici.txt © Politecnico di Torino, 2002 nome via nome (sotto-)cartella città disco 32 Esempi C:\CASA\SPESE\luglio.xls C:\ disco radice CASA SPESE giugno.xls luglio.xls agosto.xls ricorda.txt C:\ESAMI\elenco.doc ENTRATE © Politecnico di Torino, 2002 ESAMI elenco.doc voti.xls C:\VARIE\amici.txt ANALISI tesina.doc FISICA VARIE testi.doc tesina.doc testi.doc telefono.xls amici.txt C:\ESAMI\FISICA\tesina.doc C:\ESAMI\ANALISI\tesina.doc 33 © Politecnico di Torino, 2002 Percorsi relativi Data una cartella di riferimento, è possibile specificare la posizione di un file in modo relativo Si specifica il percorso in termini di sequenza di sottocartelle che devono essere attraversate per giungere al file Si possono utilizzare alcuni “nomi” predefiniti “.” indica la cartella di attualmente individuata “..” indica la cartella “genitrice” (ovvero quella che contiene la cartella attualmente individuata) 34 Esempi ..\CASA\SPESE\luglio.xls C:\ cartella di riferimento CASA SPESE giugno.xls luglio.xls agosto.xls ricorda.txt elenco.doc (ma anche ENTRATE .\elenco.doc) © Politecnico di Torino, 2002 ESAMI elenco.doc voti.xls ..\VARIE\amici.txt ANALISI tesina.doc FISICA testi.doc tesina.doc testi.doc VARIE telefono.xls amici.txt FISICA\tesina.doc ANALISI\tesina.doc 35 © Politecnico di Torino, 2002 Caratteri Jolly (1) A volte è utile indicare un gruppo di file, piuttosto che un file singolo Il DOS permette di indicare in modo parziale il nome/estensione di un file utilizzando i caratteri jolly (‘?’ e ‘*’) Quando si utilizzano questi caratteri, il DOS confronta il nome parziale indicato con i nomi di tutti i file presenti nella directory e seleziona quelli che soddisfano i criteri indicati 36 © Politecnico di Torino, 2002 Caratteri Jolly (2) Il confronto avviene carattere per carattere, da sinistra verso destra, separatamente per nome e per estensione Il carattere jolly ‘?’ può corrispondere a qualsiasi carattere presente nel nome del file, nella medesima posizione Il carattere jolly ‘*’ può corrispondere a qualsiasi sequenza di caratteri, anche di lunghezza nulla, a partire dalla sua posizione 37 © Politecnico di Torino, 2002 Esempi Prova?.txt identifica i file prova1.txt, prova2.txt, prova3.txt ma non il file prova.txt prova*.txt identifica i file prova.txt, prova1.txt, prova2.txt, prova3.txt tesina.* identifica i file tesina.doc, tesina.xls *.* identifica tutti i file della cartella 38 Il DOS – diagramma di flusso Inizio Bootstrap © Politecnico di Torino, 2002 Stampa prompt Leggi comando Esegui comando 39 I comandi: vista funzionale Parametri © Politecnico di Torino, 2002 input Messaggi generati Opzioni Comando output Agisce sui dischi 40 Parametri Indicano il cosa, il dove, … , dell’azione richiesta Per lo più sono costituiti da nomi di file e di cartelle (con i relativi percorsi) Esempio: © Politecnico di Torino, 2002 DIR a:\analisi Il volume nell'unità A è BACKUP 001 Directory di A:\analisi . <DIR> 06/07/93 14.42 .. <DIR> 06/07/93 14.42 ESERCIZ1 TXT 88.226 29/06/93 11.11 RELAZION DOC 92.807 29/06/93 11.11 2 file 181.033 byte 2 dir 758.784 byte disponibili 41 Opzioni © Politecnico di Torino, 2002 Permettono di specificare eventuali modalità particolari di esecuzione del comando Di solito consistono in nomi brevi, preceduti dal carattere ‘/’ Esempio: DIR a:\analisi /w Il volume nell'unità A è BACKUP 001 Directory di A:\analisi [.] [..] ESERCIZ1.TXT RELAZION.DOC 2 file 181.033 byte 2 dir 758.784 byte disponibili 42 I comandi: sintassi Vengono espressi sotto forma di singole righe di testo Sintassi: © Politecnico di Torino, 2002 NOME_COMANDO [parametri] [opzioni] Nome_comando indica l’azione che deve essere eseguita e determina il numero ed il tipo di parametri ed opzioni disponibili Il nome del comando, i singoli parametri e le opzioni sono separati da spazi (“ ”) 43 © Politecnico di Torino, 2002 Parametri di default In alcuni casi, è possibile invocare comandi senza indicare esplicitamente dei parametri: Quando ciò succede, il sistema utilizza, al posto dei parametri mancanti, alcuni parametri interni che riflettono lo stato del sistema (valori di default) Alcuni comandi richiedono l’indicazione esplicita di uno o più parametri 44 Disco corrente (1) Quando si nomina un file è necessario indicarne © Politecnico di Torino, 2002 Disco, directory e sottodirectory, nome ed estensione Il sistema operativo mantiene al proprio interno una variabile che indica su quale drive si sta operando (disco corrente) Se, nell’indicare un file, si omette il nome del disco, il sistema provvede a completare il cammino anteponendo il nome del disco corrente 45 Disco corrente (2) © Politecnico di Torino, 2002 DIR \analisi Disco corrente Il volume nell'unità A è BACKUP 001 Directory di A:\analisi . <DIR> 06/07/93 14.42 .. <DIR> 06/07/93 14.42 ESERCIZ1 TXT 88.226 29/06/93 11.11 RELAZION DOC 92.807 29/06/93 11.11 2 file 181.033 byte 2 dir 758.784 byte disponibili 46 © Politecnico di Torino, 2002 Disco corrente (3) È possibile cambiare il disco corrente con il comando “X:”, dove X deve essere sostituito dalla lettera che identifica il disco su cui si intende operare Il prompt di sistema (se non viene modificato da altri comandi) indica quale sia il disco corrente C> a: A> f: Unità specificata non valida A> 47 © Politecnico di Torino, 2002 Cartella corrente (1) Per ogni disco collegato al calcolatore, il sistema identifica una cartella che considera come cartella di lavoro (o cartella corrente) Se, nell’indicare un file, si utilizza un percorso relativo, il sistema utilizza come cartella di riferimento la cartella corrente del disco indicato Se si omette il nome del disco e si usa un percorso relativo, il sistema usa come cartella di riferimento la cartella corrente del disco corrente 48 Cartella corrente (2) Disco corrente: A: Cartella corrente disco A: \analisi\ Cartella corrente disco C: \varie\amici\ Cartella corrente disco D: \ Stato del sistema © Politecnico di Torino, 2002 Il comando COPY relazion.doc c:..\..\esami\ copia il file a:\analisi\relazion.doc nella cartella c:\esami\ 49 © Politecnico di Torino, 2002 Cartella corrente (3) Alla partenza, la cartella corrente di tutti i dischi è la cartella radice Il comando “CD”, se utilizzato senza parametri, stampa la cartella corrente del disco corrente Il comando “CD x:” stampa la cartella corrente del disco x: Il comando “CD <nome_cartella>” modifica la cartella corrente del disco corrente Il comando “CD x:<nome_cartella>” modifica la cartella corrente del disco x: 50 Le categorie di comandi Comandi “interni” Caricati, all’atto del bootstrap, nella memoria centrale per renderne immediata l’esecuzione DIR, COPY, DEL, REN, MD, CD, RD, TYPE, PROMPT © Politecnico di Torino, 2002 Comandi “esterni” Si trovano sul disco e vengono caricati in RAM solo all’atto della loro invocazione Sviluppati dal produttore del sistema operativo Programmi applicativi Come i comandi “esterni”, si trovano sul disco e vengono caricati quando necessario Sviluppati da terze parti 51 © Politecnico di Torino, 2002 I comandi principali DIR – elenca i file presenti in una data cartella COPY – copia un file da una cartella ad un’altra DEL – cancella un file REN – cambia il nome ad un file MD – crea una cartella CD – cambia la cartella corrente RD – elimina una cartella PROMPT – cambia il prompt di sistema FORMAT – inizializza un disco DISKCOPY – copia un disco EDIT – crea/modifica un file di testo TYPE – visualizza un file di testo PRINT – invia un file di testo alla stampante 52 © Politecnico di Torino, 2002 Path (1) I comandi esterni ed i programmi applicativi si trovano sul disco Per poterli eseguire il sistema deve conoscerne l’ubicazione Quando si digita un comando, se non si tratta di un comando interno, il sistema operativo cerca sul disco il relativo codice Per default, il programma viene cercato nella cartella corrente del disco corrente 53 © Politecnico di Torino, 2002 Path (2) Per poter accedere ai comandi esterni quando la cartella corrente non è quella in cui sono memorizzati, è possibile indicare al DOS quali sono le cartelle ulteriori in cui cercare i comandi da eseguire Il comando PATH <percorso_cartella> indica che la ricerca deve essere estesa anche alla cartella indicata (il cui percorso deve essere espresso in modo assoluto) 54 Path (3) È possibile indicare più cartelle in cui effettuare la ricerca, separandole con il carattere “;” Esempio: il comando © Politecnico di Torino, 2002 PATH c:\dos;c:\programs indica che la ricerca dovrà essere effettuata dapprima nella cartella corrente del disco corrente, poi nella cartella c:\dos ed infine nella cartrella c:\programs 55 © Politecnico di Torino, 2002 Prompt (1) Per invitare l’utente ad introdurre una riga di comando, il sistema stampa un messaggio di invito (prompt) Per default, essa consiste della lettera che identifica il disco corrente seguita dal simbolo “>” Il comando PROMPT permette di modificare tale messaggio 56 Prompt (2) PROMPT <messaggio> indica al sistema di utilizzare <messaggio> come prompt © Politecnico di Torino, 2002 <messaggio> può contenere alcune variabili che, nel testo stampato, vengono sostituite dal relativo valore. Queste comprendono $n: il disco corrente $p: il percorso corrente (disco e cartella) $d: la data corrente $t: l’ora corrente $g: il carattere “>” $l: il carattere “<” $b: il carattere “|” 57 © Politecnico di Torino, 2002 Prompt (3) C> prompt $p$g C:\> cd esami C:\esami> prompt $d$b Mer 04/10/2000| prompt $n$g C> cd .. C> prompt $p$l C:\< 58 © Politecnico di Torino, 2002 Input e output dei programmi Se, durante l’esecuzione di un comando, vengono generati messaggi in uscita, per default, questi vengono stampati sullo schermo Alcuni comandi operano alcune trasformazioni sui dati mandati loro in ingresso: per default, l’ingresso coincide con i tasti premuti sulla tastiera durante l’esecuzione dl comando È possibile modificare queste impostazioni di base mediante la redirezione dei flussi di ingresso e uscita 59 Redirezione dei flussi di I/O Per inviare i messaggi stampati da un comando ad un dato file, si scrive: COMANDO [parametri][opzioni] > nome_file © Politecnico di Torino, 2002 Per aggiungere i messaggi stampati da un comando in coda ad un dato file, si scrive: COMANDO [parametri][opzioni] >> nome_file Per indicare ad un comando di ricevere i propri dati da un file, invece che dalla tastiera, si scrive: COMANDO [parametri][opzioni] < nome_file 60 Catene di comandi È possibile concatenare due o più comandi, indicando che quanto stampato dal primo venga posto in ingresso al secondo, e così via… Si scrive: © Politecnico di Torino, 2002 CMD1 [par][opz] | CMD2 [par][opz] 61 I filtri © Politecnico di Torino, 2002 Sono comandi che operano trasformazioni sul flusso di ingresso e inviano il risultato sul flusso di uscita Esempi MORE: suddivide il flusso di ingresso in pagine, formate da un numero opportuno di righe; invia le pagine in uscita attendendo, tra una pagina e l’altra, la pressione di un carattere sulla tastiera SORT: ordina le righe in ingresso e le invia in uscita FIND: identifica, tra le righe in ingresso, tutte quelle che soddisfano una data condizione 62