• Non ci sono risultati.

6HSDUD]LRQH 62 3URFHVVL8WHQWH

N/A
N/A
Protected

Academic year: 2021

Condividi "6HSDUD]LRQH 62 3URFHVVL8WHQWH"

Copied!
19
0
0

Testo completo

(1)

25*$1,==$=,21(',81 6,67(0$23(5$7,92

Come sono organizzate le diverse ULVRUVH componenti di un S.O. e le modalità di interconnessione tra di esse

‡ 6LVWHPLPRQROLWLFL

‡ 6LVWHPLDOLYHOOL

‡ 0DFFKLQHYLUWXDOL

‡ 0RGHOORFOLHQWHVHUYLWRUH

)LOH 6\VWHP e memorizzazione e uso delle risorse

3URFHVVL e uso delle risorse

6,67(0,0212/,7,&,

Il sistema operativo è scritto come un LQVLHPH GLSURFHGXUe, tutte alloVWHVVROLYHOOR di

gerarchia.

Le funzioni possono chiamarsi reciprocamente s sono invocabili attraverso EHQGHILQLWH

interfacce

tipicamente LQWHUUXSWVRIWZDUHo WUDS Requisiti di

SURWH]LRQH

e

ULXVR

SURJUDPPD

SURJUDPPD

1

2 3

4

SURFHGXUD

GLVHUYL]LR WDEHOODGHOOH

FKLDPDWH

FKLDPDWD

GLVLVWHPD

LSURJUDPPLGL

XWHQWHRSHUDQR LQXVHUPRGH

LOVLVWHPD

RSHUDLQ

VXSHUYLVRU RSHUDWLYR

PRGH

6HSDUD]LRQH 62 3URFHVVL8WHQWH

(2)

(6(03,2GL6,67(0$ PRQRSURJUDPPDWR

SURJUDPPLDSSOLFDWLYL

SURJUDPPLGLVLVWHPD UHVLGHQWL

JHVWLRQHGHLGLVSRVLWLYL GL,206'26

JHVWLRQHGHLGLVSRVLWLYL 520%,26 6206'26

:LQGRZV

:LQGRZV PXOWLSURJUDPPDWR"

:LQGRZV17 PXOWLSURJUDPPDWR

6,67(0$$/,9(//,

Le funzioni del S.O. sono organizzate per OLYHOOLJHUDUFKLFL

Ogni livello definisce un WLSR di servizio e le PRGDOLWj per essere utilizzato dai OLYHOOL VXSHULRUL

0DFFKLQHYLUWXDOL Ogni livello definisce una nuova macchina, aggiungendo nuove funzionalità alla precedente

Livelli ccome DLXWR nel progetto per superare difficoltà pratiche nella realizzazione (gerarchia)

(3)

02'(//2&/,(17(6(59,725(

• Sistemi operativiPRGHUQL la maggior parte delle funzioni del sistema operativo sono realizzate come SURFHVVLGLXWHQWH

.(51(/ NHUQHO

PRGH

XVHU

PRGH

SURFHVVR

FOLHQWH PHPRU\ SURFHVV

VHUYHU VHUYHU VHUYHUILOH

VHUYHU WHUPLQDO 

SURFHVVR

FOLHQWH

• Per richiedere un servizio un SURFHVVR FOLHQWH(utente) invia una richiesta ad un SURFHVVRVHUYLWRUH (es.: OHWWXUDGLXQILOH)

• 9DQWDJJL

J le funzioni sono suddivise in parti di dimensioni ridotte e ben specificate J protezione contro errori: le funzioni non

hanno accesso al kernel (operano in XVHU PRGH)

&/$66,),&$=,21('(, 6,67(0,23(5$7,9,

2UJDQL]]D]LRQHLQWHUQD 9LVLELOLWjXWHQWH

* monoprogrammato

* batch

* multiprogrammato

* interattivo

* a divisione di tempo

* general purpose

* special purpose

(4)

6,67(0,0212352*5$00$7,

Si gestiscono i programmi in modo sequenziale nel tempo

Tutte le risorse hardware e software del

sistema sono dedicate ad un solo programma per volta.

XWLOL]]RGHOOD&38 7S7W 7S = tempo dedicato dalla CPU alla

esecuzione del programma 7W= tempo totale di permanenza del

programma nel sistema

WKURXJKSXW = numero di programmi eseguiti per unità di tempo

3HUDYHUHDOWDHIILFLHQ]DVLYRUUHEEHDYHUHXQ XWLOL]]RYLFLQRDGHWKURXJKSXWHOHYDWR

