Esercizi di Sistemi Operativi
Ciao a tutti, tra poco ho l'esame di sistemi operativi ed è un bel casotto
Stavo facendo come esercizio esami vecchi, ma sono bloccato sui primi 2 esercizi di questo che vi posto.
Per il primo ho trovato una soluzione del genere:
Per il secondo invece non riesco ad andare avanti, per me mancano dei dati....
- 256MB sono di memoria fisica o virtuale?
- Io avrei risposto in questo modo:
a) 256MB, 28bit, 256kB
b) 4GB, 32bit, 256kB
c) boooooh, alfa e hit ratio non intendono la stessa cosa?
Grazie a tutti in anticipo per la pazienza....
Stavo facendo come esercizio esami vecchi, ma sono bloccato sui primi 2 esercizi di questo che vi posto.
- Codice: Seleziona tutto
1. Studenti e docenti condividono uno stesso archivio contenente i temi d’esame di vari insegnamenti. Gli studenti possono accedere contemporaneamente all’archivio per leggere le prove d’esame date in passato ed esercitarsi. I docenti, che accedono all’archivio per preparare i nuovi temi d’esame per i futuri appelli, possono accedervi solo in modo mutualmente esclusivo, sia rispetto agli studenti, che rispetto ad altri docenti, per evitare che occhi indiscreti possano copiare il testo dell’esame e divulgarlo agli studenti prima dell’appello. Fornire una soluzione che usi i semafori per sincronizzare studenti e docenti durante l’accesso all’archivio. [8 punti]
2. Si descriva in dettaglio il concetto di paginazione. Si consideri quindi una memoria paginata a 2 livelli, di dimensione pari a 256MB, indirizzata al byte e composta da 1024 pagine, e si risponda alle seguenti domande:
(a) Quali sono le dimensioni della memoria logica, dell’indirizzo logico e di una pagina?
(b) Quali sono le dimensioni della memoria fisica, dell’indirizzo fisico e di un frame?
(c) Considerando un tempo di accesso alla memoria pari a 100ns (tempo specifico della memoria senza considerare l’overhead dovuto alla paginazione), un tempo di accesso al TLB pari a 10ns con parametro α pari a 95%, quale deve essere il tempo di page fault affinch`e il decremento di prestazioni dovuto alla gestione dei page fault sia inferiore al 10% con uno hit rate pari al 98% ?
[5+1+1+2 punti]
Per il primo ho trovato una soluzione del genere:
- Codice: Seleziona tutto
SemBin mutex = 1, mutex1 = 1, mutex2 = 1, mutex3 = 1, occupatoDaStudenti = 1;
integer N-attesa = 0; bool prof = false; integer N_studenti = 0;
SemInt occupatoDalProfessore = 0;
Studente{
while(1){
dormo();
P(mutex1); //sezione di ingresso
N-attesa++;
V(mutex1);
P(mutex2);
if(prof) P(occupatoDalProfessore);
V(mutex2);
P(mutex1);
N-attesa--;
V(mutex1);
P(mutex3);
N_studenti++;
V(mutex3);
leggo_esami(); //sezione critica
P(mutex3); //sezione uscita
N_studenti--;
if(N_studenti==0) V(occupatoDaStudenti);
V(mutex3);
}
}
Professore{
while(1){
dormo();
P(mutex3); //sezione di ingresso
if(N_studenti>0) P(occupatoDaStudenti);
V(mutex3);
P(mutex);
P(mutex2);
prof = true;
V(mutex2);
preparo_esame(); //sezione critica
P(mutex2); //sezione di uscita
prof = true;
V(mutex2);
foreach(i in N-attesa) V(occupatoDalProfessore);
V(mutex);
}
}
Per il secondo invece non riesco ad andare avanti, per me mancano dei dati....
- 256MB sono di memoria fisica o virtuale?
- Io avrei risposto in questo modo:
a) 256MB, 28bit, 256kB
b) 4GB, 32bit, 256kB
c) boooooh, alfa e hit ratio non intendono la stessa cosa?
Grazie a tutti in anticipo per la pazienza....