INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2....

36
Informatica Generale 1 INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : • durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 • negli altri periodi: su appuntamento posta elettronica : [email protected] Pagina web : (programma, esami, date appelli…) http://www.di.unipi.it/~antonell/

Transcript of INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2....

Page 1: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

1

INFORMATICA GENERALE a.a. 2006/2007COGNOMI A-L

Silvano Antonelli-Ricevimento : • durante il corso:

Martedì ore 15.30pressoDipartimento di Informatica, Largo Pontecorvo 2Stanza 394

• negli altri periodi:su appuntamento

posta elettronica : [email protected] web : (programma, esami, date appelli…)http://www.di.unipi.it/~antonell/

Page 2: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

2

Testi di riferimento

– Dennis P. Curtin, Kim Floley, Hunal Sen, Cathleen Morin “Informatica di base” 3/ed, McGraw-Hill,2005

– M.R. Laganà, M- Righi, F. Romani " INFORMATICA Concetti e sperimentazioni" , Apogeo ,2003

– L. Console, M. Ribaudo , U. Avalle" Introduzione all'informatica" , UTET Libreria, Torino,2004

– D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari " Introduzione ai sistemi informatici", McGraw-Hill,1997

– P. Tosoratti , G. Collinasi "Introduzione all'informatica", Seconda Edizione, Casa Editrice Ambrosiana , Milano

Page 3: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

3

Software

� Applicazioni utente (word, Excel, …)

� Software di base

• Compilatori

• Assemblatori

• Editors (Blocco Note,…)

• ……

� Sistema Operativo ( SO )

Page 4: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

4

Livelli di astrazione

Hardware

Sistema Operativo

Applicazioni

È il livello di SW con cuiinteragisce l’utentee comprende programmi quali :CompilatoriEditori di testiFogli elettroniciSistemi bancariNavigatori per Web…..

Software

È il livello di SW che interagisce direttamentecon l’hw e che si occupa di una uso correttoed efficiente delle risorse fisiche (processore, memorie,periferiche etc.)

Windows98,2000,Millennium,XPUnix/LinuxMac OS

gcc, Word, PowerPointExcel, ExplorerPhotoshop, Gimp

Page 5: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

5

• Esiste in qualunque sistema e ne determina

le prestazioni complessive

• Dimensioni

• Affidabilità: corretto funzionamento

• protezione

• Meccanismi per controllo di attività che

evolvono contemporaneamente

• Prestazioni

Il S.O : caratteristiche

Page 6: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

6

Funzionamento del S.O.

� S.O.: insieme vasto e complesso di

programmi, che interagiscono tra loro e con

i livelli superiore e inferiore.

� Fasi della vita del S.O. (dall’accensione allo

spegnimento dell’elab.):

• bootstrap

• funzionamento a regime

• shutdown

Page 7: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

7

funzioni di un SO

� Esegue applicazioni : – carica il programma binario prodotto della compilazione (e residente su disco) nella RAM,

– cede il processore all’applicazione da eseguire

� Facilita l’accesso ai dispositivi di I/O– interagisce con le periferiche facendosi carico di tutti i dettagli fisici (es. modem, reti, video…)

– mette a disposizione operazioni di lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica

Page 8: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

8

funzioni di un SO

� Archivia dati e programmi : – mette a disposizione dell’utente una visione astratta della memoria secondaria (il file systembasato sulle astrazioni : file/archivi e folder/cartelle)

– gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori

Page 9: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

9

funzioni di un SO

� Gestisce le risorse– ripartisce le risorse disponibili fra le varie applicazioni (processore, RAM, periferiche)

– evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse • es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea

– ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer

Page 10: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

10

funzioni di un SO

� Gestisce malfunzionamenti del sistema– rileva e gestisce situazioni anomale

• es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte

• es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea

� … i SO sono sistemi complessi che non sempre riescono a fare correttamente tutto quello che dovrebbero ….

Page 11: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

11

Strutturazione a livelli del S.O.

File SystemGestione

processore

Gestione

processiGestione

I / O

Gestione

della memoria

NUCLEO (o kernel) (sempre caricato nella RAM)

Interfaccia nucleo (chiamate di sistema)

Applicazioni

HW

Page 12: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

12

Stato utente e stato supervisore

� Stato utente : – modalità di funzionamento del computer che permette l’accesso solo a un numero limitato di risorse• es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc.

� Stato supervisore :– modalità che permette l’accesso a tutte le risorse

Page 13: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

13

Stato utente e stato supervisore

� I programmi che girano in stato utente richiedono servizi al SO (es stampa: richiesta allo spooler)

� Il sistema operativo decide come e quando effettuare il servizio

� Il sistema operativo può interrompere un programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di ‘gestione’ della macchina

Page 14: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

14

Numero di utenti

� S.O. mono-utente: possono gestire un solo

utente collegato in un certo istante (es.: MS-

DOS, MS-Windows, Windows-NT, ...)

� S.O. multi-utente: possono gestire più utenti

collegati contemporaneamente (es.: UNIX,

Windows-NT ediz. TSE, ...)

Page 15: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

15

S.O : Classificazione

� Classificazione dei S.O. in base alla modalità

di gestione dei processi:

– mono-tasking

– multi-tasking (multiprogrammato)

Page 16: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

16

Esecuzione di un programmain un SO mono-tasking

Spazio programma

Sistema operativo

Program Counter

RAM

Page 17: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

17

Esecuzione di un programmain un SO multiprogrammato

Sistema Operativo

Spazio programma 1

Una possibile organizzazione della RAM con più programmi caricati

contemporaneamente (solamente uno alla volta viene eseguito)

Spazio programma 2

Spazio programma 3

