Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2...

25
29/11/2006 Introduzione ai sistemi informatici 1 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Capitolo 6 Capitolo 6 Le infrastrutture SoftWare Le infrastrutture SoftWare Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Funzioni del sistema operativo Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema inf Rendere utilizzabili le risorse fisiche presenti nel sistema inf ormatico: ormatico: garantire la correttezza e la precisione nell’elaborazione e nella trasmissione dell’informazione; consentire all’utente di superare il problema della localizzazione delle risorse sfruttando opportunamente la presenza di una rete che permetta di accedere alle applicazioni da ogni luogo e in ogni momento (anywhere, anytime); garantire il massimo livello di affidabilità, disponibilità e sicurezza dei sistemi; assicurare la privatezza dei dati; consentire la realizzazione di soluzioni aperte, che permettano l’interoperabilità fra dispositivi forniti da diversi produttori di hardware e di software; superare i problemi legati alla limitazione del numero di risorse, e al tempo stesso regolamentarne l’impiego evitando conflitti di accesso. Il sistema operativo può essere inteso come uno strumento che Il sistema operativo può essere inteso come uno strumento che virtualizza virtualizza le caratteristiche dell’hardware sottostante, offrendo di le caratteristiche dell’hardware sottostante, offrendo di esso la visione di una esso la visione di una macchina astratta macchina astratta più potente e più semplice da più potente e più semplice da utilizzare di quella fisicamente disponibile. utilizzare di quella fisicamente disponibile.

Transcript of Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2...

Page 1: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 1

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Capitolo 6Capitolo 6Le infrastrutture SoftWareLe infrastrutture SoftWare

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Funzioni del sistema operativoFunzioni del sistema operativoRendere utilizzabili le risorse fisiche presenti nel sistema infRendere utilizzabili le risorse fisiche presenti nel sistema informatico:ormatico:• garantire la correttezza e la precisione nell’elaborazione e nella trasmissione

dell’informazione;• consentire all’utente di superare il problema della localizzazione delle risorse

sfruttando opportunamente la presenza di una rete che permetta di accedere alle applicazioni da ogni luogo e in ogni momento (anywhere, anytime);

• garantire il massimo livello di affidabilità, disponibilità e sicurezza dei sistemi;

• assicurare la privatezza dei dati;• consentire la realizzazione di soluzioni aperte, che permettano

l’interoperabilità fra dispositivi forniti da diversi produttori di hardware e di software;

• superare i problemi legati alla limitazione del numero di risorse, e al tempo stesso regolamentarne l’impiego evitando conflitti di accesso.

Il sistema operativo può essere inteso come uno strumento che Il sistema operativo può essere inteso come uno strumento che virtualizzavirtualizza le caratteristiche dell’hardware sottostante, offrendo di le caratteristiche dell’hardware sottostante, offrendo di esso la visione di una esso la visione di una macchina astrattamacchina astratta più potente e più semplice da più potente e più semplice da utilizzare di quella fisicamente disponibile.utilizzare di quella fisicamente disponibile.

Page 2: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 2

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

SO: funzionalitàSO: funzionalitàSO come GESTORE DELLE RISORSESO come GESTORE DELLE RISORSE

controlla tutte le risorse del calcolatore e le gestisce in controlla tutte le risorse del calcolatore e le gestisce in modo efficiente:modo efficiente:• tiene traccia di chi utilizza la risorse • accetta e soddisfa le richieste di utilizzo di una risorsa• fa da mediatore fra le risorse che risultano in conflitto

SO come MACCHINA ESTESASO come MACCHINA ESTESAcostituisce la base su cui è possibile scrivere i programmi costituisce la base su cui è possibile scrivere i programmi applicativi.applicativi.presenta all’utente una macchina estesa più facile da presenta all’utente una macchina estesa più facile da programmare dell’HW sottostante.programmare dell’HW sottostante.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Funzioni di servizio del SOFunzioni di servizio del SOEsecuzione di applicazioniEsecuzione di applicazioni• caricamento del programma (istruzioni e dati) nella memoria centrale,• inizializzazione dei dispositivi di ingresso/uscita,• preparazione e gestione di altre risorse come la rete di comunicazione,• …;

Accesso ai dispositivi di ingresso/uscitaAccesso ai dispositivi di ingresso/uscita• gestione dei segnali necessari per il trasferimento dei dati,• consente all’utente di ragionare in termini di operazioni astratte di lettura e scrittura

Archiviazione di dati e programmiArchiviazione di dati e programmi• fornire un’organizzazione logica dei dati sotto forma di cartelle (directory) e file,• gestire le operazioni di basso livello per il relativo ingresso/uscita;

Controllo di accessoControllo di accesso• condivisione di risorse da parte di più utenti o applicazioni,• meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d’uso;

