Tags:
create new tag
view all tags
Compito di Sistemi Operativi, 20/6/2000

Compito di Sistemi Operativi, Prof. Mancini: 20 giugno 2000



TESTO


 

  1. (punti: -1,4)
    Se un sistema è multiprogrammato allora:

    1. il modello concorrente dei processi non consente la condivisione dei dati fra processi diversi;
    2. la migliore utilizzazione del processore permette di ridurre il valore medio del tempo di permanenza nel sistema dei lavori sottomessi dagli utenti e quindi il tempo di esecuzione di ogni singolo lavoro è minore di quello che risulterebbe in un sistema uniprogrammato;
    3. la migliore utilizzazione del processore permette di ridurre il valore medio del tempo di permanenza nel sistema dei lavori sottomessi dagli utenti ma il tempo di esecuzione di ogni singolo lavoro è maggiore di quello che risulterebbe in un sistema uniprogrammato;
    4. la peggiore utilizzazione del processore non permette di ridurre il valore medio del tempo di permanenza nel sistema dei lavori sottomessi dagli utenti e quindi il tempo di esecuzione di ogni singolo lavoro è maggiore di quello che risulterebbe in un sistema uniprogrammato;
    5. la peggiore utilizzazione del processore non permette di ridurre il valore medio del tempo di permanenza nel sistema dei lavori sottomessi dagli utenti ma il tempo di esecuzione di ogni singolo lavoro è minore di quello che risulterebbe in un sistema uniprogrammato;
    6. più attività vengono eseguite concorrentemente, una sola di esse svolge un servizio di stretta pertinenza dell'utente;
    7. più attività vengono eseguite concorrentemente, più d'una di esse può svolgere un servizio di stretta pertinenza dell'utente;
    8. nessuna delle affermazioni precedenti è corretta.

  2. (punti: -1,4)
    Il controllo del vettore delle maschere MV viene effettuato dalle primitive hP ed hV. In particolare:

    1. l'assegnamento MV[i]=false viene eseguito esclusivamente dalla primitiva hP(i) quando, trovando IV[i]=false, sospende il processo di controllo;
    2. l'assegnamento MV[i]=false viene eseguito esclusivamente dalla primitiva hP(i) quando, trovando IV[i]=true, sospende il processo di controllo;
    3. l'assegnamento MV[i]=false viene eseguito esclusivamente dalla primitiva hV(i), appena questa primitiva viene attivata dal riconoscimento dell'interruzione IV[i].
    4. l'assegnamento MV[i]=true viene eseguito esclusivamente dalla primitiva hP(i) quando, trovando IV[i]=false, sospende il processo di controllo;
    5. l'assegnamento MV[i]=true viene eseguito esclusivamente dalla primitiva hP(i) quando, trovando IV[i]=true, sospende il processo di controllo;
    6. l'assegnamento MV[i]=true viene eseguito esclusivamente dalla primitiva hV(i), appena questa primitiva viene attivata dal riconoscimento dell'interruzione IV[i].
    7. nessuna delle affermazioni precedenti è corretta.

  3. (punti: -1,4)
    Il codice del seguente processo P contiene una chiamata alla primitiva fork di Unix che termina con successo e genera un processo figlio Pi:

    
    if (fork = 0) {
    		  codice-A
      } else {
    		  exec codice-B
    }
    codice-D
    

    1. Il processo P esegue sicuramente il codice-A e potrebbe eseguire il codice-D;
    2. Il processo P esegue sicuramente il codice-A e non esegue mai il codice-D;
    3. Il processo Pi esegue sicuramente il codice-B e potrebbe eseguire il codice-D;
    4. Il processo Pi esegue sicuramente il codice-B e non esegue mai il codice-D;
    5. Il processo P esegue sicuramente il codice-B e potrebbe eseguire il codice-D;
    6. Il processo P esegue sicuramente il codice-B e non esegue mai il codice-D;
    7. Il processo Pi esegue sicuramente il codice-D e potrebbe eseguire il codice-B;
    8. Il processo Pi esegue sicuramente il codice-D e non esegue mai il codice-B;
    9. Il processo Pi esegue sicuramente il codice-A e potrebbe eseguire il codice-D;
    10. Il processo Pi esegue sicuramente il codice-A e non esegue mai il codice-D;
    11. nessuna delle affermazioni precedenti è corretta.

  4. (punti: -1,4)
    Quali delle seguenti strutture dati appartengono al sistema di archiviazione di Unix:

    1. La TabellaDeiCollegamenti, o file table, registra lo stato di assegnazione su disco dei descrittori di archivio;
    2. La TabellaDeiDescrittoriInMS, o file table, contiene i puntatori alla posizione corrente degli archivi aperti;
    3. La TabellaDeiCollegamenti, o file table, contiene, fra l'altro, i puntatori alla posizione corrente degli archivi aperti;
    4. La TabellaDeiDescrittoriInMS, o tabella I-node, contiene le copie dei descrittori di archivio in uso da parte di almeno un processo;
    5. La TabellaDeiCollegamenti, o tabella I-node, ogni elemento registra la cardinalità dell'insieme di processi che stanno utilizzando l'archivio ad esso associato;
    6. La TabellaDeiDescrittoriInMS, o tabella I-node, ogni elemento registra la cardinalità dell'insieme di processi che stanno utilizzando l'archivio ad esso associato;
    7. nessuna delle affermazioni precedenti è corretta.

  5. (punti: -1.5,4)
    Assumendo in ogni caso un comportamento bloccante per la primitiva receive:

    1. la forma di comunicazione chiamata ``rendez-vous esteso'' richiede un comportamento non bloccante della send;
    2. la forma di comunicazione chiamata ``rendez-vous esteso'' richiede un comportamento bloccante della send;
    3. i modelli di comunicazione si dicono sincroni, se la send ha un comportamento bloccante;
    4. i modelli di comunicazione si dicono sincroni, se la send non ha un comportamento bloccante;
    5. la forma di comunicazione chiamata ``rendez-vous'' richiede un comportamento non bloccante della send;
    6. la forma di comunicazione chiamata ``rendez-vous'' richiede un comportamento bloccante della send;
    7. nessuna delle affermazioni precedenti è corretta.

  6. (punti: 6)
    Illustrare in al più 70 parole la nozione di semaforo.

  7. (punti: 6)
    Discutere in al più 70 parole la transizione dei processi dallo stato di pronto a quello di esecuzione e viceversa.

  8. (punti: 6)
    Considerare un insieme di cinque processi P1, P2, P3, P4, P5 con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:

    Processo Tempo di arrivo Tempo di esecuzione
    P1 0 16
    P2 5 11
    P3 9 9
    P4 13 7
    P5 7 10

    Assegnare questo insieme di processi ad un processore in base alla politica Round Robin considerando un quanto di tempo di 4 millisecondi.

    Calcolare il valor medio del tempo di attesa ed il valor medio del tempo di turnaround dei processi.

  9. Considerare la seguente stringa di riferimenti alla memoria di un processo in un sistema con memoria virtuale
    S = 9 3 1 0 5 2 1 3 9 5 0 1 4 2 0 3 6 2 9 1

    1. (punti: 3)
      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.
    2. (punti: 3)
      Illustrare il comportamento dell'algoritmo Second Chance di sostituzione delle pagine per una memoria fisica di 5 blocchi. Calcolare il numero di page fault che si verificano.

  10. (punti: 9)
    Considerare un insieme di processi che interagiscono mediante una variabile condivisa di tipo stringa. I processi si dividono in scrittori e lettori. I primi assegnano un valore alla variabile, e nel fare ciò, escludono qualsiasi altro processo dall'accedervi. I lettori leggono il valore della variabile, e nel fare ciò, escludono i processi scrittori ma non altri lettori. Definire una classe Java che implementi processi (thread) scrittori ed una che implementi i processi lettori.



Risposte Compito di Sistemi Operativi, 20/6/2000


  1. c, g

  2. c, d

  3. f, i

  4. c, d

  5. a, c, f



  6. Politica Round Robin

P1

P1

P2 P5 P1 P3 P2 P4 P5 P1 P3 P2 P4 P5 P3
0-4ms 4-8 8-12 12-16 16-20 20-24 24-28 28-32 32-36 36-40 40-44 44-47 47-50 50-52 52 - 53

53ms

                Tempo medio d'attesa: 155/5=31
                Turn Around medio: 208/5


  1.  
    1. ALGORITMO LRU

         Pagina Riferita
  9 3 1 0 5 2 1 3 9 5 0 1 4 2 0 3 6 2 9 1
0 9 9 9 9 9 2 2 2 2 2 0 0 0 0 0 0 0 0 0 1
1 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 9 9
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 6 6 6
3 0 0 0 0 0 9 9 9 9 9 2 2 2 2 2 2 2
4 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3
P P P P P P P P P P P P P P

                      = 14 page fault

  

                       

 

Topic revision: r1 - 2001-12-17 - AntonioValletta






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback