A.A. 2012-2013 Dott.sa Sara Zuppiroli Modulo di Informatica · Un sistema operativo è un programma...

36
Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36

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

SO e interazioni con gli utenti

Modulo di Informatica () Software A.A. 2012-2013 5 / 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 processo

Modulo di Informatica () Software A.A. 2012-2013 16 / 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

SO e interazioni con gli utenti

Modulo di Informatica () Software A.A. 2012-2013 35 / 36

Conclusione

Cosa è il SO?Le funzionalità di un SO?Dove si colloca nella struttura a livelli?

Modulo di Informatica () Software A.A. 2012-2013 36 / 36