• Non ci sono risultati.

Es 1 Paginazione

N/A
N/A
Protected

Academic year: 2021

Condividi "Es 1 Paginazione"

Copied!
8
0
0

Testo completo

(1)

Paginazione

NPV SPIAZZAMENTO

VIRT

20 12

32

# Pagine ->

Es 1

R = 10 pagine Page Size = 4096 B

Code Segment Size = 16 K #PC = 16/4 = 4p Data Segment Size = 20 K #DP = 20/4 = 5p

C1 C2 C3 C4 D1 D2 D3 D4 D5

Data Segment Size AUMENTA = 36 K #DP = 36/4 = 9p C1

C2 C3 C4 D1 D2 D3

(2)

Uso la LRU D7 -> D1 (Il codice cicla e non si tocca) C1

C2 C3 C4 D7 D2 D3 D4 D5 D6

D8 -> D2 , D9 -> D3 ecc C1

C2 C3 C4 D7 D8 D9 D4 D5 D6

La LRU funziona quindi male quando abbiamo dati di poco superiori alla dimensione della memoria. La LIFO qui invece conserverà 5 celle di memoria su 6 e userà l’ultima per caricare al volo.

Per quanto riguarda la traduzione in memoria fisica, supponiamo 512 MB di Ram.

PHY 512 M

29

Il sistema più veloce è tagliare la memoria fisica nello stesso offset di quella virtuale

PHY NPF OFFSET

17 12

Ecco un esempio di tabella MMU da compilare durante le esercitazioni PID NPF NPF V

(3)

Es 2

Phy -> 32 K (15 bit)

Vir -> 32 K

Page Size -> 4 K (12 bit) Cx: 12 K -> 3 p Cy 8 K -> 1 p Dx: 8 K -> 2 p Dy 8 K -> 1 p Px: 4 K -> 1 p Py 4 K -> 1 p

VIRT 3 12

NPV OFFSET

PHY 3 12

NPF OFFSET

Indirizzo Virtuale X Y

0 Cx0 Cy0

1 Cx1 Cy1

2 Cx2 Dy0

3 Dx0 Dy1

4 Dx1 Con

5 Con

6

7 Px0 Px0

Nell’esercizio quando il programma viene lanciato nel sistema viene lanciata una pagina di codice e una pagina di stack

Indirizzo Fisico 0 1 2 3 4 5

(4)

MMU

PID NPF NPF V

P 0 0 1

P 7 1 1

P 3 2 1

P 4 3 1

Q 0 4 1

Q 7 5 1

Indirizzo Fisico

0 CPO

1 PP 0/7

2 DP 0

3 DP 1

4 CQ 0

5 PQ 0

6 7

Spiazzamento indirizzo 0x2CAF - > 0x0F24

0 x 0 F 2 4

NPV OFFSET

Il codice è rimasto in una pagina già caricata quindi non succede nulla.

Cresce lo stack di X

Indirizzo Virtuale X Y

0 Cx0 Cy0

1 Cx1 Cy1

2 Cx2 Dy0

3 Dx0 Dy1

4 Dx1 Con

5 Con

6 Px1

7 Px0 Px0

(5)

MMU

PID NPF NPF V

P 0 0 1

P 7 1 1

P 3 2 1

P 4 3 1

Q 0 4 1

Q 7 5 1

Q 3 6 1

Q 6 7 1

Q effettua una exit -> le celle della memoria occupate NON vengono cancellate ma considerate come libere.

MMU

PID NPF NPF V

P 0 0 0

P 7 1 0

P 3 2 0

P 4 3 0

Q 0 4 1

Q 7 5 1

Q 3 6 1

Q 6 7 1

Nasce un nuovo processo R di tipo y.

MMU

PID NPF NPF V

R 0 0 1

R 7 1 1

R 4 2 1

R 5 2 1

Q 0 4 1

Q 7 5 1

Q 3 6 1

Q 6 7 1

(6)

Es 3

Phy -> 64 k 16 bit

Virt -> 64 k 16 bit

P.S. -> 4 k 12

VIRT 4 12

NPV OFFSET

PHY 4 12

NPF OFFSET

Cx: 8 k 2 p Dx: 12 k 3 p Px: 4 k 1 p Cy: 8 k 2 p Dy: 8 k 2 p Py: 4 k 1 p LRU

R = 4

Base x 0x300 Base y 0x13000 Cond 4 k 1 p

Indirizzo Virtuale X Y

0 Cx0 Cy0

1 Cx1 Cy1

2 Dx0 Dy0

3 Dx1 Dy1

4 Dx2

5

6 Cond

7 Cond

8 9 A B C D E

F Pxo Pyo

(7)

Fork e creazione di P Indirizzo Fisico

0 CP0

1 DP0

2 PP0

3 4 5 6 7 8 9 A B C D E F

MMU

PID NPV NPF V

P 0 0 1

P 2 1 1

P F 2 1

P 3 3 1

Q 0 4 1

Q 2 5 1

Q F 6 1

Q 4 7 1

Avvenuta la Creazione di un blocco dati Q in indirizzo virtuale 4.

Indirizzo Virtuale X Y

0 Cx0 Cy0

1 Cx1 Cy1

2 Dx0 Dy0

3 Dx1 Dy1

4 Dx2 Dq2

5

(8)

Riferimenti

Documenti correlati

la nuova pagina DS0 viene allocata in pagina fisica 2, ma S raggiunge così il livello massimo di pagine residenti e quindi la successiva (DS1) deve essere allocata al posto di

Un sistema dotato di memoria virtuale con paginazione e segmentazione tipo UNIX è caratterizzato dai pa- rametri seguenti: la memoria centrale fisica ha capacità 32 Kbyte, la

 possono essere mappati su indirizzi fisici della memoria principale.  oppure, possono essere mappati su memoria secondaria (spazio

– Se tenta di accedere a un indirizzo con bit di validità 0, viene generato un trap denominato page fault che può essere dovuto ad un errore nella gestione degli indirizzi

Ancora sulla paginazione su richiesta − 2.. ❖ Quando si verifica un page fault, il SO deve portare la pagina desiderata dalla memoria secondaria nella me- moria principale. ❖ La

 Alcuni SO, come Solaris, usano solo file mappati: nella memoria del processo o del kernel, a seconda della chiamata di sistema usata. File mappati in memoria: condivisione

 Accesso alla memoria: ad ogni riferimento ad una pagina, il contenuto del registro dell’orologio “viene copiato” nel campo del tempo d’uso della tabella delle pagine per

 Accesso alla memoria: ad ogni riferimento ad una pagina, il contenuto del registro dell’orologio “viene copiato” nel campo del tempo d’uso della tabella delle pagine per