L%$66$87,/,==$=,21('(//(5,6256(

6,67(0,08/7,352*5$00$7,

Si JHVWLVFRQR "contemporaneamente" più programmi indipendenti presenti nella memoria principale

Migliore XWLOL]]D]LRQHGHOOHULVRUVH (riduzione dei tempi morti)

0DJJLRUHFRPSOHVVLWj del S.O.:

- algoritmi per la gestione delle risorse (CPU, memoria, I/O)

- protezione degli ambienti dei diversi programmi

(5)

3URFHVVLVHQ]DPXOWLSURJUDPPD]LRQH

3URJUDPPD3

3URJUDPPD3

LQL]LR

LQL]LR DWWHVD

DWWHVDGDWL DWWHVDGDWL

DWWHVDGDWL VWRS

GDWL VWRS DWWHVD

DWWHVDGDWL DWWHVDGDWL

• Durata dell'esecuzione :

2 minuti (1 minuti per programma)

• Occupazione della CPU:

1 minuti (50%)

3 e 3 eseguono per 1 secondo, quindi attendono per 1 secondo (30 volte)

3URJUDPPD3

LQL]LR DWWHVDGDWL DWWHVDGDWL DWWHVDGDWL VWRS 3URJUDPPD3

LQL]LR

DWWHVDGDWL

DWWHVDGDWL VWRS

DWWHVDGDWL

Esecuzione dei programmi FRQ multiprogrammazione

3URJUDPPD3

3URJUDPPD3

LQL]LR

DWWHVDGDWL

DWWHVDGDWL VWRS

DWWHVDGDWL

LQL]LR

DWWHVDGDWL

DWWHVDGDWL VWRS

DWWHVDGDWL

• Durata dell'esecuzione:

1 minuti

• Occupazione CPU:

1 minuti (100%) (caso teorico) L efficienza (in genere) più bassa e

throughput inferiore a 1 al minuto (2 uscite ogni 2 minuti)

(6)

