2. Quali delle seguenti istruzioni assembler:
TRAP (o, equivalentemente, SVC: Supervisor Call)
MOV RB ADDR e MOV RL ADDR (Scrittura di un indirizzo nel registro base e nel registro limite)
sono permesse solo in modo supervisore? Motivare la risposta.
3. Nell’ambito della comunicazione tra processi introdurre i semafori e descrivere le operazioni che vengono effettuate su di essi.
4. Presentare un algoritmo (in C o pseudo-codice) che risolva il problema produttore/consumatore usando i semafori.
5. Si supponga che il processo A richieda l’ultimo lettore di nastro. Così facendo si arriva in una situazione di stallo?
Processo |
Lettore di nastro |
Plotter |
Stampante |
Perforatore di nastro |
A |
3 |
0 |
1 |
1 |
B |
0 |
1 |
0 |
0 |
C |
0 |
1 |
0 |
0 |
D |
1 |
1 |
0 |
1 |
E |
0 |
0 |
0 |
0 |
Processo |
Lettore di nastro |
Plotter |
Stampante |
Perforatore di nastro |
A |
1 |
1 |
0 |
0 |
B |
0 |
1 |
1 |
2 |
C |
3 |
1 |
0 |
0 |
D |
0 |
0 |
1 |
0 |
E |
2 |
1 |
1 |
0 |
La prima tabella indica le risorse assegnate mentre la seconda le risorse ancora da chiedere. Le risorse ancora assegnabili sono R=(1 0 2 0), cioè sono ancora disponibili: 1 lettore di nastro, 0 plotter, 2 stampanti e 0 perforatrici.
6. Supponendo di dover rimpiazzare una pagina di memoria tra quelle indicate in tabella, quale sceglierebbero le seguenti strategie?
a) Clock algorithm
b) FIFO
c) LRU
Pagina |
Tempo Caricamento |
Ultimo riferimento |
Bit di uso
|
1 |
126 |
279 |
0 |
2 |
230 |
260 |
1 |
3 |
120 |
272 |
1 |
4 |
160 |
280 |
1 |
7. Molte volte la prima parte di ogni file UNIX e’ tenuta nello stesso blocco del disco del suo i-node. Quali sono i vantaggi di questa scelta?
8. Dato un file system NTFS con blocchi di dimensione 4KB, e il seguente MTF record del file Pippo, individuare i blocchi fisici nei quali sono contenuti i seguenti byte del file A:
1. 58710
2. 5822
3. 33313
9. Descrivere l’organizzazione di un sistema di tabelle di pagine a due livelli.
Quante pagine devono risiedere contemporaneamente in memoria? (Motivare la risposta)
10. Descrivere l’Error reporting nel software di I/O indipendente dai dispositivi.