Dott.sa Anna Monguzzi INEMAR Inventario emissioni La stima delle emissioni dagli Aeroporti.
A.A. 2012-2013 Dott.sa Sara Zuppiroli Modulo di Informatica · Un sistema operativo è un programma...
Transcript of A.A. 2012-2013 Dott.sa Sara Zuppiroli Modulo di Informatica · Un sistema operativo è un programma...
Sistema Operativo e Applicativi
Modulo di InformaticaDott.sa Sara Zuppiroli
A.A. 2012-2013
Modulo di Informatica () Software A.A. 2012-2013 1 / 36
Software
Conosciamo due classi di software:Programmi ApplicativiSistemi Operativi
Modulo di Informatica () Software A.A. 2012-2013 2 / 36
Software: Programmi applicativi
programmi di videoscrittura (es. Word)browser, usati per ’navigare il Web’ (es. Firefox)fogli elettronici, usati per manipolare e analizzare numeri edati (es. Fogli di calcolo)programmi per la gestione di banche di dati (database),utilizzati per conservare ed elaborare dati strutturati (es.Mysql, PosgreSQL)programmi per creare applicazioni multimediali/ grafiche,manipolare foto, fare presentazioni con audio/video, ecc.videogiochi· · ·
Modulo di Informatica () Software A.A. 2012-2013 3 / 36
Il Sistema Operativo
Definizione e tipi di SOLe funzionalità di un SOCome macchina astratta
Modulo di Informatica () Software A.A. 2012-2013 4 / 36
Definizione di SO
Un sistema operativo è un programma che agisce comeintermediario tra Utente, Software Applicativo e Hardware. Il suoscopo è di fornire un ambiente nel quale un utente possaeseguire programmi in modo conveniente ed efficiente. Deveevitare che i programmi utente in esecuzione entrino in conflittoUn sistema operativo fornisce sevizi ai programmi.
Modulo di Informatica () Software A.A. 2012-2013 6 / 36
Obiettivi del SO
Efficienza:Un S.O. cerca di utilizzare in modo efficiente le risorse delcalcolatore
Semplicità:Un sistema operativo dovrebbe semplificare l’utilizzazionedell’hardware di un calcolatore
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 7 / 36
I tipi di SO (1/2)
Sistemi Batch (lotti): Il SO gestiva il passaggio da un Joba quello successivo. (I: Schede perforate, O: stampante,Utente: non interagiva)Sistemi Multi-programmati: permettono di avere lafunzione di multi- programmazione, per cui in memoriacentrale si possono caricare simultaneamente piùprogrammi (scheduling)Sistemi Time sharing: è un’estensione dellamulti-programmazione in cui la CPU esegue i vari processicon una frequenza tale che permetta all’utente di interagirecon più programmi.
Modulo di Informatica () Software A.A. 2012-2013 8 / 36
I tipi di SO (2/2)
Sistemi Multi-processore: Questo sistema dispone di piùprocessori che condividono il bus di sistema (quello dentrola scheda madre), il clock, e talvolta dispositivi di memoria.Sistemi Distribuiti: Sono un insieme di processori che noncondividono nè memoria nè clock. I sistemi distribuiticomunicano tra loro con mezzi di comunicazione diversi.Sistemi Real Time: Sono sistemi operativi natidall’esigenza che alcuni processi devono essere elaborati inun tempo ben preciso
Modulo di Informatica () Software A.A. 2012-2013 9 / 36
Una similitudine per i SO BatchRistoranteSistemaInformativo
La cassa della banca è composto da uncassiere, da un cliente, da risorse materiali(carta, denaro, ecc..)
Fila degli UtentiProgrammi
Il cassiere per gestire ogni utente devesvolgere una procedura che dipende dallarichiesta dell’utente
StrumentiTecnologia
Carta, denaro, cassaforte, moduli, ecc...
PreparazioneProcesso in se-quenza
La procedura viene eseguita compiendouna serie di operazioni stabilite, in un certoordine
CassiereSistema Opera-tivo
Esegue e gestisce le risorse in modo taleda soddisfare un utente di seguito all’altro
Modulo di Informatica () Software A.A. 2012-2013 10 / 36
Una similitudine per i SO multi-programmatiRistoranteSistemaInformativo
Il ristorante è composto di risorse umaneaddette alle comande (camerieri), da cuo-chi, da risorse materiali (cucina, strumenti,ecc..), da un menù
Menù e piattidel giornoProgrammi
Il menù propone il nome di tutti possibilipiatti del ristorante
StrumentiTecnologia
Ciotola, fornello, forno, padella antiaderen-te, forchetta, cucchiaio di legno, lavapiatti,ecc..
PreparazioneProcessi e Coe-renza
La preparazione dei piatti gestendo le ri-sorse in maniera coerente ed efficiente, nelrispetto dei tempi di attesa degli utenti
CuocoSistema Opera-tivo
Esegue e gestisce le risorse in modo taleda soddisfare nel minor tempo possibile ilmaggior numero di utenti
Modulo di Informatica () Software A.A. 2012-2013 11 / 36
Le altre similutidini
SO multiprocessoreSO Realtime
Modulo di Informatica () Software A.A. 2012-2013 12 / 36
Il sistema operativo
Definizione e tipi di SOLe funzionalità di un SOCome macchina astratta
Modulo di Informatica () Software A.A. 2012-2013 13 / 36
Le funzionalità di un SO
È il Sistema Operativo che :decide quale programma può utilizzare la CPU in ogniistante (e in questo modo gestisce l’esecuzione dellediverse applicazioni); consente l’accesso ai file(salvataggio, cancellazione, ecc.);gestione della memoriagestisce dispositivi I/O;gestione file systeminterprete di programmi
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 14 / 36
Gestisce i processi
Un processo è un programma in esecuzione:I Un processo utilizza le risorse fornite dal computer per
assolvere i propri compitiDai SO multi-programmati questo è responsabile delleseguenti attività riguardanti la gestione dei processi:
I creazione e terminazione dei processiI sospensione e riattivazione dei processiI gestione dei deadlockI comunicazione tra processiI sincronizzazione tra processi
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 15 / 36
Stati di un processi
In un SO multi-programmato (più processi sono pronti perl’elaborazione)
Ogni processo durante la sua vita alterna gli stati:I new: Il processo è creatoI running: Il processo è in esecuzioneI waiting: Il processo è in attesa di un eventoI ready: Il processo è pronto per essere eseguito (è in coda)I termiated: Il processo ha finito la sua esecuzione/o è stata
forzata la sua interruzione
Modulo di Informatica () Software A.A. 2012-2013 17 / 36
Eventi
Ogni processo durante la sua vita alterna gli stati aldeterminarsi di un evento:
I admited:Il processo creato è inserito in codaI scheduler dispatch: lo scheduler assegna al processo il
processoreI interrupt: è un segnale di interruzione dell’esecuzione del
processo per poter usare la CPUI I/O or event Wait: Si richiede un’operazione di I/O e si
mette in coda il processo, oppure un altro processo richiedeuna particolare operazione da un altro processo
I I/O or event completion: la periferica I/O o il processo hacompletato la sua esecuzione e il processo può ritornarenella coda ready
I exit: il processo termina
Modulo di Informatica () Software A.A. 2012-2013 18 / 36
Scheduler
L’avanzamento dei processi è determinato dalla disponibilitàdel processore e dalla politica con la quale l’uso delprocessore è ripartito tra i processiLe politiche di assegnazione del processore ai processipronti si chiamano politiche di scheduling. Lo scheduling hacome obiettivo un uso efficiente del processore, e decidecome fare avanzare i processi. Lo scheduling fa delle sceltead esempio:
I In base all’ordine di arrivo (FIFO: first in first out)I In base alla prioritàI In base al tempo di esecuzioneI ecc..
Modulo di Informatica () Software A.A. 2012-2013 19 / 36
Gestione dei deadlock
Il deadlock è una situazione in cui due (o più) processi sibloccano a vicenda aspettando che uno esegua una certaazione (es. rilasciare il controllo su una risorsa come un file, unaporta input/output ecc.) che serve all’altro e viceversa.
Il SO è responsabile della prevenzione se possibile,individuazione e risoluzione di questa situazione anomala:
I Evitare i deadlock: Il SO ad ogni richiesta di una risorsa daparte di un processo, effettua una verifica dello stato in cui sitroverebbe allocando la risorsa.
I Risolvere deadlock: si procede con la terminazione (forzata)di tutti i processi in stallo o di un processo alla volta fino allarisoluzione del Deadlock, oppure con la prelazione sullarisorsa che causa il problema. Particolare cura deve essereriposta nella scelta della vittima della prelazione.
Modulo di Informatica () Software A.A. 2012-2013 20 / 36
Gestione della memoria principale
La memoria principale:I è un array di byte indirizzabili singolarmente.I è un deposito di dati facilmente accessibile e condiviso tra la
CPU ed i dispositivi di I/OIl sistema operativo è responsabile delle seguenti attivitàriguardanti la gestione della memoria principale:
I tenere traccia di quali parti della memoria sono usate e dachi
I decidere quali processi caricare quando diventa disponibilespazio in memoria
I allocare e de allocare lo spazio di memoria quandonecessario
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 21 / 36
Gestisce la memoria secondaria
Memoria secondaria:Poichè la memoria principale è volatile e troppo piccola percontenere tutti i dati e tutti i programmi in modopermanente, un computer è dotato di memoria secondariaIn generale, la memoria secondaria è data da hard disk,dischi ottici, nastri
Il sistema operativo è responsabile delle seguenti attivitàriguardanti la gestione della memoria secondaria:
Allocazione dello spazio inutilizzatoGestione dello spazio di memorizzazioneOrdinamento efficiente delle richieste (disk scheduling)
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 22 / 36
Gestisce il file system
Un file è l’astrazione informatica di un archivio di dati:I Il concetto di file è indipendente dal media sul quale viene
memorizzato (che ha caratteristiche proprie e propriaorganizzazione fisica)
Un file system è composto da un insieme di fileIl sistema operativo è responsabile delle seguenti attivitàriguardanti la gestione del file system:
I Creazione e cancellazione di fileI Creazione e cancellazione di directoryI Manipolazione di file e directoryI Codifica del file system sulla memoria secondaria
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 23 / 36
File Directory e Filesystem
File (o archivio, o documento elettronico): è sequenza dicaratteri (byte) identificata da un nome Directory è uncontenitore di file. Filesystem: è meccanismo con il quale i filesono organizzati.
Modulo di Informatica () Software A.A. 2012-2013 24 / 36
Gestisce le operazioni di Input/Output
La gestione dell’I/O richiede:Un’interfaccia comune per la gestione dei device driverUn insieme di driver per dispositivi hardware specificiUn sistema di gestione di buffer per il caching delleinformazioni
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 25 / 36
Protezione
Il termine protezione si riferisce al meccanismo percontrollare gli accessi di programmi, processi o utenti allerisorse del sistema e degli utentiIl meccanismo di protezione software deve:
I Distinguere tra uso autorizzato o non autorizzatoI Specificare i controlli che devono essere impostiI Fornire un meccanismo di attuazione della protezione
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 26 / 36
Protezione della memoria
Dai SO multi-programmati in avanti: ogni processo ha unsuo spazio di indirizzi:
I è necessario impedire al processo di accedere ad aree dimemoria esterne al proprio spazio (ad es., del S.O. oppuredi altri processi).
I se fosse consentito: un programma potrebbe modificarecodice e dati di altri programmi o del S.O.
Modulo di Informatica () Software A.A. 2012-2013 27 / 36
Gestione della protezione
Per garantire protezione, molte architetture prevedono unduplice modo di funzionamento (dual mode):
I user mode:F tutti i programmi utenti eseguono sul processore in user
mode, se un programma utente ha bisogno di un’istruzioneprivilegiata deve richiamare una System Call
I kernel mode: si possono gestire istruzioni critiche:F accesso a dispositivi di I/OF gestione della memoriaF arresto del sistema
Modulo di Informatica () Software A.A. 2012-2013 28 / 36
Networking
ConsenteI Di far comunicare due o più elaboratoriI Di condividere risorse
Quali servizi:I Protocolli di comunicazione a basso livelloI TCP/IPI UDP
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 29 / 36
Interfaccia utente - S.O.
Interprete dei comandi permette di:I attivare un programma, terminare un programmaI interagire con le componenti del sistema operativo (file
system)Può essere:
I grafica (a finestre, icone, etc.)I testuale (linea di comando)
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 30 / 36
Interfaccia programmatore - S.O.
System Call:Ogni volta che un processo ha bisogno di un servizio delS.O. richiama una system callsono in genere disponibili come istruzioni a livelloassembleresistono librerie che permettono di invocare le system callda diversi linguaggi (ad es. librerie C)vengono normalmente realizzate tramite interrupt software
c© 2002-2005 Renzo Davoli, Alberto Montresor
Modulo di Informatica () Software A.A. 2012-2013 31 / 36
System callLe system call sono specifiche dei vari S.O.:
Modulo di Informatica () Software A.A. 2012-2013 32 / 36
Il Sistema Operativo
Definizione e tipi di SOLe funzionalità di un SOCome macchina astratta
Modulo di Informatica () Software A.A. 2012-2013 33 / 36
Il SO come Macchina Astratta
Il SO consente di utilizzare l’HW, la comunicazione con l’utente,in modo efficiente, corretto e sicuro, fornendo una visioneastratta della macchina reale, e viene definita la macchinaestesa. Attraverso questa visione di macchina estesa si riesce agestire un adeguato insieme di risorse tramite un linguaggiosemplice, che è il linguaggio fornito dal SO.
Modulo di Informatica () Software A.A. 2012-2013 34 / 36