| 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 |