ContabilizzazioneContabilizzazione• ottimizzare il tempo di risposta dei programmi interattivi,• fatturare agli utenti i costi dell’impiego del sistema;

Gestione dei malfunzionamentiGestione dei malfunzionamenti• rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da operazioni

scorrette compiute dal software applicativo.

Page 3: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 3

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Vantaggi di un SOVantaggi di un SO

Sono legati alla possibilità di definire Sono legati alla possibilità di definire modalità standard di interfaccia con i modalità standard di interfaccia con i dispositivi fisici, cosicché sia possibile:dispositivi fisici, cosicché sia possibile:

• sviluppare programmi in modo semplice, modulare ed indipendente dallo specifico calcolatore su cui viene fatto funzionare il sistema operativo;

• aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Visioni fornite da un SOVisioni fornite da un SODall'alto:Dall'alto: il sistema operativo fornisce il sistema operativo fornisce all'utente un'interfaccia conveniente.all'utente un'interfaccia conveniente.Dal basso:Dal basso: gestisce tutti le parti di un gestisce tutti le parti di un sistema complesso, allocando in modo sistema complesso, allocando in modo ordinato le diverse risorse della macchina: ordinato le diverse risorse della macchina: processori, memorie, dischi, interfacce di processori, memorie, dischi, interfacce di rete, stampanti e altre periferiche.rete, stampanti e altre periferiche.

Page 4: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 4

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Il softwareIl software

SW= Sistema Operativo + SW applicativoSW= Sistema Operativo + SW applicativo

Il S.O. come necessario Il S.O. come necessario intermediariointermediario

HW

SW

HW

Sistema Operativo

SW Applicativo

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Elementi di un SOElementi di un SOSistema di Sistema di gestione del processoregestione del processore,,• controlla l’unità centrale di elaborazione (CPU);• definisce quali programmi sono da eseguire e quali compiti sono da assegnare

alla CPU;Sistema di Sistema di gestione della memoriagestione della memoria,,• controlla l’allocazione della memoria di lavoro ai diversi programmi che

possono essere contemporaneamente in esecuzione;Sistema di Sistema di gestione delle periferichegestione delle periferiche,,• garantisce l’accesso ai dispositivi di ingresso/uscita, maschera i dettagli di

basso livello e gli eventuali conflitti che possono insorgere nel caso che diverse richieste arrivino contemporaneamente a uno stesso dispositivo;

Sistema di Sistema di gestione dei filegestione dei file (file system)(file system)• consente l’archiviazione e il reperimento dei dati sfruttando le periferiche che

costituiscono la memoria di massa;Sistema di Sistema di gestione degli utentigestione degli utenti e dei relativi comandi (interprete e dei relativi comandi (interprete comandi),comandi),interfaccia diretta con gli utenti, permette agli utenti di acceinterfaccia diretta con gli utenti, permette agli utenti di accedere in dere in maniera semplice e intuitiva alle funzionalità disponibili.maniera semplice e intuitiva alle funzionalità disponibili.Sistema di Sistema di gestione della retegestione della rete..

Page 5: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 5

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Elementi di un SOElementi di un SO

Sistema Operativo

Utente

Nucleo (o kernel) [gestione processore]

Hardware

Software applicativo

Gestione periferiche

File system Interfaccia

con la rete

Gestione memoria

Interprete comandi

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

SO SO vsvs applicazioniapplicazioniProgrammi applicativiProgrammi applicativi• hanno accesso a un insieme

ridotto di risorse;• possono utilizzare solo un

sottoinsieme delle istruzioni del processore (esecuzione in modalità utente);

• non possono decidere autonomamente quando e come avere accesso alle risorse del sistema (richiedono al sistema operativo l’esecuzione di alcuni servizi);

• …

Sistema operativoSistema operativo• ha accesso a tutte le

risorse;• può utilizzare tutte le

istruzioni del processore (esecuzione in modalità supervisore);

• stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte;

• …

Page 6: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 6

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Evoluzione dei sistemi operativi Seconda metà degli anni ’40Evoluzione dei sistemi operativi Seconda metà degli anni ’40non c’era un sistema operativo:non c’era un sistema operativo:• il programmatore interagiva direttamente con i dispositivi fisici,• introdurre nel software applicativo anche le funzionalità di gestione dell’hardware.• esecuzione di un solo programma alla volta

problemi da risolvere:problemi da risolvere:• evoluzione dell’interfaccia utente (per problemi bisognava guardare direttamente nei registri)• miglioramento dell’efficienza di gestione delle risorse disponibili (necessità di prenotare la

macchina )

Sistemi a lotti (Sistemi a lotti (batchbatch),),• impiego di un componente software, detto monitor, in grado di automatizzare l’avviamento e

