Sistemi Operativi Definizioni iniziali Tipi di software Sistema Operativo
Transcript
Sistemi Operativi Definizioni iniziali Tipi di software Sistema Operativo
Definizioni iniziali Programma: una sequenza di istruzioni elementari Sistemi Operativi Processo: un programma in esecuzione Software: insieme dei programmi 2 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Tipi di software Sistema Operativo Base: lavora sull’hardware e fornisce le funzioni essenziali Ha due funzioni principali gestisce le risorse fisiche (hardware) Applicativo: si basa sul software di base e soddisfa esigenze dell’utente controlla i processi e mette a disposizione un’interfaccia per l’utente 3 / 32 Informatica - M. Falda, A. A. 2007 - 2008 4 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Avvio del calcolatore Tipi di Sistemi Operativi La memoria ROM contiene il software necessario all’avvio (firmware) monotasking: non più usati (DOS) multitasking: permettono l’esecuzione di più processi in parallelo (Windows) carica il Sistema Operativo in memoria controlla l’integrità delle componenti interne real-time: oltre al parallelismo, garanzie sull'esecuzione verifica le periferiche collegate (ora plug & play) 5 / 32 Informatica - M. Falda, A. A. 2007 - 2008 6 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Sistemi multitasking Interfacce Sono i più usati: Windows, Linux, Mac OS X A caratteri: i comandi sono stringhe di testo DOS UNIX / Linux Sfruttano la tecnica di time-sharing Grafiche: sfruttano metafore grafiche e contesti Windows Mac OS X 7 / 32 Informatica - M. Falda, A. A. 2007 - 2008 8 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Interfacce a caratteri Interfacce grafiche Svantaggi Svantaggi molte risorse poco flessibili difficili Vantaggi veloci flessibili richiedono poche risorse Vantaggi facili maggior trasparenza rispetto all’hardware 9 / 32 Informatica - M. Falda, A. A. 2007 - 2008 10 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Software applicativo Esempio di interfaccia di un programma Si cerca di costruirlo con interfacce amichevoli Ciascun programma può fornire interfacce aggiuntive rispetto a quelle fornite dal S.O. Tipologie ambienti di sviluppo (programmazione) produttività personale (e.g. elaborazione di testi) programmi verticali “specializzati” (e.g. biblioteche) 11 / 32 Informatica - M. Falda, A. A. 2007 - 2008 12 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Macchine virtuali Macchine virtuali Si nascondono le funzionalità non necessarie Anche il Sistema Operativo è organizzato in maniera simile Si uniforma l’accesso alle risorse 13 / 32 Informatica - M. Falda, A. A. 2007 - 2008 14 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Gestore dei processi (kernel (kernel)) Lo stallo Processo 1 Pronto Pronto Coordina l’esecuzione di più processi in esecuzione (tanti quanti le CPU) pronto in attesa (di dati o risorse) InInesecuzione esecuzione InInattesa attesa sta usando Risorsa Risorsa11 sta aspettando Dato Dato11 sta aspettando sta usando InInattesa attesa Pronto Pronto Processo 2 InInesecuzione esecuzione Pronto Pronto InInattesa attesa Informatica - M. Falda, A. A. 2007 - 2008 15 / 32 InInesecuzione esecuzione 16 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Esempio di gestore di processi Gestione della memoria centrale In Windows esiste un programma chiamato Task Manager Assicura l’accesso corretto alla memoria RAM da parte dei programmi memoria RAM Interagisce con la memoria secondaria per aumentare la capacità: memoria virtuale CTRL + ALT + CANC 2. Il processo 1 (attivo) ha il doppio di memoria Processo Processo11 Processo Processo22 1. Il processo 2 (non attivo) viene messo da parte Processo Processo22 memoria di massa 17 / 32 Informatica - M. Falda, A. A. 2007 - 2008 18 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Esempio Gestore della memoria secondaria (filesystem (filesystem)) I dati nella memoria secondaria sono organizzati in file Windows permette di gestire la memoria virtuale, anche se la “nasconde” all’utente usuale unità di aggregazione (importanza del contesto) si misurano in byte hanno un nome univoco (con limitazioni) ulteriori proprietà: dimensione, tipo, date, permessi di lettura/scrittura et c. 19 / 32 Informatica - M. Falda, A. A. 2007 - 2008 20 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Organizzazione dei file Tipi di file (estensione) I file sono organizzati in cartelle Per individuare il tipo di file ci sono vari metodi Sono individuati da un percorso Fotografie Fotografie fotografie/vacanze/mare Vacanze Vacanze Mare Mare Animali Animali Amici Amici aggiungere una proprietà riconoscerne la struttura aggiungere un “simbolo” convenzionale (estensione) al nome Estensione Tipo bmp, jpg, gif exe, com wav, mp3 immagine eseguibile suono mpg, mov video ... ... Montagna Montagna 21 / 32 Informatica - M. Falda, A. A. 2007 - 2008 22 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Esempio Tipi di filesystem e formattazione traccia settore Il disco fisso viene formattato In Windows “Risorse del computer” rappresenta una interfaccia per il filesystem fisicamente in tracce e settori logicamente in partizioni di vario tipo Ci sono vari tipi di filesystem 23 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Windows: FAT, NTFS Linux: Ext2, Ext3, ReiserFS et c. Mac OS X: HFS+ CD: ISO9660 Informatica - M. Falda, A. A. 2007 - 2008 cilindro 24 / 32 Integrità Integrità e frammentazione Esempio I dischi fissi sono maggiormente soggetti ad usura In Windows ci sono due programmi appositi controlli di integrità sui file Disposizione iniziale (non frammentato) Le operazioni sui file tendono a disperderli in pezzettini sempre più piccoli file1 file2 file3 spazio libero ScanDisk si occupa del controllo dell’integrità Defrag si occupa della “deframmentazione” Dopo diverso tempo (frammentato) file1 file2 file1 file3 deframmentazione (Windows) Informatica - M. Falda, A. A. 2007 - 2008 è necessario più tempo per leggerlo 25 / 32 26 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Gestione delle periferiche Coda di stampa Nasconderne ed uniformarne il funzionamento La stampa è una delle periferiche più lente Lo spooler Gestire gli errori (e.g. carta mancante) e gli accessi costruisce una coda di richieste (di stampa) invia i documenti alla periferica permette ai programmi di continuare ed essere “avvertiti” quando il documento è pronto Esistono programmi specifici per ogni periferica, i driver 27 / 32 Informatica - M. Falda, A. A. 2007 - 2008 28 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Interprete dei comandi Terminale dei comandi Ogni Sistema Operativo ha un interprete che riconosce le richieste degli utenti (comandi) avvio di programmi funzioni del Sistema Operativo 1. Pronto per ricevere un comando C:\> 2. L’utente digita il comando C:\> ren *.jpg *.jpeg Le interfacce a caratteri prevedono un linguaggio specifico 3. Il S.O. controlla la sintassi ed esegue 29 / 32 Informatica - M. Falda, A. A. 2007 - 2008 30 / 32 Informatica - M. Falda, A. A. 2007 - 2008 Sintassi di un comando Comandi più più comuni Un comando è formato da un nome (* indica qualsiasi serie di caratteri) una serie di opzioni una serie di argomenti dir /p /od nome nome opzioni opzioni *.jpg argomento argomento Windows Linux / Mac OS X elenco dei file creazione cartella eliminazione cartella copia spostamento dir md rd copy move ls -la mkdir rmdir cp mv eliminazione di file del rm ridenominazione ren mv 31 / 32 Informatica - M. Falda, A. A. 2007 - 2008 32 / 32 Informatica - M. Falda, A. A. 2007 - 2008