Risorse condivise semaphore S=1, M=1; int x=10; |
|
Processo
P1 { down(&M); x:=x+1; up(&M); down(&M); write(x); up(&M); up(&S); } |
Processo P2 { down(&S); down(&M); x:=x-1; up(&M); down(&M); write(x); up(&M); } |
Processo |
Tempo di arrivo |
Tempo di esecuzione |
P1 |
0 |
9 |
P2 |
3 |
17 |
P3 |
7 |
10 |
P4 |
11 |
9 |
P5 |
15 |
6 |
P1 |
P2 |
P1 |
P3 |
P2 |
P4 |
P1 |
P5 |
P3 |
P2 |
P4 |
P5 |
P3 |
P2 |
P4 |
P2 |
0-4 |
4-8 |
8-12 |
12-16 |
16-20 |
20-24 |
24-25 |
25-29 |
29-33 |
33-37 |
37-41 |
41-43 |
43-45 |
45-49 |
49-50 |
50-51 |
S = 10 6 2 4 6 8 3 1 4 5 11 8 7 6 10 9 7 8 11 2
Illustrare il comportamento dell'algoritmo LRU di sostituzione delle
pagine per una memoria fisica
di 5 blocchi. Calcolare il numero di page
fault che si verificano.
Rif. |
10 |
6 |
2 |
4 |
6 |
8 |
3 |
1 |
4 |
5 |
11 |
8 |
7 |
6 |
10 |
9 |
7 |
8 |
11 |
2 |
1 |
10 |
10 |
10 |
10 |
10 |
10 |
3 |
3 |
3 |
3 |
3 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
2 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
5 |
5 |
5 |
5 |
5 |
10 |
10 |
10 |
10 |
10 |
2 |
|
3 |
2 |
2 |
2 |
2 |
2 |
1 |
1 |
1 |
1 |
1 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
||
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
6 |
6 |
6 |
6 |
6 |
11 |
11 |
|||
5 |
8 |
8 |
8 |
8 |
8 |
11 |
11 |
11 |
11 |
11 |
9 |
9 |
9 |
9 |
9 |
|||||
Page
Fault |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
Partizione |
Dimensione |
0 | 200K |
1 |
500K |
2 |
300K |
3 |
600K |
Risorse condivise semaphore S=0, M=1; int x=10; |
|
Processo
P1 { down(&M); x:=x+1; up(&M); down(&M); write(x); up(&M); up(&S); } |
Processo P2 { down(&S); down(&M); x:=x-1; up(&M); down(&M); write(x); up(&M); } |
Processo | Tempo di arrivo | Tempo di esecuzione |
P1 | 11 | 7 |
P2 | 5 | 5 |
P3 | 10 | 10 |
P4 | 6 | 9 |
P5 | 0 | 17 |
|
|
P2 | P4 | P5 | P3 | P1 | P2 | P4 | P5 | P3 | P1 | P4 | P5 | P3 | |
0-4ms | 4-8 | 8-12 | 12-16 | 16-20 | 20-24 | 24-28 | 28-29 | 29-33 | 33-37 | 37-41 | 41-44 | 44-45 | 45-46 | 46 - 48 | 48ms |
20 | 18 | 15 | 10 | 6 | 2 | 15 | 18 | 20 | 6 | 10 | 11 | 8 | 6 | 10 | 9 | 7 | 8 | 11 | 2 | |
0 | 20 | 20 | 20 | 20 | 20 | 2 | 2 | 2 | 2 | 2 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 2 |
1 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 18 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | |
2 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 11 | 11 | 11 | 11 | 11 | 7 | 7 | 7 | 7 | ||
3 | 10 | 10 | 10 | 10 | 10 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 9 | 9 | 9 | 9 | 9 | |||
4 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 11 | 11 |
5 + 9 = 14 page fault
Partizione |
Dimensione |
0 | 200K |
1 |
600K |
2 |
150K |
3 |
500K |