l’esecuzione di programma;• apposito linguaggio, detto Job Control Language (JCL);• le operazioni di ingresso/uscita vengono eseguite tramite file (per ridurre la necessità

dell'utente); ottimizzano lo sfruttamento delle risorse di elaborazione del sistema con un’accurata distribuzione del tempo di calcolo tra i vari programmi da eseguire

• svantaggio principale: tempo di latenza che intercorre fra il momento in cui un job è sottoposto al sistema e il momento in cui vengono presentati i risultati dell’elaborazione di quel job.

Aggiunta di altre caratteristiche (sistemi multiprogrammati in cAggiunta di altre caratteristiche (sistemi multiprogrammati in cui, in ogni istante, la memoria ui, in ogni istante, la memoria centrale può contenere più di un programma applicativo):centrale può contenere più di un programma applicativo):• Interattività con un utente umano con tempi di risposta accettabili;• Accurata protezione della memoria;• Temporizzazione dell’esecuzione (evitare che un programma monopolizzi il sistema);• gestione delle attività di ingresso/ uscita;• maggiore sfruttamento (anche in parallelo da parte di diversi programmi), delle risorse

disponibili nel sistema.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

MultiprogrammazioneMultiprogrammazione

Tempo

attesa per operazioni di I/Oelaborazione

TempoProgr. 3

Progr. 2

Progr. 1

attesa per operazioni di I/Oelaborazione

Page 7: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 7

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

MultiprogrammazioneMultiprogrammazioneNel sistema sono presenti diversi programmi, ognuno con un proprNel sistema sono presenti diversi programmi, ognuno con un proprio io tempo di elaborazione e propri tempi di attesa per le operazionitempo di elaborazione e propri tempi di attesa per le operazioni di di ingresso/uscita.ingresso/uscita.Per evitare che la CPU venga utilizzata in modo esclusivo (o perPer evitare che la CPU venga utilizzata in modo esclusivo (o per troppo troppo tempo) da parte di un solo programma, il tempo viene idealmente tempo) da parte di un solo programma, il tempo viene idealmente suddiviso in unità elementari, dette suddiviso in unità elementari, dette quantiquanti, da assegnare secondo , da assegnare secondo opportune politiche a tutti i programmi.opportune politiche a tutti i programmi.Round Round robinrobin assegnare a rotazione la disponibilità di un quanto di tempo assegnare a rotazione la disponibilità di un quanto di tempo della CPU ai vari programmi presenti contemporaneamente in memordella CPU ai vari programmi presenti contemporaneamente in memoria.ia.La durata del quanto di tempo incide significativamente sia sullLa durata del quanto di tempo incide significativamente sia sulle e prestazioni del sistema che sull’efficacia del quasi parallelismprestazioni del sistema che sull’efficacia del quasi parallelismo, che tende o, che tende a scomparire se la durata diviene eccessiva e degrada nella a scomparire se la durata diviene eccessiva e degrada nella sequenzializzazionesequenzializzazione dei programmi. D’altra parte, pur migliorando in dei programmi. D’altra parte, pur migliorando in generale le proprietà di parallelismo la scelta di un valore molgenerale le proprietà di parallelismo la scelta di un valore molto piccolo to piccolo può comportare un degrado delle prestazioni complessive del sistpuò comportare un degrado delle prestazioni complessive del sistema, ema, qualora il tempo di commutazione fra programmi sia dello stesso qualora il tempo di commutazione fra programmi sia dello stesso ordine ordine della durata del quanto di tempo (un valore tipico per il sistemdella durata del quanto di tempo (un valore tipico per il sistema operativo a operativo UnixUnix è 100 è 100 msms).).

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Processo Processo vsvs programmaprogrammaProgrammaProgramma::entità statica composta dal codice eseguibile entità statica composta dal codice eseguibile dal processore.dal processore.ProcessoProcesso::entità dinamica che corrisponde al entità dinamica che corrisponde al programma in esecuzione, composto da:programma in esecuzione, composto da:• codice (il programma);• dati (quelli che servono per l’esecuzione del

programma);• stato (a che punto dell’esecuzione ci si trova, cosa

c’è nei registri, …).

Page 8: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 8

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Organizzazione di un SOOrganizzazione di un SOGerarchia di Gerarchia di “macchine virtuali”“macchine virtuali”La visione della La visione della macchina virtuale a macchina virtuale a livello livello nn è quella è quella fornita dall’HW e dagli fornita dall’HW e dagli strati del SO fino strati del SO fino all’ennesimo (incluso)all’ennesimo (incluso)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Organizzazione a “strati”Organizzazione a “strati”Ogni macchina virtuale è un insieme di programmi Ogni macchina virtuale è un insieme di programmi che realizza delle funzionalità che utilizzano i che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore.servizi forniti a livello inferiore.Ogni macchina virtuale ha il compito di gestire Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l’uso e risorse specifiche di sistema regolandone l’uso e mascherandone i limiti.mascherandone i limiti.I I meccanismimeccanismi che garantiscono la correttezza che garantiscono la correttezza logica sono separati dalle logica sono separati dalle politichepolitiche di gestione di gestione (maggiore flessibilità).(maggiore flessibilità).

ogni “strato” risolve un problema specifico

Page 9: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 9

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

NucleoNucleoInteragisce direttamente con l’hardwareInteragisce direttamente con l’hardwareSi occupa dell’esecuzione dei programmi e della risposta Si occupa dell’esecuzione dei programmi e della risposta agli eventi esterni generati dalle unità periferiche.agli eventi esterni generati dalle unità periferiche.Scopo principale: gestire i processi corrispondenti ai Scopo principale: gestire i processi corrispondenti ai programmi che sono contemporaneamente attivi.programmi che sono contemporaneamente attivi.

Fornisce alle macchine virtuali di livello superiore la visione Fornisce alle macchine virtuali di livello superiore la visione di un insieme di unità di elaborazione virtuali ciascuna di un insieme di unità di elaborazione virtuali ciascuna dedicata a un processo presente in memoriadedicata a un processo presente in memoriaGestisce il contesto di esecuzione dei vari processiGestisce il contesto di esecuzione dei vari processiAttua una politica di alternanza (Attua una politica di alternanza (schedulingscheduling) nell’accesso ) nell’accesso alla CPU da parte dei processi in esecuzione.alla CPU da parte dei processi in esecuzione.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestore della memoriaGestore della memoriaControlla la memoria centrale, al fine di risolvere le relative Controlla la memoria centrale, al fine di risolvere le relative esigenze esigenze dei vari processi in modo trasparente ed efficiente.dei vari processi in modo trasparente ed efficiente.Consente ai programmi di lavorare in un proprio Consente ai programmi di lavorare in un proprio spazio di spazio di indirizzamentoindirizzamento virtualevirtuale e di ignorare quindi le effettive zone di e di ignorare quindi le effettive zone di memoria fisica occupata.memoria fisica occupata.Si occupa di:Si occupa di:• proteggere programmi e relativi dati caricati nella memoria di lavoro;• mascherare la collocazione fisica dei dati;• permettere, in modo controllato, la parziale sovrapposizione degli spazi di

memoria associati ai vari programmi.

Fornisce alle macchine di livello superiore la possibilità di laFornisce alle macchine di livello superiore la possibilità di lavorare vorare come se esse avessero a disposizione una memoria dedicata, di cacome se esse avessero a disposizione una memoria dedicata, di capacità pacità anche maggiore di quella fisicamente disponibile.anche maggiore di quella fisicamente disponibile.

Page 10: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 10

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestore delle perifericheGestore delle periferiche

Fornisce una visione del sistema in cui i processi possono Fornisce una visione del sistema in cui i processi possono operare mediante operare mediante periferiche astratteperiferiche astratte..

Maschera le caratteristiche fisiche delle periferiche e le Maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscitaspecifiche operazioni di ingresso/uscita

Ogni processo ha a disposizione delle periferiche virtualiOgni processo ha a disposizione delle periferiche virtuali

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

File System (gestore dei file)File System (gestore dei file)

Gestisce la memoria di massaGestisce la memoria di massa

Gestisce i fileGestisce i file

Page 11: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 11

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Interprete dei comandiInterprete dei comandiModulo del SO direttamente accessibile dall’utenteModulo del SO direttamente accessibile dall’utenteHa la funzione di interpretare i comandi che gli Ha la funzione di interpretare i comandi che gli giungono (da tastiera e/o giungono (da tastiera e/o point&clickpoint&click) e di attivare ) e di attivare i programmi corrispondenti.i programmi corrispondenti.Le operazioni che svolge sono:Le operazioni che svolge sono:• lettura dalla memoria di massa del programma da

eseguire;• allocazione della memoria centrale;• caricamento del programma e dei relativi dati nella

memoria allocata;• creazione e attivazione del processo corrispondente.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La gestione dei processiLa gestione dei processi

Page 12: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 12

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Elaborazione parallelaElaborazione parallelaIl concetto di Il concetto di elaborazione parallelaelaborazione parallela si riferisce specificamente:si riferisce specificamente:• ai dati;• alle istruzioni;• ai programmi.

Il parallelismo a livello di dati e di istruzioni è possibile soIl parallelismo a livello di dati e di istruzioni è possibile solo con l’impiego di lo con l’impiego di architetture di elaborazione parallela, basate sulla presenza diarchitetture di elaborazione parallela, basate sulla presenza di più unità di più unità di elaborazione in grado di eseguire istruzioni in modo concorrenteelaborazione in grado di eseguire istruzioni in modo concorrente ma anche, per ma anche, per esempio, di adeguati linguaggi di programmazione.esempio, di adeguati linguaggi di programmazione.

Il parallelismo a livello di programma ricade nell’ambito dei siIl parallelismo a livello di programma ricade nell’ambito dei sistemi operativi.stemi operativi.

Le condizioni che un sistema operativo deve soddisfare sono:Le condizioni che un sistema operativo deve soddisfare sono:• efficienza;• interattività;• sincronizzazione/cooperazione.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

SO in time SO in time sharingsharing

Permette la condivisione della CPU tra più processi Permette la condivisione della CPU tra più processi interattiviinterattivi

Il tempo di esecuzione del processore è condiviso Il tempo di esecuzione del processore è condiviso tra più utentitra più utenti

Ogni processo in esecuzione ha a disposizione un Ogni processo in esecuzione ha a disposizione un quanto di tempo di utilizzo della CPU, al termine quanto di tempo di utilizzo della CPU, al termine del quale viene sospeso per lasciare il posto ad un del quale viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzionealtro processo in attesa di esecuzione

Page 13: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 13

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Esecuzione di un processoEsecuzione di un processo

Tempo

attesa per operazioni di I/O elaborazione

• Un processo utente può effettivamente essere in esecuzione sulla CPU

• Ogni operazione di I/O consiste in una chiamata al sistema operativo e quindi in una sospensione del processo utente per l’esecuzione dell’operazione di I/O da parte del kernel

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Stati di un processoStati di un processo

Processo Processo attivoattivo

ProcessoProcessoin attesain attesa

Richiesta Richiesta operazione di I/Ooperazione di I/O

Completamento operazione di Completamento operazione di I/O (si verifica lI/O (si verifica l’’evento atteso)evento atteso)

Page 14: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 14

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Processi non in esecuzioneProcessi non in esecuzioneSi possono distinguere due casiSi possono distinguere due casi• Processi in attesa di un evento esterno (ad

esempio I/O)• Processi pronti ad essere eseguiti in attesa della

CPU

Si tratta di due stati diversi: Si tratta di due stati diversi: PRONTOPRONTO e e ATTESAATTESA realizzati con due code diverserealizzati con due code diverse

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Diagramma a tre statiDiagramma a tre stati

Selezione primo processopronto e sua esecuzione

Processo in esecuzione

Processipronti

Inizio esecuzione(accodamento aiprocessi pronti)

Termine quanto di tempo

Termineelaborazione

Processiin attesa

Richiestaoperazione di I/O

Completamento operazione di I/O (evento esterno atteso)

Page 15: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 15

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Transizioni di statoTransizioni di stato

Pronto Pronto →→ EsecuzioneEsecuzione• Il SO stabilisce quale dei processi

“pronti” debba essere mandato in “esecuzione”.

• La scelta è fatta dall’algoritmo di scheduling che deve bilanciare efficienza e fairness.

Esecuzione Esecuzione →→ AttesaAttesa• il processo chiede delle risorse che non

sono disponibili o attende un evento • il SO salva tutte le informazioni

necessarie a riprendere l’esecuzione e l’informazione relativa all’evento atteso nella tabella dei processi

EP

A

EP

A

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Transizioni di statoTransizioni di stato

Attesa Attesa →→ ProntoPronto• Si verifica l’evento atteso dal processo e il

SO sposta quel processo nella coda dei processi pronti.

Esecuzione Esecuzione →→ ProntoPronto• Termina il quanto di tempo e il processo in

“esecuzione” lascia spazio a un altro processo “pronto”.

• Il SO salva (nella tabella dei processi) tutte le informazioni per riprendere l’esecuzione del processo dal punto in cui viene interrotta.

• Contemporaneamente un altro processo passa da “pronto” a “esecuzione”.

EP

A

EP

A

Page 16: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 16

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

riassumendo...riassumendo...

Il processo viene creato e viene posto nella coda dei processi pIl processo viene creato e viene posto nella coda dei processi pronti;ronti;2. il primo processo tra i processi pronti viene posto in esecuz2. il primo processo tra i processi pronti viene posto in esecuzione;ione;3. il processo in esecuzione dispone delle risorse del sistema f3. il processo in esecuzione dispone delle risorse del sistema fino a ino a

a.a. il termine del quanto di tempo il termine del quanto di tempo • il nucleo interrompe il processo e lo mette in coda ai processi pronti; • quando arriva in cima alla coda dei processi pronti, il processo torna in stato in

esecuzione, proseguendo con l’elaborazione dell’istruzione successiva a quella su cui era stato interrotto;

b.b. la richiesta di un’operazione di ingresso/ uscita il nucleo spola richiesta di un’operazione di ingresso/ uscita il nucleo sposta il sta il processo attivo nello stato di attesa; processo attivo nello stato di attesa; • quando l’operazione di ingresso/ uscita si completa il processo può proseguire

l’elaborazione e viene messo in fondo alla coda dei processi in pronti e prosegue come nel punto precedente;

c. il termine delle propria esecuzione (istruzione finale)c. il termine delle propria esecuzione (istruzione finale)• il processo viene eliminato e rimosso dall’elenco dei processi esistenti;

in ogni caso il nucleo provvede a sostituirlo con il primo dei pin ogni caso il nucleo provvede a sostituirlo con il primo dei processirocessipronti.pronti.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

ContextContext swappingswapping

Il processo non si rende conto delle interruzioni:Il processo non si rende conto delle interruzioni:• il nucleo maschera al processo come effettivamente la sua

elaborazione evolve nel tempo;• il nucleo rende trasparente la presenza delle operazioni di interruzione

e di riassegnamento del processore a un processo.Contesto di un processoContesto di un processo• insieme dei dati che rappresentano lo “stato” del processo: situazione

della memoria, contenuto dei registri, livello di priorità,…• quando un processo viene interrotto (esce dallo stato di esecuzione) il

nucleo provvede a salvare del suo contesto (in una struttura dati chiamata descrittore del processo);

• quando un processo torna nello stato di esecuzione il nucleo provvede a ripristinare il suo contesto (recuperando i dati precedentemente salvati nel descrittore).

Cambio di contesto (Cambio di contesto (contextcontext swappingswapping))• si verifica quando un processo (e.g. P1) in esecuzione viene sostituito da un

altro processo P2 (il primo del processi pronti); il nucleo provvede a1.salvare il contesto di P1 e gestirne l’evoluzione (pronto vs attesa);2.ripristinare il contesto di P2 per consentirgli una corretta evoluzione.

Page 17: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 17

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Modalità Modalità useruser e modalità e modalità kernelkernel

I processi possono essere eseguiti in modalità I processi possono essere eseguiti in modalità kernelkernel(riservata ai servizi forniti dal sistema operativo) o (riservata ai servizi forniti dal sistema operativo) o useruser (programmi applicativi)(programmi applicativi)• non basta più un solo stato di esecuzione, è

necessario distinguere le due situazioni; due nuovi stati: esecuzione user e esecuzione kernel.

Ci sono due nuove transizione di stato:Ci sono due nuove transizione di stato:• esecuzione user → esecuzione kernel

• richiesta di servizi al sistema operativo da parte del processo utente, detta chiamata di sistema (SuperVisor Call – SVC)

• evento esterno segnalato da una periferica (Interrupt)• esecuzione kernel → esecuzione user

• termine gestione interrupt (return from interrupt –RTI)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Transizioni di statoTransizioni di stato

Selezione primo processopronto e sua esecuzione

Processo in esecuzione

(kernel)

Processipronti

Inizio esecuzione(accodamento aiprocessi pronti)

Termine quanto di tempo

Termineelaborazione

Processiin attesa

Richiestaoperazione di I/O

Completamentooperazione di I/O

(evento esterno atteso)

Processo in esecuzione

(user)

Interrupto SVC

RTI

Processiattivi

Page 18: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 18

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Esempio:esecuzione di P1 e P2Esempio:esecuzione di P1 e P21. P1 in esecuzione (1. P1 in esecuzione (useruser):):esegue una serie di istruzioni;esegue una serie di istruzioni;richiede un servizio di I/O, richiede un servizio di I/O, e.g.letturae.g.lettura di un carattere da tastiera di un carattere da tastiera [SV[SVC].C].2. SO in esecuzione (2. SO in esecuzione (kernelkernel):):decide di sospendere P1 finché non termina l’operazione di I/O rdecide di sospendere P1 finché non termina l’operazione di I/O richiesta;ichiesta;salva il contesto di P1 nel descrittore di P1 e sposta P1 in attsalva il contesto di P1 nel descrittore di P1 e sposta P1 in attesa di “carattere da tastiera”.esa di “carattere da tastiera”.sceglie P2 tra i processi pronti per mandarlo in esecuzione;sceglie P2 tra i processi pronti per mandarlo in esecuzione;ripristina il contesto di P2 leggendo i dati dal descrittore di ripristina il contesto di P2 leggendo i dati dal descrittore di P2;P2;manda in esecuzione P2 restituendogli il controllo manda in esecuzione P2 restituendogli il controllo [RT[RTI].I].3. P2 in esecuzione (3. P2 in esecuzione (useruser):):esegue una serie di istruzioni;esegue una serie di istruzioni;arriva un arriva un interruptinterrupt da tastiera (evento esterno) e il controllo passa al SO da tastiera (evento esterno) e il controllo passa al SO [[interrupinterruptt].].4. SO in esecuzione (4. SO in esecuzione (kernelkernel):):legge il carattere in arrivo dalla tastiera e lo scrive in un bulegge il carattere in arrivo dalla tastiera e lo scrive in un buffer di sistema;ffer di sistema;sposta P1 nella coda dei processi pronti; restituisce il controlsposta P1 nella coda dei processi pronti; restituisce il controllo a P2 lo a P2 [RT[RTI].I].5. P2 in esecuzione (5. P2 in esecuzione (useruser):):esegue una serie di istruzioni;esegue una serie di istruzioni;arriva un arriva un interruptinterrupt da orologio (evento esterno) e il controllo passa al SO da orologio (evento esterno) e il controllo passa al SO [[interrupinterruptt].].6. SO in esecuzione (6. SO in esecuzione (kernelkernel):):decide di sospendere P2 perché è scaduto il suo quanto; salva ildecide di sospendere P2 perché è scaduto il suo quanto; salva il contesto di P2 nel descrittore di P2 e contesto di P2 nel descrittore di P2 e

sposta P2 tra i processi pronti;sposta P2 tra i processi pronti;sceglie P1 tra i processi pronti per mandarlo in esecuzione (iposceglie P1 tra i processi pronti per mandarlo in esecuzione (ipotesi: ci sono solo P1 e P2);tesi: ci sono solo P1 e P2);ripristina il contesto di P1 leggendo i dati dal descrittore di ripristina il contesto di P1 leggendo i dati dal descrittore di P1; manda in esecuzione P1 restituendogli il P1; manda in esecuzione P1 restituendogli il

controllo controllo [RT[RTI].I].7. P1 in esecuzione (7. P1 in esecuzione (useruser))

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Round Round RobinRobin

I/O Fine

I/O

E

P

P

E

P

P E

P

P E

A

P E

A

P

E

P

P

E

A

P

Cambio di contesto

EP

A

P1

E

P

P

E

P

P

P2P3

P

E

PProcesso 3

Processo 2

Processo 1

Page 19: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 19

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

““concorrenza” fra processiconcorrenza” fra processiVantaggi dell’esecuzione concorrente di più processi:Vantaggi dell’esecuzione concorrente di più processi:• impiegare in maniera trasparente una o più CPU (sia inserite in un solo calcolatore che in

più calcolatori, collegati in rete);• aumentare l’utilizzo della CPU nei sistemi a partizione di tempo, ove si eseguono più

lavori in quasi parallelismo;• condividere la stessa risorsa fisica fra diversi utenti in modo del tutto trasparente ma

controllato;• accedere contemporaneamente, da parte di diversi utenti, a una base di dati comune e

centralizzata;• …

ProblemiProblemi• starvation: un processo non riesce ad accedere ad una risorsa perché la trova sempre

occupata da altri processi (che per esempio possono avere un livello di priorità maggiore);

• blocco critico: un insieme di processi rimane bloccato perché ciascuno di essi aspetta delle risorse che sono occupate da un altro processo compreso in questo stesso insieme (vincolo circolare).

• Evitare (prevenzione) o risolvere (eliminazione) situazioni di blocco critico o di starvation riduce le prestazioni complessive del sistema.

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Interazioni tra processiInterazioni tra processiLe Le interazioniinterazioni fra processi sono classificabili in:fra processi sono classificabili in:• indesiderate e (spesso) impreviste• desiderate e previste.

La La gestione delle interazionigestione delle interazioni fra i processi implicafra i processi implica• la sincronizzazione fra le varie attività che ogni singolo processo deve svolgere in

modo parallelo rispetto agli altri• la comunicazione, ovvero una modalità per lo scambio dei dati fra i processi

Modalità di funzionamentoModalità di funzionamento dei processi:dei processi:• in foreground, quando il processo è abilitato all’interazione con l’utente;• in background, quando il processo non è in grado, almeno temporaneamente, di

interagire direttamente con l’utente; questo è lo stato in cui si trovano parecchi dei processi relativi alle funzioni interne del sistema operativo

Page 20: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 20

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

CPU

Nucleo: macchina astrattaNucleo: macchina astratta

dati

controllo

indirizziBUS

Memoriadi lavoro

Memoria di massa

Interfaccia I/O

Video/tastiera(terminale)

Interfaccia I/O

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

… … …

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

La gestione della memoriaLa gestione della memoria

Page 21: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 21

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestore della memoriaGestore della memoriaUn programma per essere eseguito deve risiedere in memoria centrUn programma per essere eseguito deve risiedere in memoria centraleale

Programmi che gestiscono l’allocazione in memoria centrale del pProgrammi che gestiscono l’allocazione in memoria centrale del programma rogramma da eseguireda eseguire

Permettere ai programmi e agli utenti di vedere una memoria virtPermettere ai programmi e agli utenti di vedere una memoria virtuale di uale di dimensioni maggiori della memoria fisicadimensioni maggiori della memoria fisica

PaginazionePaginazione::memoria centrale e programmi suddivisi in pagine o segmenti.memoria centrale e programmi suddivisi in pagine o segmenti.

E’ in tal modo possibile:E’ in tal modo possibile:eseguire un programma di dimensioni maggiori della memoria centreseguire un programma di dimensioni maggiori della memoria centrale, ale,

partizionandopartizionando il programma e caricandone in memoria una parte alla volta il programma e caricandone in memoria una parte alla volta (quella(quella

correntemente in esecuzione)correntemente in esecuzione)con lo stesso meccanismo, eseguire contemporaneamente più progracon lo stesso meccanismo, eseguire contemporaneamente più programmi, la mmi, la

somma delle cui dimensioni supera la dimensione della memoria cesomma delle cui dimensioni supera la dimensione della memoria centralentrale

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Corrispondenza tra pagine logiche contigue e Corrispondenza tra pagine logiche contigue e pagine fisiche non contiguepagine fisiche non contigue

Memoria logica del processo 1

(2 pagine logiche)

Memoria fisica del calcolatore suddivisa in

8 pagine

Memoria logica del processo 2

(4 pagine logiche) Spazio logico

PL0

PL1

Spazio logico

PL0

PL1

PL2

PL3

Spazio fisico

PF0

PF1

PF2

PF3

PF4

PF5

PF6

PF7

Page 22: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 22

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

PaginazionePaginazione

Pagina 1 processo 1

Pagina 2 processo 1

Pagina 3 processo 1

Pagina 4 processo 1

RAM al tempo T1

Pagina 5 processo 1

Pagina 6 processo 1

Pagina 3 processo 1

Pagina 4 processo 1

RAM al tempo T2

Pagina 7 processo 1

Al processo 1 servono nuove pagine. Alcune vecchie non

servono più

0

2

1

3

4

5

6

7

8

0

2

1

3

4

5

6

7

8

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

PaginazionePaginazioneLa La paginazionepaginazione risolve contemporaneamente risolve contemporaneamente tre problemi:tre problemi:

1. Dove mettere il processo in memoria2. Superare il numero di processi che posso gestire

contemporaneamente3. Superare la dimensione fisica della memoria di lavoro

Page 23: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 23

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Memoriadi lavoro(fisica)

Gestore memoria: macchina astrattaGestore memoria: macchina astratta

dati

controllo

indirizziBUS

Memoria di massa

Interfaccia I/O

Video/tastiera(terminale)

Interfaccia I/O

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

CPUvirtuale

processo

… … …

Memorialogica

Memorialogica

Memorialogica

Memorialogica

Memorialogica

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestione periferiche I/OGestione periferiche I/O

Page 24: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 24

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestore delle perifericheGestore delle periferiche

Comunicazione tra l’ambiente CPUComunicazione tra l’ambiente CPU--RAM ed i dispositivi RAM ed i dispositivi esterni.esterni.

Mascherare ai processi l’esistenza di un numero limitato di Mascherare ai processi l’esistenza di un numero limitato di risorse.risorse.

Mascherare ai processi la differenza tra risorse dello stesso Mascherare ai processi la differenza tra risorse dello stesso tipo (o di tipo simile)tipo (o di tipo simile)

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Gestione periferiche I/OGestione periferiche I/OComandi Comandi ad alto livelload alto livello per accedere alle periferiche che usano per accedere alle periferiche che usano meccanismi quali:meccanismi quali:• i controller,• i driver.

I sistemi operativi comprendono i driver per la gestione delle I sistemi operativi comprendono i driver per la gestione delle periferiche più comuni.periferiche più comuni.

Ogni aggiunta o modifica alla configurazione standard comporta Ogni aggiunta o modifica alla configurazione standard comporta l’installazione di software addizionale (driver aggiuntivi).l’installazione di software addizionale (driver aggiuntivi).

Page 25: Capitolo 6 Le infrastrutture SoftWare · 29/11/2006 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright

29/11/2006

Introduzione ai sistemi informatici 25

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

Installazione driverInstallazione driver

Introduzione ai sistemi informatici 3/edDonatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl

PlugPlug&&PlayPlayI sistemi operativi più recenti sono dotati di funzioni di I sistemi operativi più recenti sono dotati di funzioni di PlugPlug&&PlayPlay ((PnPPnP) che permettono la configurazione ) che permettono la configurazione automatica dei driver.automatica dei driver.

Un sistema Un sistema PnPPnP consente di aggiungere (consente di aggiungere (plugplug) nuove ) nuove periferiche al sistema che possono essere utilizzate (periferiche al sistema che possono essere utilizzate (playplay), ), senza necessità di intervento da parte dell’utente per la senza necessità di intervento da parte dell’utente per la selezione e l’installazione dei driver.selezione e l’installazione dei driver.