+ All Categories
Home > Documents > Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e`...

Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e`...

Date post: 01-May-2015
Category:
Upload: maura-simone
View: 214 times
Download: 0 times
Share this document with a friend
27
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi insieme di programmi che interagiscono e cooperano per: gestire efficientemente gestire efficientemente l'elaboratore e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware creare un ambiente amichevole ambiente amichevole per l'interazione uomo-macchina
Transcript
Page 1: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema OperativoIl Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmiinsieme di programmi che interagiscono e cooperano per:

gestire efficientementegestire efficientemente l'elaboratore e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware

creare un ambiente amichevoleambiente amichevole per l'interazione uomo-macchina

Page 2: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema OperativoFunzioni del Sistema OperativoFunzioni del Sistema Operativo:

AvvioAvvio dell’elaboratore Gestione del processoreprocessore e dei programmi in esecuzione Gestione della memoria principalememoria principale Gestione della memoria secondariamemoria secondaria Gestione dei dispositivi di input/outputinput/output Gestione dei filefile InterazioneInterazione con l’utente

Page 3: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema Operativo Tipologie di SO:

sistemi mono-utentemono-utente - sistemi multi-utentemulti-utente

i sistemi mono- utente sono destinati ad elaboratori per usi personale (tipo

PC) mentre i sistemi multi-utente sono destinati ad elaboratori utilizzati da piu`

utenti contemporaneamente

sistemi mono-programmatimono-programmati - sistemi multi-programmatimulti-programmati

i sistemi mono- programmati gestiscono l’ esecuzione di un solo programma

alla volta, mentre i sistemi multi-programmati gestiscono piu` programmi

contemporaneamente

sistemi interattiviinterattivi - sistemi batchbatch

classificazione basata sull’ interazione con l’utente

Page 4: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema Operativo Sistemi mono-utente interattivi pensati per Personal

Computer IBM PC - Compatibili (DOS - Windows) Macintosh

L’ interazione utente/computer puo` essere: testuale

es. MS-DOS per PC-IBM grafica

es. Macintosh es. Windows per PC-IBM

Page 5: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema Operativo: Esempio

Immettiamo il comando date

Page 6: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il Sistema Operativo: Esempio

Premendo il tasto “Enter” si ottiene

Page 7: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Le operazioni effettuate sembrano abbastanza

semplici ma provocano una serie di eventi in cui

vengono coinvolte sia risorse hardware che risorse

software

Il coordinamento e la gestione delle varie risorse

viene effettuato dal Sistema Operativo

Il Sistema Operativo fornisce i servizi che sono

necessari a tutti gli altri programmi in esecuzione

Page 8: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Esempio

listenerdirectory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

Tastiera

BUFFER

Monitor

148.608.043.200.010

OROLOGIO

dat

dat

Page 9: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Per ogni carattere immesso tramite la tastiera viene generato un codice corrispondente

Il codice, grazie ad una componente hardware, viene memorizzato in un’area di memoria riservata (buffer) e viene inviato un segnale alla CPU (interrupt)

Quando la CPU riceve l`interrupt dalla tastiera attiva un modulo (un piccolo programma) chiamato terminal driver

Il terminal driver invia allo schermo una copia del codice del carattere immesso per visualizzare il carattere

Page 10: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Il codice corrispondente al carattere “Enter” indica che il comando immesso (date) è completo

Il terminal driver attiva un altro modulo chiamato listener (perchè attende le richieste provenienti dagli utenti)

Il listener legge i caratteri dal buffer della tastiera e ricerca un programma chiamato date, lo carica in memoria centrale e lo esegue

Il programma date “va a leggere” un “orologio” (un contatore che tiene conto dello scorrere del tempo) e passa l’informazione letta al terminal driver

Il terminal driver trasmette la data al monitor che la visualizza

Page 11: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Organizzazione del SO La gestione dei vari eventi da parte di un S.O. è una

delle aree di vitale importanza dell’informatica L’idea di base è quella di creare una gerarchia di

livelli di astrazione (struttura a cipolla) In questo modo, ad ogni livello le funzionalità

presenti possono ignorare i dettagli sulle funzionalità offerte da altri livelli

kernel

gestione memoria processore, risorse

interfaccia comandi

Page 12: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Organizzazione del SO Al livello più alto della gerarchia di funzionalità si

trova l’utente del sistema Idealmente l’utente è ignaro di tutti i dettagli delle

operazioni svolte dai livelli inferiori della gerarchia L’utente ha conoscenza solo delle operazioni che è

interessato ad effettuare Nell’esempio della data l’utente è interessato alla data

e conosce solo il comando che serve per ottenere tale informazione

Page 13: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Avvio dell’elaboratore Il sistema operativo viene mandato in esecuzione

all’accensione del calcolatore (fase di bootstrap) In questa fase una parte del sistema operativo viene caricata

in RAM,in genere questa parte comprende: programmi per la gestione del processoregestione del processore programmi per la gestione della RAMgestione della RAM programmi per la gestione dell’I/Ogestione dell’I/O programmi per la gestione dei filegestione dei file programmi per l’interfaccia con l’utentel’interfaccia con l’utente

Spesso in questa fase si eseguono anche programmi per la ricerca di virus virus

Page 14: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Avvio dell’elaboratore Una parte del Sistema Operativo deveUna parte del Sistema Operativo deve essere sempre mantenuta essere sempre mantenuta

in RAM in RAM e deve sempre essere pronta per l’esecuzionee deve sempre essere pronta per l’esecuzione