6,67(0,D',9,6,21(GL7(032

Astrazione di più PDFFKLQHYLUWXDOL

Ogni utente ha un proprio programma in memoria ed a ciascuno è dedicata una macchina virtuale

Si abbreviano i tempi di attesa dei programmi corti

Tempo impiegato dal S.O. per trasferire il controllo da un programma ad un altro (RYHUKHDG)

6,67(0,%$7&+

I programmi sono inseritiDORWWL nella memoria di massa e successivamente elaborati in

multiprogrammazione

2ELHWWLYR migliore utilizzazione possibile delle risorse (elevatoWURXJKSXW)

Scelta dell’insieme di programmi (MREPL[) in memoria principale che ottimizzano l’utilizzo delle risorse

6,67(0,,17(5$77,9,

• Più utenti che utilizzano contemporaneamente il sistema di calcolo (a divisione di tempo)

2ELHWWLYR

migliorare i tempi di risposta per l’utente (in contrasto con l’ottimizzazione delle risorse)

Scelta del processo che ha più urgenza di servizio

(7)

6,67(0,*(1(5$/385326(

• Centri di Calcolo di grandi dimensioni

• Utenze di tipo differenziato

• Modalità di uso batch ed interattivo 6,67(0,63(&,$/385326(

Dedicati adDSSOLFD]LRQLVSHFLILFKH, spesso con hardware speciale (dispositivi di I/O)

6LVWHPLLQWHPSRUHDOH il sistema di calcolo deve "rispondere" entro un limite di tempo (tempo di reazione)

- tempo reale VWUHWWR: il tempo di risposta è molto stringente come vincolo e non può non essere rispettato (p.e. processi industriali) - tempo realeGHEROH: il tempo di risposta deve

essere "ragionevole" (p.e. sistema interattivo per la prenotazione voli)

,03/(0(17$=,21('(/

),/(6<67(0

EUDFFLR

UHDGZULWHWHVWLQH FLOLQGUR

WUDFFLDW

URWD]LRQH

Struttura del disco

Componenti:

disk driver parte meccanica (motore del dispositivo, testine di lettura e scrittura)

disk controller controlla interazione con la CPU. Trasforma le istruzioni di I/O in comandi al disk driver

(8)

LQGLUL]]RILVLFR

settore (blocco fisico) unità minima di informazione che può essere letta o scritta da/su disco VHWWRUH 32 − 4096 byte

WUDFFLD 4 − 32 settori VXSHUILFLH 20 − 1550 tracce

per individuare un settore:

VHHNWLPH per raggiungere la traccia

ODWHQF\WLPH per portare il settore sotto la testina

il S.O. vede il disco come un vettore di blocchi fisici

gli indirizzi dei blocchi si incrementano

all’inizio di una traccia, lungo tutte le tracce di un cilindro e per tutti i cilindri

l’indirizzo di un blocco viene espresso tramite QXPHURGLFLOLQGUR

QXPHURGLWUDFFLDQHOFLOLQGUR RQXPHURGLVXSHUILFLH H QXPHURGLVHWWRUHQHOODWUDFFLD

*(67,21(GHOOR63$=,2/,%(52

‡ %,70$3

Ogni blocco è rappresentato da un bit ( se libero,  se occupato)



Jè semplice trovare QEORFFKLFRQVHFXWLYL Kla mappa deve essere contenuta in PHPRULD

SULQFLSDOH (efficienza)

LISTA DI BLOCCHI LIBERI

LQRQqHIILFLHQWH occorre leggere un blocco per avere l’indirizzo del successivo

1 2

5 3 4

0

6 7

9 10

13 11 12

8

14 15

25 26 29

27 28

24

30 31 17 18 21

19 20

16

22 23

puntatore al primo blocco libero

PRGLILFD il primo blocco contiene gli indirizzi di Qblocchi liberi. L’ultimo di questi contiene

l’indirizzo di altriQsettori liberi, etc.

(9)

0(72',GL$//2&$=,21(

GHL%/2&&+,,03(*1$7,

Un file è memorizzato inEORFFKLGLE\WH di dimensione finita (blocchi logici)

Tutte le operazioni di I/O avvengono in termini di blocchi logici

Esempio: NE\WH EORFFRORJLFR

NE\WH EORFFRILVLFR

Ogni OHWWXUDVFULWWXUD di XQEORFFR comporta la OHWWXUDVFULWWXUD di GXHVHWWRUL

6HPSUHil SO bufferizza i blocchi letti/scritti per ottmizzare i tempo di interazione con il disco e per fornire servizi più veloci alle richieste dei processi utente

4XDOLSURFHVVLXWHQWHVRQRIDYRULWL"

¢&RPHVLSRVVRQRRWWHQHUHEXRQLVHUYL]L"

$OORFD]LRQH FRQWLJXD

DOLVWDOLQNDWD

DGLQGLFH

$OORFD]LRQHFRQWLJXD

GLUHWWRULR

)LOH,QL]LR)LQH

count 0 2

tr 14 3

mail 19 6

list 28 4

f 6 2

 

5

 4



6 7

9 10

13

11 12

8

14 15

25 26

29

27 28

24

30 31

17 18

21

19 20

16

22 23

FRXQW

I

PDLO WU

OLVW

riduce il tempo di seek

consente sia accessi sequenziali sia diretti

$FFHVVRVHTXHQ]LDOH: il file system memorizza l’indirizzo dell’ultimo blocco letto/scritto.

L’accesso avviene per il blocco successivo

$FFHVVRFRQWLJXR: se il file inizia al bloccoE, l’accesso avviene per il bloccoEL

3UREOHPL

K 'HWHUPLQD]LRQH dello spazio contiguo tecniche di ILUVWILWEHVWILWZRUVWILW L )UDPPHQWD]LRQHHVWHUQD

HVLJHQ]HGL compattamento L &UHVFLWDGLQDPLFD dei file

(10)

$OORFD]LRQHD/,67$

1 2

5 3 4

0

6 7

9 10 13

11 12

8

14 15

25 26 29

27 28

24

30 31 17 18 21

19 20

16

22 23 -1 10

16 25

1

GLUHWWRULR ILOH LQL]LR ILQH

MHHS  

La scrittura in un file comporta ODULFHUFD di un blocco nella OLVWDGHLEORFFKLOLEHULe

l’inserimento alla fine del file

1RQ c'è frammentazione esterna e QRQ QHFHVVDULR conoscere la lunghezza del file

Efficienza SHUDFFHVVLVHTXHQ]LDOL 3UREOHPL

K GRSSLROLQNSHUHYLWDUHSUREOHPL (perdita di un puntatore)

L Spazio richiesto per i puntatori

L Accesso diretto QRQUHDOL]]DELOHin pratica

)UDPPHQWD]LRQH

mancanza o non disponibilità di risorse che sono invece potenzialmente presenti

Frammentazione INTERNA

Frammentazione ESTERNA

$OORFD]LRQHDOLVWDOLQNDWD

Allocazione a lista risolve i problemi della allocazione contigua

J IUDPPHQWD]LRQHHVWHUQD J FUHVFLWDGLQDPLFDGLXQILOH

ma

L Non supporta un DFFHVVRGLUHWWR: i blocchi sono sparsi su tutto il disco

L I puntatori ai vari blocchi sono VSDUVLsu tutto il disco

(11)

$OORFD]LRQHDLQGLFH

1 2

5 3 4

0

6 7

9 10 13

11 12

8

14 15

25 26 29

27 28

24

30 31 17 18 21

19 20

16

22 23 -1

10

16 25

1

GLUHWWRULR

ILOH EORFFRLQGLFH

MHHS 

9 16 1 1025 -1 -1 -1

$OORFD]LRQHDLQGLFH: tutti i puntatori ai blocchi di file sono contenuti in un EORFFRLQGLFH

Per leggere il blocco LHVLPR si usa il

puntatore contenuto nella SRVL]LRQHLHVLPD del blocco indice

AllaFUHD]LRQHdi un file, il suo blocco indice contiene tutti QLO. Quando VLVFULYH il blocco i- esimo, l’indirizzo viene scritto nella posizione i-esima del blocco indice

Possibilità diDFFHVVRGLUHWWR senza IUDPPHQWD]LRQHHVWHUQD

L Spazio per il blocco indice

$OORFD]LRQHDLQGLFH

Se il file è di dimensioni elevate, il blocco indice può occupare GXHRSLEORFFKL

L'ultimo elemento di un blocco indice è QLO (per file piccoli) o OLQGLUL]]R di un altro blocco indice (per i file grandi)

Indice a più livelli. Il primo blocco indice contiene indirizzi di altri blocchi indice che contengono gli indirizzi dei blocchi

GXHOLYHOOL) (VHPSLR

EORFFRLQGLFH,ƒOLYHOOR

SXQWDWRULDEORFFKLLQGLFH

EORFFRLQGLFH,,ƒOLYHOOR

SXQWDWRULDEORFFKL

 ;SXQWDWRULDEORFFKL 7RWDOH EORFFKL

EORFFR E\WH E\WH

(12)

0HWRGLGLDOORFD]LRQH

3URSULHWjLQGLFDWLYH

‡ JUDGRGLXWLOL]]D]LRQHGHOODPHPRULD

‡ WHPSRQHFHVVDULRSHUDFFHGHUHDGXQ EORFFRVXOGLVFR

‡ PHWRGLGLDFFHVVRFRQVHQWLWL

7DEHOODGLDOORFD]LRQHGHLILOHGLGLFFR )$7GL06'26

WHVW QRPH





GHVFULWWRUHGHOILOH

EORFFRLQL]LDOH





HQGRIILOH











)$7 1REORFFKLGHOGLVFR

LQGLFHGHLEORFFKLGHOGLVFR

,QGLFHGHOGLVFRLQWHUR

ORGANIZZAZIONE dei DIRETTORI

I direttori consentono l’accesso ai blocchi (o al primo blocco del file, o a un descrittore del file) e sono file a loro volta

'LYHUVHRUJDQL]]D]LRQLVWRULFDPHQWH