codice

datiRAM

Page 18: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

18

I Processi

� Processo: parte o intero programma in

esecuzione

– programma (entità statica): sequenza di istruzioni

– contesto (entità dinamica): insieme di informazioni

che caratterizzano la particolare esecuzione del

programma

� Diversità tra programma e processo

(1 programma genera 1 o più processi).

Page 19: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

19

Esecuzione di un programma

� Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono

� Un programma o parte di esso in esecuzione viene detto ‘processo’

� Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l’attivazione di un processo?– Terminazione (normale o erronea)

– Interruzione

Page 20: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

20

� Processo utente: generato dall’esecuzione di

un applicativo utente.

� Processo di sistema: generato dal SW di

sistema (Sistema Operativo, utilities, ecc.).

I Processi

Page 21: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

21

� Connotazione temporale: il processo

rappresenta lo stato di avanzamento del

programma istante per istante.

� Contesto all’istante t :

– istruzione da eseguire (indirizzo in RAM: PC, IR)

– contenuto dei registri dati del processore

– ….

I Processi

Page 22: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

22

Terminazione di un processo

� Un processo termina :– Quando esegue una istruzione assembler di terminazione

– Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi)

– Quando c’è un errore che non lo permette di proseguire (es. overflow, etc)

� In tutti questi casi il processore ricomincia automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato

Page 23: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

23

Interruzione di un processo

� Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina

� Questo avviene attraverso il meccanismo hardware delle interruzioni

� Come funzionano le interruzioni– ogni periferica può ‘richiedere attenzione’ inviando un segnale di interruzione usando le linee di controllo del bus

– alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione

– se è presente il controllo passa automaticamente al sistema operativo

Page 24: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

24

S.O. mono-tasking

� Esempi: – Sistemi batch (lotti di schede perforate, ‘50)

– MS-DOS (‘81)– Palm

Page 25: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

25

S.O. multi-tasking

� Esecuzione “contemporanea” di più processi.

� Multi-tasking ≅ Multi-programmazione

(Multi-programmazione: molti programmi risiedono

contemporaneamente nella RAM)

� Es. Windows (no 3.11), Unix

Page 26: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

26

Esecuzione di un programmain un SO multiprogrammato

Sistema Operativo

Spazio programma 1

Una possibile organizzazione della RAM con più programmi caricati

contemporaneamente (solamente uno alla volta viene eseguito)

Spazio programma 2

Spazio programma 3

codice

dati

Program Counter

RAM

Page 27: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

27

Il gestore del processore

� Nei computer attuali, tutti i programmi che compongono il SO ed i programmi applicativi ‘avviati’ sono attivi contemporaneamente sul calcolatore (multiprogrammazione)– es : Windows 2000 + Word + cd player ...

� Il gestore del processore si preoccupa di far condividere il (un) processore a tutti i programmi attivi in modo corretto – lo scopo è dare l’impressione che ognuno abbia il suo processore dedicato

Page 28: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

28

Gestione dei processi e deiprocessori

� Gestione dei processi:

gestione dell’avvicendamento dei processi in

esecuzione sul processore (o sui processori).

� Gestione dei processori:

gestione dell’assegnazione dei processori ai

processi.

Page 29: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

29

Tempo

� Elapsed time: tempo trascorso tra l’inizio

della vita del processo e la sua terminazione

� CPU time: tempo in cui il processo è stato

realmente in esecuzione

Page 30: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

30

� Massimizzare l’uso della CPU.

� Massimizzare il numero di processi eseguiti

nell’unità di tempo.

� Minimizzare il tempo di risposta.

Obiettivi

Page 31: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

31

Processi Concorrenti

� Nei sistemi attuali sono in esecuzione più

processi ‘contemporaneamente’.

� La CPU esegue comunque una sola istruzione

per volta.

� Il S.O. gestisce l’avvicendamento dei processi

in esecuzione: assegna la CPU ai vari processi

istante dopo istante.

� Scheduler: parte del S.O. che si occupa

della gestione dei processi e dei processori

Page 32: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

32

Stati di avanzamento di un processo

� Possibili stati di un processo:

– execute (in esecuzione): la CPU è assegnata al

processo

– blocked (bloccato): il processo è in attesa di un

evento (completamento di un’operazione di I/O,…)

– ready (pronto): il processo è eseguibile, ma la CPU

è assegnata a un altro processo

Page 33: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

33

� Ciclo di vita di un processo (dall’inizio allaterminazione): alternarsi di periodi in stato diexecute, ready, blocked

Execute

Ready BlockedInizio

Terminazione

Ciclo di vita di un processo

Page 34: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

34

Gestione informazione sui processi

� Il S.O. mantiene l’informazione relativa a tutti

i processi attivi (non terminati) nella tabella

dei processi (PCB, Process Control Block) .

� Per ogni processo la PCB contiene un certo

numero di informazioni.

� La tabella dei processi è in ogni istante

caricata interamente in RAM.

Page 35: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

35

La tabella (PCB) dei processi

� Per ogni processo attivo:

PID: Process Identifier

Program Counter

Stato corrente(Execute, Ready, Blocked)

Contenuto dei registri

Priorità

…...

Page 36: INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2. 19. · NUCLEO (o kernel ) (sempre caricato nella RAM) Interfaccia nucleo (chiamate di

Informatica G

enerale

36

� Cambiamento di contesto� Il processo A (es. Word) è in esecuzione

� tutti i dati del processo A (es. Word) , in particolare ilProgram Counter, vengono salvati

�A (es. Word) viene sostituito dal processo B (es. Excel)

� Ripristino del contesto

Quando il processo A torna in esecuzione riprende dai dati precedentemente salvati

Commutazione del contesto