Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Esercizi di Sistemi Operativi

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

1
voti

[1] Esercizi di Sistemi Operativi

Messaggioda Foto UtenteLuca1995 » 22 giu 2016, 20:33

Ciao a tutti, tra poco ho l'esame di sistemi operativi ed è un bel casotto :roll:
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....
Avatar utente
Foto UtenteLuca1995
790 2 6 12
Frequentatore
Frequentatore
 
Messaggi: 200
Iscritto il: 6 gen 2013, 23:17

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti