Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA...

110
Informatica B, AA 20/21, Luca Cassano Il Sistema Operativo Informatica B AA 2020/2021 Luca Cassano 16 Dicembre 2020 [email protected]

Transcript of Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA...

Page 1: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Il Sistema Operativo

Informatica B AA 2020/2021

Luca Cassano

16 Dicembre 2020

[email protected]

Page 2: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Introduzione al Sistema

Operativo

Page 3: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

3

Il Sistema Operativo

Il Sistema Operativo (SO) è uno strato software che

nasconde agli utenti i dettagli dell’architettura

hardware del calcolatore

Programmi utente

Sistema Operativo

Macchina fisica

Page 4: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

4

Il Sistema Operativo

Il Sistema Operativo (SO) è uno strato software che

nasconde agli utenti i dettagli dell’architettura

hardware del calcolatore

Fornisce diverse funzionalità ad alto livello che

facilitano l’accesso alle risorse del calcolatore

Programmi utente

Sistema Operativo

Macchina fisica

Page 5: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

5

Il Sistema Operativo

Supporta l’esecuzione dei programmi applicativi

definendo una macchina virtuale, cioè un modello

ideale del calcolatore, sollevando il software applicativo

dal compito di gestire le risorse disponibili

Programmi utente

Sistema Operativo

Macchina fisica

Page 6: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

6

Tipi di Sistema Operativo

Esistono diversi tipi di sistema operativo, ma in generale si

possono dividere in:

Page 7: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

7

Tipi di Sistema Operativo

Esistono diversi tipi di sistema operativo, ma in generale si

possono dividere in:

• Monoutente e monoprogrammato

− Esecuzione un solo programma applicativo alla volta

− Viene utilizzato da un solo utente per volta

− Esempio: DOS

Page 8: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

8

Tipi di Sistema Operativo

Esistono diversi tipi di sistema operativo, ma in generale si

possono dividere in:

• Monoutente e monoprogrammato

− Esecuzione un solo programma applicativo alla volta

− Viene utilizzato da un solo utente per volta

− Esempio: DOS

• Monoutente e multiprogrammato (multitasking)

− Consente di eseguire contemporaneamente più

programmi applicativi

− Esempio: Windows 95

Page 9: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

9

Tipi di Sistema Operativo

Esistono diversi tipi di sistema operativo, ma in generale si

possono dividere in:

• Multiutente

− Consente l’utilizzo contemporaneo da parte di più utenti

− E’ inerentemente multiprogrammato

− Esempio: Unix/Linux e le recenti versioni Windows

Page 10: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

10

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatoreProgrammi utente

Macchina fisica

Page 11: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

11

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

Programmi utente

Gestione dei processi

Macchina fisica

Page 12: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

12

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

• La gestione della memoria

Programmi utente

Gestione della memoria

Gestione dei processi

Macchina fisica

Page 13: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

13

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

• La gestione della memoria

• La gestione delle periferiche

Programmi utente

Gestione delle periferiche

Gestione della memoria

Gestione dei processi

Macchina fisica

Page 14: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

14

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

• La gestione della memoria

• La gestione delle periferiche

• La gestione del file system

• La gestione della rete

Programmi utente

File system/Network

Gestione delle periferiche

Gestione della memoria

Gestione dei processi

Macchina fisica

Page 15: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

15

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

• La gestione della memoria

• La gestione delle periferiche

• La gestione del file system

• La gestione della rete

• La gestione dell’interfaccia utente

Programmi utente

Interprete comandi

File system/Network

Gestione delle periferiche

Gestione della memoria

Gestione dei processi

Macchina fisica

Page 16: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

16

Architettura del Sistema Operativo

Il SO è tipicamente organizzato a strati

Ciascun strato gestisce

una risorsa del calcolatore

Le principali funzionalità offerte sono:

• La gestione dei processi

• La gestione della memoria

• La gestione delle periferiche

• La gestione del file system

• La gestione della rete

• La gestione dell’interfaccia utente

Le prime tre funzionalità sono

indispensabili per il funzionamento del

sistema e pertanto costituiscono il

nucleo del SO (Kernel)

Programmi utente

Interprete comandi

File system/Network

Gestione delle periferiche

Gestione della memoria

Gestione dei processi

Macchina fisica

Kern

el

de S

O

Page 17: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

17

Kernel del SO: Gestione dei Processi

Il SO si occupa di gestire l’esecuzione concorrente di più

programmi (quantomeno nei sistemi multitasking).

Page 18: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

18

Kernel del SO: Gestione dei Processi

Il SO si occupa di gestire l’esecuzione concorrente di più

programmi (quantomeno nei sistemi multitasking).

I programmi durante la loro esecuzione danno luogo a

uno o più processi

Page 19: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

19

Kernel del SO: Gestione dei Processi

Il SO si occupa di gestire l’esecuzione concorrente di più

programmi (quantomeno nei sistemi multitasking).

I programmi durante la loro esecuzione danno luogo a

uno o più processi

Il SO offre ad ogni processo una macchina virtuale

interamente dedicata a esso.

Page 20: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

20

Kernel del SO: Gestione dei Processi

Il SO si occupa di gestire l’esecuzione concorrente di più

programmi (quantomeno nei sistemi multitasking).

I programmi durante la loro esecuzione danno luogo a

uno o più processi

Il SO offre ad ogni processo una macchina virtuale

interamente dedicata a esso.

• Ogni processo opera come se fosse l’unico in

esecuzione sulla macchina, avendo quindi disponibilità

esclusiva delle risorse

Page 21: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

21

Kernel del SO: Gestione dei Processi

Il SO si occupa di gestire l’esecuzione concorrente di più

programmi (quantomeno nei sistemi multitasking).

I programmi durante la loro esecuzione danno luogo a

uno o più processi

Il SO offre ad ogni processo una macchina virtuale

interamente dedicata a esso.

• Ogni processo opera come se fosse l’unico in

esecuzione sulla macchina, avendo quindi disponibilità

esclusiva delle risorse

La CPU del calcolatore viene suddivisa in maniera

opportuna fra i programmi da eseguire.

Page 22: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

22

Il Sistema Operativo e le Macchine Virtuali

Il SO permette di gestire più processi simultaneamente

Page 23: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

23

Il Sistema Operativo e le Macchine Virtuali

Il SO permette di gestire più processi simultaneamente

Rende quindi visibile ad ogni processo una macchina

virtuale ad esso interamente dedicata e quindi con

risorse proprie

CPU A RAM A

OD A

HD A

Rete A I/O A

pro

c. A

CPU B RAM B

OD B

HD B

Rete B I/O B

pro

c. B

CPU D RAM D

OD D

HD D

Rete D I/O D

pro

c. D

CPU C RAM C

OD C

HD C

Rete C I/O C

pro

c. C

bus

Page 24: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

24

Il Sistema Operativo e la Macchina Reale

CPU

A, B, C, D

RAM

A

B

C

D

HD

A,B,C,D

Rete

A, B, C, D

I/O

A, B, C, D

bus

utilizzo a rotazione suddivisione in blocchi

utilizzo a rotazione utilizzo a rotazione

utilizzo a rotazione

Page 25: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

25

Kernel del SO: Gestione della Memoria

La gestione concorrente di molti programmi applicativi

comporta la presenza di molti programmi in memoria

centrale (la MM contiene i programmi in esecuzione ed i

dati ad essi relativi)

Page 26: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

26

Kernel del SO: Gestione della Memoria

La gestione concorrente di molti programmi applicativi

comporta la presenza di molti programmi in memoria

centrale (la MM contiene i programmi in esecuzione ed i

dati ad essi relativi)

Il Gestore della memoria del SO offre a ogni programma

in esecuzione la visione di una memoria virtuale, che

può avere dimensioni maggiori di quella fisica.

Page 27: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

27

Kernel del SO: Gestione delle Periferiche, i DRIVER

I driver sono meccanismi software a cui è affidato il

compito di trasferire dati da e verso le periferiche

Page 28: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

28

Kernel del SO: Gestione delle Periferiche, i DRIVER

I driver sono meccanismi software a cui è affidato il

compito di trasferire dati da e verso le periferiche

Consentono ai programmi applicativi di leggere o scrivere

i dati mediante istruzioni di alto livello che nascondono

la struttura fisica delle periferiche (e.g., nel sistema

Unix le periferiche sono viste come file speciali)

Page 29: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

29

Kernel del SO: Gestione delle Periferiche, i DRIVER

I driver sono meccanismi software a cui è affidato il

compito di trasferire dati da e verso le periferiche

Consentono ai programmi applicativi di leggere o scrivere

i dati mediante istruzioni di alto livello che nascondono

la struttura fisica delle periferiche (e.g., nel sistema

Unix le periferiche sono viste come file speciali)

Danno all’utente l’impressione che la periferica sia

dedicata all’utente.

Page 30: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

30

Gestione del File System

Il SO si occupa di gestire i file sulla memoria di massa:

• Creare / Eliminare un file

• Dare / Modificare il nome

• Collocarlo in una posizione nella memoria di massa

• Accedervi in lettura e scrittura

Page 31: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

31

Gestione del File System

Il SO si occupa di gestire i file sulla memoria di massa:

• Creare / Eliminare un file

• Dare / Modificare il nome

• Collocarlo in una posizione nella memoria di massa

• Accedervi in lettura e scrittura

Il tutto mediante istruzioni di alto livello che permettono di

ignorare i dettagli di come il file viene scritto

Page 32: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

32

Gestione del File System

Il SO si occupa di gestire i file sulla memoria di massa:

• Creare / Eliminare un file

• Dare / Modificare il nome

• Collocarlo in una posizione nella memoria di massa

• Accedervi in lettura e scrittura

Il tutto mediante istruzioni di alto livello che permettono di

ignorare i dettagli di come il file viene scritto

Gestione dei file indipendente dalle caratteristiche

fisiche della memoria di massa (HD, SD CARD, CD…)

Page 33: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

33

Gestione del File System

Il SO si occupa di gestire i file sulla memoria di massa:

• Creare / Eliminare un file

• Dare / Modificare il nome

• Collocarlo in una posizione nella memoria di massa

• Accedervi in lettura e scrittura

Il tutto mediante istruzioni di alto livello che permettono di

ignorare i dettagli di come il file viene scritto

Gestione dei file indipendente dalle caratteristiche

fisiche della memoria di massa (HD, SD CARD, CD…)

I file vengono inclusi all’interno di directory (o cartelle)

Page 34: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

34

Gestione dell’Interfaccia Utente

Il SO fornisce un interprete dei comandi inseriti dall’utente

attraverso la tastiera o il mouse

Page 35: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

35

Gestione dell’Interfaccia Utente

Il SO fornisce un interprete dei comandi inseriti dall’utente

attraverso la tastiera o il mouse

L’interfaccia utente può essere

• Testuale (esempio: DOS)

• Grafica (esempio: Windows)

Page 36: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

36

Gestione dell’Interfaccia Utente

Il SO fornisce un interprete dei comandi inseriti dall’utente

attraverso la tastiera o il mouse

L’interfaccia utente può essere

• Testuale (esempio: DOS)

• Grafica (esempio: Windows)

Consente l’inserimento di diversi comandi:

• Esecuzione di programmi applicativi

• Operazioni sulle periferiche

• Configurazione dei servizi del SO

• Operazioni sul file system (creazione, rimozione, copia,

ricerca, ecc.)

Page 37: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Il Sistema Operativo ed i

Processi

Page 38: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Che Cosa è un Processo?

Processo ≠ programma !

Page 39: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Che Cosa è un Processo?

Processo ≠ programma !

Un processo viene generato durante l’esecuzione di un

programma.

Page 40: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Che Cosa è un Processo?

Processo ≠ programma !

Un processo viene generato durante l’esecuzione di un

programma.

Un processo è composto da:

• codice eseguibile (il programma stesso)

• dati dell’esecuzione del programma

• informazioni relative allo stato del processo

Page 41: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Che Cosa è un Processo?

Processo ≠ programma !

Un processo viene generato durante l’esecuzione di un

programma.

Un processo è composto da:

• codice eseguibile (il programma stesso)

• dati dell’esecuzione del programma

• informazioni relative allo stato del processo

Un processo è quindi un’entità dinamica, mentre il

programma è un’entità statica.

Page 42: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Che Cosa è un Processo?

Processo ≠ programma !

Un processo viene generato durante l’esecuzione di un

programma.

Un processo è composto da:

• codice eseguibile (il programma stesso)

• dati dell’esecuzione del programma

• informazioni relative allo stato del processo

Un processo è quindi un’entità dinamica, mentre il

programma è un’entità statica.

I processi vengono eseguiti dal processore

• uno alla volta nelle architetture a processore singolo

• vedremo il Round-robin come politica di scheduling

Page 43: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Programmi e Processi

Lo stesso programma può avere più processi associati:

• Un programma può essere scomposto in varie parti

e ognuna di esse può essere associata a un diverso

processo.

• Lo stesso programma può essere associato a diversi

processi quando esso viene eseguito più volte,

anche simultaneamente

Page 44: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

44

I Processi e il Sistema Operativo

I processi possono essere eseguiti in due modalità:

• Kernel (o Supervisor) mode: la CPU può eseguire

qualsiasi istruzione, iniziare qualsiasi operazione I/O,

accedere a qualsiasi area di memoria, etc.

Page 45: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

45

I Processi e il Sistema Operativo

I processi possono essere eseguiti in due modalità:

• Kernel (o Supervisor) mode: la CPU può eseguire

qualsiasi istruzione, iniziare qualsiasi operazione I/O,

accedere a qualsiasi area di memoria, etc.

• User mode: certe istruzioni, che alterano lo stato

globale della macchina, non sono permesse, e.g.,

operazioni I/O, accesso a certe aree di memoria, etc.

Page 46: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

46

I Processi e il Sistema Operativo

I processi possono essere eseguiti in due modalità:

• Kernel (o Supervisor) mode: la CPU può eseguire

qualsiasi istruzione, iniziare qualsiasi operazione I/O,

accedere a qualsiasi area di memoria, etc.

• User mode: certe istruzioni, che alterano lo stato

globale della macchina, non sono permesse, e.g.,

operazioni I/O, accesso a certe aree di memoria, etc.

Il SO viene eseguito in modalità privilegiata

(kernel mode o supervisor), così da avere processi in

grado di controllare altri processi eseguiti in modalità user.

Page 47: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

47

Chiamate al Supervisor

I processi utente per eseguire operazioni privilegiate, es.

• accesso a file,

• accesso a periferiche,

• operazioni di I/O,

• accesso ad altre risorse

invocano il supervisor tramite chiamate di sistema (System Call)

Page 48: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Chiamate al Supervisor (cnt)

Perché usare la modalità supervisor (i.e, privilegiata)?

Page 49: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Chiamate al Supervisor (cnt)

Perché usare la modalità supervisor (i.e, privilegiata)?

• un processo A non deve poter scrivere messaggi su un terminale non associato allo stesso processo A;

Page 50: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Chiamate al Supervisor (cnt)

Perché usare la modalità supervisor (i.e, privilegiata)?

• un processo A non deve poter scrivere messaggi su un terminale non associato allo stesso processo A;

• un processo A non deve poter leggere caratteri immessi da un terminale non associato allo stesso processo A

Page 51: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Chiamate al Supervisor (cnt)

Perché usare la modalità supervisor (i.e, privilegiata)?

• un processo A non deve poter scrivere messaggi su un terminale non associato allo stesso processo A;

• un processo A non deve poter leggere caratteri immessi da un terminale non associato allo stesso processo A

• Un processo non deve poter sconfinare al di fuori del proprio spazio di memoria:

− per non accedere allo spazio di memoria associato a un altro processo, modificando codice e dati di quest’ultimo;

− per non occupare tutta la memoria disponibile nel sistema, bloccandolo e rendendolo così inutilizzabile da altri processi.

Page 52: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Chiamate al Supervisor (cnt)

Perché usare la modalità supervisor (i.e, privilegiata)?

• un processo A non deve poter scrivere messaggi su un terminale non associato allo stesso processo A;

• un processo A non deve poter leggere caratteri immessi da un terminale non associato allo stesso processo A

• Un processo non deve poter sconfinare al di fuori del proprio spazio di memoria:

− per non accedere allo spazio di memoria associato a un altro processo, modificando codice e dati di quest’ultimo;

− per non occupare tutta la memoria disponibile nel sistema, bloccandolo e rendendolo così inutilizzabile da altri processi.

• La condivisione di risorse (dischi, CPU, ecc.) deve essere tale da proteggere i dati di ogni utente;

Page 53: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

53

Lo Stato di un Processo

Lo stato del processo può essere distinto fra stato interno

e stato esterno.

Page 54: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

54

Lo Stato di un Processo

Lo stato del processo può essere distinto fra stato interno

e stato esterno.

Lo stato interno indica:

• la prossima istruzione del programma che deve

essere eseguita;

• i valori delle variabili e dei registri utilizzati dal

processo.

Page 55: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

55

Lo Stato di un Processo

Lo stato del processo può essere distinto fra stato interno

e stato esterno.

Lo stato interno indica:

• la prossima istruzione del programma che deve

essere eseguita;

• i valori delle variabili e dei registri utilizzati dal

processo.

Lo stato esterno indica se il processo è:

• in esecuzione (il processore è assegnato al processo);

• pronto per l’esecuzione, e quindi in attesa di accedere

alla CPU, quando il SO lo deciderà.

• in attesa di un evento, ad es. la lettura

da disco o l’inserimento di dati da tastiera;

Page 56: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

56

Stato di un Processo (1)

HD

Page 57: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

57

Processo

pronto

Processo creato

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

HD

Page 58: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

58

Processo in

esecuzione

Processo

pronto

Processo creato

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

In esecuzione:

assegnato al

processore ed

eseguito da esso

HD

Scheduling

Page 59: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

59

Processo in

esecuzione

Processo

pronto

Processo creato

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

In esecuzione:

assegnato al

processore ed

eseguito da esso

HD

Scheduling

Page 60: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

60

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Processo creato

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

In esecuzione:

assegnato al

processore ed

eseguito da esso

In attesa: attende il

verificarsi di un evento

esterno per andare in

stato di pronto

HD

Page 61: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

61

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Processo creato

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

In esecuzione:

assegnato al

processore ed

eseguito da esso

In attesa: attende il

verificarsi di un evento

esterno per andare in

stato di pronto

HD

Page 62: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

62

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Processo creato

- Fine esecuzione

- Abort per errore

Stato di un Processo (1)

Pronto: può andare in

esecuzione, se il

gestore dei processi lo

decide

In esecuzione:

assegnato al

processore ed

eseguito da esso

In attesa: attende il

verificarsi di un evento

esterno per andare in

stato di pronto

HD

Page 63: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Scheduling

Lo scheduling è l’attività di decidere quale processo

pronto mandare in esecuzione e per quanto tempo

L’algoritmo di scheduling deve essere fair: prima o poi

tutti i processi devono essere eseguiti

Page 64: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio FIFO

La schedulazione avviene in modo semplice (First In First

Out)

• Il primo processo viene mandato in esecuzione

• Quando termina è il turno del secondo processo

Page 65: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio FIFO

La schedulazione avviene in modo semplice (First In First

Out)

• Il primo processo viene mandato in esecuzione

• Quando termina è il turno del secondo processo

Semplice da realizzare

Page 66: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio FIFO

La schedulazione avviene in modo semplice (First In First

Out)

• Il primo processo viene mandato in esecuzione

• Quando termina è il turno del secondo processo

Semplice da realizzare

Inefficiente e inutilizzabile su un sistema interattivo (viene

usato nelle workstation per il calcolo scientifico)

Page 67: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio Ideale

Il minimo tempo medio di attesa si ottiene eseguendo

prima i processi la cui esecuzione è più rapida

Page 68: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio Ideale

Il minimo tempo medio di attesa si ottiene eseguendo

prima i processi la cui esecuzione è più rapida

Il problema è che non si conosce a priori quanto un

programma rimarrà in esecuzione

Page 69: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Approccio Ideale

Il minimo tempo medio di attesa si ottiene eseguendo

prima i processi la cui esecuzione è più rapida

Il problema è che non si conosce a priori quanto un

programma rimarrà in esecuzione

Si corre il rischio di non vedere eseguiti i processi troppo

lunghi (starvation)

Page 70: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Algoritmi di Scheduling: Round Robin

Molto efficiente, suddivide la CPU tra i vari processi in

base al quanto di tempo cadenzato dal clock di sistema.

Page 71: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

71

I processi appena creati sono messi in stato di pronto

Il kernel decide quale processo pronto mettere in stato di esecuzione

Il kernel assegna il processore a un processo per un quanto di tempo• Round-robin

• Coda dei processi pronti (FIFO)

• Priorità dei processi

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1 P2

Round Robin – Stato di un Processo (2)

Page 72: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

72

I processi appena creati sono messi in stato di pronto

Il kernel decide quale processo pronto mettere in stato di esecuzione

Il kernel assegna il processore a un processo per un quanto di tempo• Round-robin

• Coda dei processi pronti (FIFO)

• Priorità dei processi

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P2

Round Robin – Stato di un Processo (2)

P1

Page 73: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

73

interruzione interna: Il

processo in esecuzione

passa in stato di attesa se

richiede operazioni di I/O

Corrisponde alla

esecuzione dell’istruzione

“chiamata a supervisore”

(SuperVisor Call, SVC)

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

P2

Round Robin - Stato di un Processo (3)

Page 74: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

74

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

P2

Cambiamento di

contesto:

Salvare il contesto

di P1, copia il contenuto

dei registri del processore,

il codice in esecuzione,

etc…, in una zona di

memoria, il descrittore di

processo

Round Robin - Stato di un Processo (4)

Page 75: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

75

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

P2

Cambiamento di

contesto:

Salvare il contesto

di P1, copia il contenuto

dei registri del processore,

il codice in esecuzione,

etc…, in una zona di

memoria, il descrittore di

processo

Il processore è ora libero,

un altro processo

passerà in esecuzione

Round Robin - Stato di un Processo (4)

Page 76: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

76

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

Quando l’operazione di

I/O è finita viene generata

un’interruzione esterna

Il processo in esecuzione

viene interrotto

Round Robin - Stato di un Processo (5)

P2

Page 77: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

77

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

P2

Quando l’operazione di

I/O è finita viene generata

un’interruzione esterna

Il processo in esecuzione

viene interrotto

Round Robin - Stato di un Processo (5)

Page 78: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

78

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

Quando l’operazione di

I/O è finita viene generata

un’interruzione esterna

Il processo in esecuzione

viene interrotto

• load dati da periferiche

• Riporta P1 pronto

Round Robin - Stato di un Processo (5)

P2

Page 79: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

79

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

P1

Quando l’operazione di

I/O è finita viene generata

un’interruzione esterna

Il processo in esecuzione

viene interrotto

• load dati da periferiche

• Riporta P1 pronto

Il kernel sceglie quale

processo mandare in

esecuzione

Round Robin - Stato di un Processo (5)

P2

Page 80: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

80

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

Pre-emption: quando il

quanto di tempo è

scaduto, il nucleo

interrompe il processo in

esecuzione

Round Robin - Stato di un Processo (6)

P1

P2

Page 81: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

81

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

Pre-emption: quando il

quanto di tempo è

scaduto, il nucleo

interrompe il processo in

esecuzione

Round Robin - Stato di un Processo (6)

P1 P2

Page 82: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

82

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

Primo processo

pronto

- Fine quanto di tempo

- Interruzione esterna

Interruzione interna

Evento esterno

atteso

- Fine esecuzione

- Abort per errore

Pre-emption: quando il

quanto di tempo è

scaduto, il nucleo

interrompe il processo in

esecuzione

Il kernel cerca di

garantire un uso equo

della CPU a tutti i

processi

Round Robin - Stato di un Processo (6)

P2

P1

Page 83: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

83

La gestione del quanto di tempo

Il quanto di tempo è gestito da una particolare interruzione,

generata dall’orologio di sistema:

• a una frequenza definita, il dispositivo che realizza

l’orologio di sistema genera un’interruzione.

• Se il quanto di tempo non è scaduto quando il

processo in esecuzione termina i quanti vengono

ricalcolati

Page 84: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

La gestione del quanto di tempo (cnt)

Se invece il quanto di tempo è scaduto viene invocata una

particolare funzione del kernel (preemption) che

1. cambia lo stato del processo da esecuzione a

pronto,

2. salva il contesto del processo

3. attiva una particolare funzione del kernel

(change) che esegue una commutazione di

contesto e manda in esecuzione uno dei processi

in stato di pronto.

Page 85: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

85

Processo in

esecuzione

Processo

pronto

Processo in

attesa

Inizio esecuzione

- Fine esecuzione

- Abort per errore

Riepilogando...

Un processo in esecuzione può

• terminare

• tornare in pronto (preemption)

• andare in attesa (SVC)

Un processo pronto può

• andare in esecuzione

Un processo in attesa può

• andare in pronto

(non può andare in

esecuzione subito)

Page 86: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

Nel sistema di calcolo esistono i seguenti processi in coda con

relativa durata in millisecondi:

p1 30 → p2 15 → p3 60 → p4 45

Il quanto di tempo dura di 20 ms:

Assumendo che nessun processo faccia una system call e che

i processi in stato di pronto vengano gestiti FIFO (first in first

out) visualizzare la sequenza di esecuzione secondo uno

schema di Round Robin

Page 87: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

Page 88: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

Page 89: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

Page 90: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

Page 91: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

Page 92: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

Page 93: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

7. p4 (interrotto dopo 20 ms, ne rimangono altri 5 ms)

Page 94: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

7. p4 (interrotto dopo 20 ms, ne rimangono altri 5 ms)

8. p3 (termina dopo 20 ms, necessitava di 20 ms)

Page 95: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi vengono eseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

7. p4 (interrotto dopo 20 ms, ne rimangono altri 5 ms)

8. p3 (termina dopo 20 ms, necessitava di 20 ms)

9. p4 (termina dopo 5 ms, necessitava meno di 20 ms)

Page 96: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi veseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

7. p4 (interrotto dopo 20 ms, ne rimangono altri 5 ms)

8. p3 (termina dopo 20 ms, necessitava di 20 ms)

9. p4 (termina dopo 5 ms, necessitava meno di 20 ms)

0

20

35

55

75

85

105

125

145

150

Tempo

dall’inizio

Page 97: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Esempio di esecuzione processi in Round Robin

I processi veseguiti nel seguente ordine:

1. p1 (interrotto dopo 20 ms, ne rimangono altri 10 ms)

2. p2 (termina dopo 15 perché dura meno di 20 ms)

3. p3 (interrotto dopo 20 ms, ne rimangono altri 40 ms)

4. p4 (interrotto dopo 20 ms, ne rimangono altri 25 ms)

5. p1 (termina dopo 10,necessitava di meno di 20 ms)

6. p3 (interrotto dopo 20 ms, ne rimangono altri 20 ms)

7. p4 (interrotto dopo 20 ms, ne rimangono altri 5 ms)

8. p3 (termina dopo 20 ms, necessitava di 20 ms)

9. p4 (termina dopo 5 ms, necessitava meno di 20 ms)

Il tempo medio d’esecuzione è la media delle differenze fra i tempi

in cui ciascun processo finisce e la sua durata effettiva

[(85-30)+(35-15)+(145-60)+(150-45)]/4 è 66,25 ms.

0

20

35

55

75

85

105

125

145

150

Tempo

dall’inizio

Page 98: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

« Il processo P potrebbe terminare senza mai essere entrato

nello stato “in attesa” »

Page 99: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

« Il processo P potrebbe terminare senza mai essere entrato

nello stato “in attesa” »

Falso.

Dal momento che contiene una scanf dovrà

necessariamente effettuata una supervisor call e il suo stato

diverrà “in attesa”

Page 100: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

«Se il processo Q viene lanciato prima di P allora Q

termina sicuramente prima di P»

Page 101: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

«Se il processo Q viene lanciato prima di P allora Q

termina sicuramente prima di P»

Falso.

Non è possibile sapere quale processo terminerà prima a

priori dal momento che ad ogni processo è garantito un solo

quanto di tempo alla volta.

Page 102: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

«Una volta lanciato Q rimarrà sempre nello stato “in

esecuzione"

Page 103: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Possibili domande di teoria

Siano P e Q due processi lanciati su un sistema

monoprocessore. P contiene una scanf, mentre Q non

comporta alcuna chiamata al supervisor.

Dire se ciascuna delle seguenti affermazioni é vera o falsa.

Giustificare le risposte.

«Una volta lanciato Q rimarrà sempre nello stato “in

esecuzione"

Falso:

Non è possibile affermarlo con certezza: se Q dovesse

terminare prima dello scadere del quanto di tempo allora

rimarrebbe sempre nello stato “in esecuzione”, viceversa

sarà posto nello stato di “pronto"

Page 104: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Fine delle lezioni

Oggi finiscono le lezioni!!!

Manca l’esercitazione di Lunedì 21 Dicembre

Page 105: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Fine delle lezioni

Primo appello 25/01/2021 (scadenza iscrizioni 20/01/2021)

Secondo appello 12/02/2021 (scadenza iscrizioni 09/02/2021)

E’ necessario iscriversi all’esame dal portale PoliMi (chi non si

iscrive all’esame non può sostenere l’esame!!!)

Per iscriversi all’esame è obbligatorio compilare il questionario

di valutazione del corso

Page 106: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Fine delle lezioni

Modalità e regole d’esame:

Solo prova scritta (NO orale, NO prova pratica)

• due esercizi di programmazione (C + Matlab)

• un esercizio su CP2 o processi

• due domande di teoria

E’ necessario dimostrare sufficiente conoscenza di

programmazione nei primi due esercizi per ottenere la

suffcienza globale

Non si può consultare NIENTE (telefoni, tablet, libri, dispense,

appunti) e NESSUNO (compagni, professori, assistenti)

durante l’esame

Si può scrivere con penna o matita di qualsiasi colore ad

eccezione del ROSSO

Page 107: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

…prima di finire per davvero…

Page 108: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Raccomandazioni / Consigli / Note

Per chi aveva già programmato: è stato noioso?

Per chi non aveva mai programmato: è stato difficile?

Per tutti: ricordatevi di ‘‘SFRUTTARE’’ l’università e viverla

attivamente

• Frequentate

• Fate domande e partecipate al ricevimento studenti

• Non trascinatevi: l’università non finisce da sé, la dovete

finire voi!

STUDIATE

Page 109: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

Raccomandazioni / Consigli / Note

Ma soprattutto:

siate CONSAPEVOLI

Page 110: Il Sistema Operativocassano.faculty.polimi.it/Lez12_SO_e_Memoria_2020.pdf · Informatica B, AA 20/21, Luca Cassano 4 Il Sistema Operativo Il Sistema Operativo (SO) è uno strato software

Informatica B, AA 20/21, Luca Cassano

LET’S ROCK!