• Non ci sono risultati.

Il Sistema Operativo

N/A
N/A
Protected

Academic year: 2022

Condividi "Il Sistema Operativo"

Copied!
27
0
0

Testo completo

(1)

Il Sistema Operativo

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme insieme di di programmi 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

(2)

Il Sistema Operativo

Funzioni

Funzioni del del Sistema Sistema Operativo: 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

(3)

Il Sistema Operativo

Tipologie di SO:

‹ sistemi monomono--utenteutente - sistemi multimulti--utenteutente

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 monomono--programmatiprogrammati - sistemi multimulti-- programmati

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

(4)

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

(5)

Il Sistema Operativo: Esempio

Immettiamo il comando date

(6)

Il Sistema Operativo: Esempio

Premendo il tasto “Enter” si ottiene

(7)

„

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

(8)

Esempio

Disco rigido listener

directory manager terminal driver

disk driver file manager

BUFFER Tastiera

BUFFER

Monitor

148.608.043.200.010 OROLOGIO

dat dat

(9)

œ 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 al monitor una copia del codice del carattere immesso per visualizzare il carattere

(10)

  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

(11)

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

(12)

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

(13)

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 gestione del del processoreprocessore

‹ programmi per la gestione della gestione della RAMRAM

‹ programmi per la gestione dell’Igestione dell’I/O/O

‹ programmi per la gestione dei gestione dei filefile

‹ programmi per l’interfaccia l’interfaccia con l’utentecon l’utente

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

(14)

Avvio dell’elaboratore

Una parte

Una parte del del Sistema Operativo deveSistema Operativo deve essere sempre essere sempre mantenuta

mantenuta in RAMin RAM e e deve sempre essere pronta deve sempre essere pronta per per l’esecuzione

l’esecuzione

Sistema Operativo

Spazio utente

01

n

(15)

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

(16)

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

(17)

Gestione del processore e dei processi

Sistemi

Sistemi mono mono - - utente utente , mono , mono - - programmati programmati

„ Un solo utente puo’ eseguire un soloun solo programma programma alla volta

alla volta

„ Il programma viene ““lanciato” , lanciato” , eseguito eseguito e e terminato

terminato

„ La CPU non e’ non e’ utilizzata utilizzata al al meglio! Si spreca molto meglio tempo

„ La CPU e’ molto piu’ veloce delle periferiche

(dispositi di I/O e disco) quindi passa molto passa molto del del suo suo tempo in

tempo in attesa attesa del del completamentocompletamento delle operazioni da parte di questi dispositivi

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

idleidle

(18)

Gestione del processore e dei processi

Esempio Esempio 1.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

(19)

Gestione del processore e dei processi

Esempio Esempio 2.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!!!

(20)

Gestione del processore e dei processi

Sistemi multiprogrammati Sistemi 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 contemporaneamente

contemporaneamente

„ In realta’ in in ogni istante c’e’ sempre ogni istante c’e’ sempre un solo un solo processo processo in in esecuzione

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 grado di di multiprogrammazionemultiprogrammazione”

(21)

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)

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

(22)

Gestione del processore e dei processi

pronto

creazione I/O terminato o risorsa disponibile

in_attesa

in_esecuzione terminazione

richiesta I/O o risorsa scambio

esecuzione

(23)

Gestione del processore e dei processi

Cosa succede

Cosa succede se…. se

„ Un processo non non si ferma maisi ferma mai in attesa di I/O?

„

„ Piu’ utenti vogliono usare il computer?Piu’ utenti

„ E’ necessario che il tempo della CPU sia distribuitodistribuito tra i processi in attesa: si parla di politicapolitica di di scheduling

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)

(24)

Gestione del processore e dei processi

I/O terminato o risorsa disponibile

in_esecuzione

pronto in_attesa

creazione

terminazione

richiesta I/O o risorsa scambio

esecuzione

Coda ready

tempo scaduto

(25)

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

‹ ….

(26)

Gestione del processore e dei processi

„ Le informazioni della tabella dei Processi servono a realizzare lo scambio scambio di di contestocontesto (context switching)

„ Quando un processo rilascia la CPU, le informazioni informazioni del 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 riparte dal punto in cui era in cui era stato interrottostato interrotto

(27)

Obiettivi del gestore dei processi

„

massimizzare l’ utilizzazione del processsore

„

minimizzare il tempo d`attesa dei processi

„

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

„

minimizzare il tempo d`esecuzione dei

processi ( turnaround) turnaround

Riferimenti

Documenti correlati

La macrocategoria di rifiuto più abbondante in tutti gli anni analizzati (dal 2015 al 2018) e per i litorali di entrambe i versanti, è la plastica (così come riportato per

Quali simmetrie trasformano l'ultima curva in ciascuna delle altre?.. il grafico della fuizione /=log. 'I si avvicina all'asse delle ,)], ìe si assegnano alla x

La capacità di compiere validamente atti giuridici è attribuita dal legislatore al soggetto che abbia raggiunto un’adeguata maturità psichica la ratio è quella di far si che in

Il tempo di propagazione è importante quando la linea è cosi lunga o la frequenza così alta che il segnale impiega una parte apprezzabile del ciclo o addirittura più cicli

momenti di formazione dell’identità europea nei secoli V-VIII, cur. Gasparri, La regalità longobarda, in Visigoti e Longobardi. Capo, Paolo Diacono e il problema della

Massimo, che pare richiamarsi alla legge imperiale del 399 con la quale ordinava la distruzione degli idoli pagani (Theodosiani libri XVI cum Constitutionibus Sir- mondianis,

Unico a livello idrologico tra i sistemi fluviali del nord-America, il fiume Kissimmee (http://www.saj.usace.army.mil/dp/Kissimmee/Kissimmee2.html) ha subito nel corso dei

Organizzazione strutturale del gene codificante per la proteina zinc finger ZNF224.. nologie Industriali-Modulo Processi Ortologhi e paraloghi della proteina zinc finger