La SULPDRUJDQL]]D]LRQH mantiene un ILOHV\VWHPXQLFR per tutti gli utenti

$ % &

$

GLUHWWRULRUDGLFH

La VHFRQGDRUJDQL]]D]LRQH riconosce e mantiene un ILOHV\VWHPSHURJQLXWHQWH (a ciascuno viene dato uno spazio unico)

&

&

$

$ % &

GLUHWWRULRUDGLFH

$ % &

GLUHWWRUL GLXWHQWH

(13)

VERSO UNIX

Una RUJDQL]]D]LRQH gerarchica consente agli utenti di decidere e mantenere la SURSULDVWUXWWXUD]LRQH con i SURSULGLUHWWRUL

$ % &

GLUHWWRULRUDGLFH

GLUHWWRUL GLXWHQWH

$

%

% % % & &

& &

& & &

VRWWRGLUHWWRUL GLXWHQWH

In UNIX il file system è unificato e non ci sono limiti ai direttori

Ci sono sistemi operativi in cui ilILOHV\VWHP può anche essere non gerarchico ma a JUDIRDQFKH FLFOLFR

Si ricordi la differenza tra link hardware e software

$66(*1$=,21(GHO352&(6625(

(CPU SCHEDULING)

6FKHGXOHU quella parte del S.O.che decide a quale dei SURFHVVLSURQWL presenti nel sistema assegnare il controllo della CPU

I processi possono essere o in memoria principale o in memoria secondaria

$OJRULWPRGLVFKHGXOLQJ realizza un particolare FULWHULRGLVFHOWD tra i processi pronti

Possibili criteri di scelta:

utilizzo della CPU

produttività

WKURXJKSXWFRPHXVFLWHSHUXQLWjGLWHPSR

tempo di "turnaround" (sistemi batch) SHUPDQHQ]DQHOVLVWHPD

tempo di risposta (sistemi interattivi) JDUDQWHQGRULVSRVWHSURQWH

non privilegio (fairness) JLXVWL]LDQHOVHUYL]LR

(14)

3RVVLELOLWjGHJOLDOJRULWPLGLVFKHGXOLQJ

VFKHGXOLQJSUHHPSWLYH

un processo in esecuzione perde il controllo della CPU anche se logicamente può proseguire VFKHGXOLQJQRQSUHHPSWLYH

un processo in esecuzione prosegue fino al rilascio spontaneo della CPU

WHUPLQD]LRQHULFKLHVWDGL,2

VRVSHQVLRQHSHUDWWHVDGLHYHQWR

5HOD]LRQLWUD352&(66,

Processi FRQFRUUHQWL Processi LQWHUDJHQWL Processi LQGLSHQGHQWL

3URFHVVL&21&255(17,

Due processi sono concorrenti se la loro esecuzione si sovrappone nel tempo

più CPU (overlapping) una sola CPU (interleaving)

W W

3 3 3

3 3 3

Due processi sono concorrenti se la prima operazione di uno inizia prima dell’ultima dell’altro

3URFHVVL,1',3(1'(17,

3 3 3

R R

R

R

R R

R R

11 i 1 Rn1

12 i 2 n2

1m i m nm

1 i n Proprietà

stato non condiviso

esecuzione

deterministica e riproducibile

3URFHVVL,17(5$*(17,

- modificano variabili comuni (stato condiviso)

- esecuzione non deterministica: il risultato dipende dalla sequenza di esecuzione relativa e non è predicibile

- esecuzione non riproducibile: il risultato non è sempre lo stesso per gli stessi dati di ingresso

3URFHVVL&21&255(17,H,17(5$*(17, Competizioneper l'uso di risorse comuni che non possono essere usate contemporaneamente

Cooperazionenell'eseguire un'attività comune mediante scambio di informazioni (comunicazione)

Interazione tra processi

competizione sull’uso delle risorse comunicazione reciproca se interagenti (attraverso file, mailbox, etc.)

(15)

/LYHOOLGLVFKHGXOLQJ

/RQJWHUPVFKHGXOLQJ MREVFKHGXOLQJ

determina quali programmi devono essere caricati dalla memoria di massa alla memoria principale

* controlla il JUDGRGLPXOWLSURJUDPPD]LRQH (numero di processi in memoria principale)

* possibile criterio di scelta: insieme (mix) equilibrato di processi

"&38ERXQG" e ",2ERXQG"

* interviene ad intervalli di tempo

relativamente lunghi; algoritmi più complessi 6KRUWWHUPVFKHGXOLQJ seleziona tra i processi

pronti in memoria principale quello cui assegnare la CPU

* elevata frequenza di intervento

* efficienza

* SROLWLFD: FIFO, priorità, etc...

'LVSDWFKHUrealizza le operazioninecessarie per assegnare il controllo della CPU al processo selezionato dal VKRUWWHUPVFKHGXOHU:

* cambio di contesto

* ritorno allo stato di utente

* mette in esecuzione il processo selezionato

0RGHOORDVWDWL

long-term

coda dei processi pronti CPU

I/O

coda di I/O

attesa per I/O

quanto di tempo terminato esecuzione

del figlio

interruzione

fork

attesa per nterruzione termine

0HGLXPWHUPVFKHGXOLQJ

rimuove

temporaneamente dalla memoria principale un processo in esecuzione

* riduzione del grado di multiprogrammazione

* modifica dell’insieme di programmi in memoria principale

6ZDSSLQJ(VZDSLQVZDSRXW)

FRGHGL,2 FRGDGHLSURFHVVLSURQWL

,2

FRGDGHLSURFHVVLSDU]LDOPHQWHHVHJXLWL

VZDSLQ VZDSRXW

&38

(16)

$OJRULWPLGLVKRUWWHUPVFKHGXOLQJ 6FKHGXOLQJ5RXQG5RELQ

(RR)

- La coda dei processi pronti è gestita FIFO, ma ad ogni processo è assegnata la CPU per un TXDQWRGLWHPSR (47) prefissato

&38 3 3 3



- Se il processo P1 non termina durante QT, la CPU viene assegnata a P2 e P1 è inserito in fondo alla coda

- 6FHOWDGL47 deve essere VXIILFLHQWHPHQWH grande rispetto al tempo di cambio del

contesto (ordine delle decine di msec)

6FKHGXOLQJD3ULRULWj

&38 3 3



3 3

3 3Q Q





 



OLYHOOLGLSULRULWj FRGH

In ogni istante, è in esecuzione il processo pronto a SULRULWjPDVVLPD

3ULRULWjVWDWLFD

fissata alla creazione dei processi in base alle loro caratteristiche

(V processi di I/O con priorità più elevata

3URFHVVLIRUHJURXQG (sistema, interattivi)DOWD 3URFHVVLEDFNJURXQG(batch) EDVVDSULRULWj

Problema della VWDUYDWLRQ: ad un processo a bassa priorità può non venire mai assegnata la CPU perchè vi sono sempre processi a SULRULWj SLHOHYDWD

(17)

6FKHGXOLQJD3ULRULWjGLQDPLFD

può essere modificata durante l'esecuzione dei processi:

per SHQDOL]]DUH processi che impegnano troppo la CPU

per evitare fenomeni di VWDUYDWLRQ

per favorire processi ,2ERXQG

(VHPSLR81,;

3LOLYHOOLGLSULRULWj (crescente dall’alto al basso)

5RXQGURELQ tra i processi allo stesso livello

(quanto di tempo = 100 msec)

$JJLRUQDPHQWRGLQDPLFR della priorità

ad esempio DGRJQLVHFRQGR

1XRYD3ULRULWj %DVH8VR&38 - EDVH normalmente =, assume un valore >

tramite la V\VWHPFDOO1,&(

- XVR&38 contatore per ogni processo incrementato di  ad ogni clock (5 o 6 interruzioni per QT).

Diviso per , per ridurre la penalizzazione per uso elevato di CPU.

81,; - 6WUXWWXUDDFRGHGLSULRULWj

. ..

OLYHOOR

OLYHOOR

OLYHOOR

OLYHOOR

FRPSOILJOLR WHUPRXWSXW WHUPLQSXW EXIIHUGLVFR

,2GLVFR SULRULWjDOWD

SULRULWjEDVVD



















SURFHVVLLQFRGD VXOLYHOOLGLSULRULWj

FKHRSHUDQR SURFHVVL LQXVHUPRGH

SURFHVVLFKH GHYRQRHVHJXLUH

XQDV\VWHPFDOO

(VHPSLR81,;

• Quando un processo esegue una V\VWHPFDOO, può YHQLUHEORFFDWR(es.: richiesta di uso del disco)

• Al verificarsi dell'evento atteso, il processo diventa SURQWR e viene inserito nel relativo livello di priorità (priorità negativa significa priorità alta)

VLIDYRULVFRQR i processi interattivi (attesa per un terminale) e che eseguono I/O

(18)

)LUVW&RPH)LUVW6HUYHG )&)6

CPU assegnata ai processi in accordoDOORUGLQH WHPSRUDOHGLDUULYR nel sistema

• coda dei processi pronti servita),)2

• il processo mantiene la CPU fino al rilascio

VSRQWDQHR (terminazione, blocco); QRSUHHPSWLRQ

• prestazioni basse in termini di tempo medio di attesa

• Utilizzabile in sistemi EDWFK

(VHPSLR)&)6

3URFHVVL 7HPSRGLHVHFX]LRQH