Sistema Operativo

Spazio utente

01

n

Page 15: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi Il processore è la componente più importante di un

sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo

Il ruolo del processore è quello di eseguire programmi

Chiamiamo processo un programma in

esecuzione

Page 16: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi Quando si clicca sull’icona di un programma, il

Sistema Operativo: cerca il programma corrispondente in memoria

secondaria copia il programma in RAM imposta il Program Counter con l’indirizzo della prima

istruzione del programma principale

Page 17: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processiSistemi mono-utente, mono-programmatiSistemi mono-utente, mono-programmati

Un solo utente puo’ eseguire un solo programma alla voltaun solo programma alla volta Il programma viene “lanciato” , eseguito e terminato“lanciato” , eseguito e terminato La CPU non e’ utilizzata al meglionon e’ utilizzata al meglio! Si spreca molto tempo La CPU e’ molto piu’ veloce delle periferiche (dispositi di I/O

e disco) quindi passa molto del suo tempo in attesa del passa molto del suo tempo in attesa del completamentocompletamento delle operazioni da parte di questi dispositivi

Durante queste fasi di attesa si dice che la CPU e’ idleidle

Page 18: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processiEsempio 1.Esempio 1. Un processo e’ costituito da 1000 istruzioni, la CPU ha

frequenza di 1MHz, quindi il processo richiede:

103/106 sec = 1msec A meta’ esecuzione e’ richiesta la lettura di un dato dal

disco. Il tempo di lettura e’ pari a 1msec. :

tempo totale di esecuzione del processo = 2 msec. Idle time = 1 msec.:

Il 50% del tempo totale di esecuzione e’ tempo sprecato

Page 19: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processiEsempio 2.Esempio 2. Un processo e’ costituito da 1000 istruzioni, la CPU ha

frequenza di 1MHz, quindi il processo richiede:

103/106 sec = 1msec A meta’ esecuzione e’ richiesta la lettura di un dato da

tastiera. Il tempo di lettura e’ pari a 1sec. :

tempo totale di esecuzione del processo = 1001 msec. Idle time = 1 sec.:

Il 99,9 % del tempo totale di esecuzione e’ tempo sprecato!!!

Page 20: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processiSistemi multiprogrammatiSistemi multiprogrammati

Quando un processo si ferma in attesa di operazioni di I/O, la CPU passa ad eseguire un altro proceso

Il SO si occupa dell’alternanza tra i vari processi Piu’ programmi sembrano cosi’ essere eseguiti contemporaneamentecontemporaneamente In realta’ in ogni istante c’e’ sempre un solo processo in esecuzionein ogni istante c’e’ sempre un solo processo in esecuzione,

ma se l’alternanza e’ molto frequente si ha un’impressione di simultaneita’

Il numero di processi “contemporaneamentecontemporaneamente” in esecuzione e’ comunque limitato ed e’ detto ”grado di multiprogrammazionegrado di multiprogrammazione”

Page 21: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi Un processo può trovarsi in tre diversi stati:

in esecuzioneesecuzione,, quando sta utilizzando il processore;

in attesaattesa (bloccato), quando è in attesa del verificarsi di un evento esterno (terminazione di un’operazione di input/output o altro)

prontopronto, quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo

Page 22: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi

I/O terminato o risorsa disponibile

in_esecuzione

pronto in_attesacreazione

terminazione

richiesta I/O o risorsascambio

esecuzione

Page 23: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi

Cosa succede seCosa succede se…. Un processo non si ferma mainon si ferma mai in attesa di I/O?

Piu’ utentiPiu’ utenti vogliono usare il computer?

E’ necessario che il tempo della CPU sia distribuitodistribuito tra i

processi in attesa: si parla di politica di schedulingpolitica di scheduling della CPU.

Se un processo in stato di esecuzione puo’ essere interrotto e

ritornare nello stato di pronto, la politica si dice di tipo preemptive

(prerilasciabile)

Page 24: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi

I/O terminato o risorsa disponibile

in_esecuzione

pronto in_attesacreazione

terminazione

richiesta I/O o risorsascambio

esecuzione

Coda ready

tempo scaduto

Page 25: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi Per gestire l’insieme dei processi attivi il SO mantiene in un’area di

memoria riservata, la tabella dei processi, in cui per ogni processo

memorizza molte informazioni:

Identificatore del processo

Identificatore dell’utente

Stato del processo

Contenuto del Program Counter e altri registri

Informazioni file aperti

….

Page 26: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Gestione del processore e dei processi Le informazioni della tabella dei Processi servono a

realizzare lo scambio di contestoscambio di contesto (context switching)

Quando un processo rilascia la CPU, le informazioni del informazioni del

suo stato vengono copiate nel suo descrittoresuo stato vengono copiate nel suo descrittore all’interno

della tabella dei processi

Quando il processo torna in esecuzione questi valori

vengono ricopiati negli opportuni registriricopiati negli opportuni registri

In questo modo quando riprende l’esecuzione, il processo

riparte dal punto in cui era stato interrottoriparte dal punto in cui era stato interrotto

Page 27: Il Sistema Operativo insieme di programmi Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono.

Obiettivi del gestore dei processi

massimizzare l’ utilizzazione del processsore

massimizzare il numero dei programmi eseguiti nell’ unita` di teempo (throughputthroughput)

minimizzare il tempo d`esecuzione dei processi (turnaroundturnaround)

minimizzare il tempo d`attesa dei processi


Recommended