3 

3 

3 

• I processi arrivano nell'ordine 333 e sono serviti FCFS

WHPSRGLWXUQDURXQG P1 30

" " P2 85

" " P3 90

Ordine:333produce

WHPSRPHGLRGLWXUQDURXQG (30+85+90) / 3 = 68.33 Ordine:333produce

WHPSRPHGLRGLWXUQDURXQG = 43.33

6KRUWHG-RE)LUVW 6-)

Tra tutti i processi nella coda dei pronti si sceglie quello GLGXUDWDPLQRUH

• occorre conoscere le carattersitiche dei processi (FDULFRVWDELOH)

• fornisce laVROX]LRQHRWWLPD (tempo medio di attesa PLQLPR)

P1 D Se eseguiti nell'ordine:

P2 E P1 finisce al tempo D

P3 F P2 " " DE P4 G P3 " " DEF

P4 " " DEFG 7HPSRPHGLRGLDWWHVD  DEFG 

D incide più degli altri, arrivando per primo e ottenendo il servizio per primo

Quindi deve essere quello minimo Come calcolarlo? A priori.

(19)

(VHPSLR6-)

3URFHVVL 7HPSRGLHVHFX]LRQH

P1 8

P2 4

P3 4

P4 4

6HTXHQ]DGLHVHFX]LRQH

)&)6 (8 + 12 + 16 + 20) / 4 = 14 6-)

P2 4 WHPSRPHGLRGLWXUQDURXQG P3 4 (4 + 8 + 12 + 20) / 4 = 11

P4 4

P1 8

Riferimenti

Documenti correlati

10/4/2011, depositata in data 25/01/2011, con la quale - in controversia concernente l'impugnazione di un avviso di accertamento emesso per maggiori IRPEG ed IRAP dovute in

[r]

Sta dentro questo pensiero di Massimo Nobili, il pilastro portante dei sette appuntamenti immaginati dal Centro Stu- di giuridici e sociali «Aldo Marongiu» dell’Unione delle

o istruzioni da memoria a registro, che permettono il passaggio delle parole dalla memoria ai registri della CPU, dove possono essere usate come input dell’ALU, quali operandi

VHODOXFHq FRQVLGHUDWDFRPHXQ RQGDFODVVLFDJOLHOHWWURQLGRYUHEEHURDVVRUELUHHQHUJLDLQ PRGRFRQWLQXRHSHURJQLYDORUHGHOO LQWHQVLWj OXPLQRVDª GRYUHEEHHVVHUHVRORTXHVWLRQHGL

 Stabilisci dei limiti di tempo al tuo giocare e prenditi del tempo per delle pause – Dai un occhio all’orologio, prenditi una pausa di tanto in tanto e non giocare oltre il tempo

«Come già previsto per le vittime di violenza sessuale — propone Giordano — si dovreb- be estendere il gratuito patroci- nio anche alle vittime degli infortuni sul lavoro.. Che

Perché ogni materia può essere composta da materiali