Compito di Sistemi Operativi, Prof. Mancini: 19 gennaio 2000



TESTO



 
 

  1. (punti: -1,4)

  2. La seguente porzione di codice di un processo P contiene una chiamata alla primitiva fork di Unix che termina con successo e genera un processo figlio Pi:

    if ($pid = fork) {
            codice-A
      } elsif (defined $pid) {
            exec codice-B
      } else {
           codice-C
    }
    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 P esegue sicuramente il codice-B e potrebbe eseguire il codice-D;
    4. Il processo P esegue sicuramente il codice-B e non esegue mai il codice-D;
    5. Il processo Pi esegue sicuramente il codice-A e potrebbe eseguire il codice-D;
    6. Il processo Pi esegue sicuramente il codice-A e non esegue mai il codice-D;
    7. Il processo Pi esegue sicuramente il codice-B e potrebbe eseguire il codice-D;
    8. Il processo Pi esegue sicuramente il codice-B e non esegue mai il codice-D;
    9. Il processo Pi esegue sicuramente il codice-C e potrebbe eseguire il codice-D;
    10. Il processo Pi esegue sicuramente il codice-C e non esegue mai il codice-D;
    11. nessuna delle affermazioni precedenti è corretta.

  3. (punti: -1,4)

  4. Ad ogni processo del sistema operativo Unix viene associata logicamente una quadrupla ( proprietario reale, gruppo reale, proprietario effettivo, gruppo effettivo):

    1. l'identificazione degli utenti si propaga ai processi, nell'istante di creazione ogni processo è attribuito ad un utente proprietario assegnando opportunamente i valori alla quadrupla che non può mai essere modificata durante l'esecuzione del processo;
    2. l'identificazione degli utenti si propaga ai processi, nell'istante di creazione ogni processo è attribuito ad un utente proprietario assegnando opportunamente i valori alla quadrupla che può essere modificata durante l'esecuzione del processo;
    3. i meccanismi di protezione di Unix non consentono la migrazione dei processi in domini di protezione diversi da quelli dei loro proprietari;
    4. si assuma che un processo invochi la chiamata di sistema exec per eseguire il programma contenuto in un archivio Fi; exec assegna al proprietario reale, e al gruppo reale i valori corrispondenti al proprietario dell'archivio Fi se e solo se è vera la condizione SETUID contenuta nell' i-node di Fi;
    5. si assuma che un processo invochi la chiamata di sistema exec per eseguire il programma contenuto in un archivio Fi; exec assegna al proprietario effettivo, e al gruppo effettivo i valori corrispondenti al proprietario dell'archivio Fi se e solo se è vera la condizione SETUID contenuta nell' i-node di Fi;
    6. nessuna delle affermazioni precedenti è corretta.

  5. (punti: -1,4)

  6. Nell'utilizzare più sistemi di archiviazione ospitati su dischi diversi

    1. di un gestore degli archivi indipendente dai dispositivi, un utente specifica esplicitamente quale sistema di archiviazione intende di volta in volta utilizzare ed individua gli archivi per mezzo di cammini definiti nelle strutture gerarchiche dei rispettivi sistemi, che rimangono completamente distinte;
    2. di un gestore degli archivi indipendente dai dispositivi, un utente non specifica esplicitamente quale sistema di archiviazione intende di volta in volta utilizzare ed individua gli archivi per mezzo di cammini definiti in un unica struttura gerarchica;
    3. di un gestore degli archivi dipendente dai dispositivi, un utente specifica esplicitamente quale sistema di archiviazione intende di volta in volta utilizzare ed individua gli archivi per mezzo di cammini definiti nelle strutture gerarchiche dei rispettivi sistemi, che rimangono completamente distinte;
    4. di un gestore degli archivi dipendente dai dispositivi, un utente non specifica esplicitamente quale sistema di archiviazione intende di volta in volta utilizzare ed individua gli archivi per mezzo di cammini definiti in un unica struttura gerarchica;
    5. nessuna delle affermazioni precedenti è corretta.

  7. (punti: -1,4)

  8. La gestione del processore in ordine di arrivo:

    1. non considera il processore una risorsa prerilasciabile e non assegna a tutti i processi pronti uguale priorità;
    2. considera il processore una risorsa prerilasciabile e non assegna a tutti i processi pronti uguale priorità;
    3. considera il processore una risorsa prerilasciabile ed assegna a tutti i processi pronti uguale priorità;
    4. non considera il processore una risorsa prerilasciabile ed assegna a tutti i processi pronti uguale priorità;
    5. è particolarmente adatta per i processi interattivi;
    6. non è particolarmente adatta per i processi interattivi;
    7. penalizza i processi CPU-bound rispetto ad eventuali processi I/O-bound;
    8. penalizza i processi I/O-bound rispetto ad eventuali processi CPU-bound;
    9. nessuna delle affermazioni precedenti è corretta.

  9. (punti: 6)

  10. Illustrare in al più 60 parole il meccanismo di controllo degli accessi basato su capability list.

  11. (punti: 6)

  12. 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 17
    P2 5 5
    P3 10 10
    P4 7 9
    P5 11 7
    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.
  13. Considerare la seguente stringa di riferimenti alla memoria di un processo in un sistema con memoria virtuale

  14. S = 11 8 7 6 10 9 7 8 11 10 6 2 4 6 8 3 1 4 5 11

    1. (punti: 3)

    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.

    3. (punti: 3)

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

  15. (punti: 9)

  16. Implementare la versione "Mediator" del tipo di dato Monitor utilizzando un monitor di tipo "Gladiator" (vedi diagrammi allegati).

  17. (punti: 9)

  18. Un'archivio contiene una sequenza di n stringhe parzialmente ordinate,

    s1£
    s2£...£smsm+1£...£sn.
    
    Realizzare un programma Perl efficiente che ordini l'intero archivio. Valutare la complessità in tempo e spazio del programma.



Risposte Compito di Sistemi Operativi, 19/1/2000


  1. a, h
  2. b, e
  3. b, c
  4. d, f, h
  5. Si veda pag. 531 del MAESTRINI
  6.   Politica Round Robin RoundRobin_19-1-2000.htm (tabella)
  7.  
    1. ALGORITMO LRU

    2. Pagina Riferita

 

  11 8 7 6 10 9 7 8 11 10 6 2 4 6 8 3 1 4 5 11
1 11 11 11 11 11 9 9 9 9 9 6 6 6 6 6 6 6 6 5 5
2 8 8 8 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4
3 7 7 7 7 7 7 7 7 7 2 2 2 2 2 1 1 1 1
4 6 6 6 6 6 11 11 11 11 11 11 8 8 8 8 8 11
5 10 10 10 10 10 10 10 10 10 10 10 3 3 3 3 3
                        5 + 10 = 15 page fault
 


  1.  
    1. ALGORITMO SECOND CHANCE

    2. TurnoMS

 

  11 8 7 6 10 9 7 8 11 10 6 2 4 6 8 3 1 4 5 11
1 111 111 111 111 111 91 91 91 91 91 90 90 90 90 81 81 80 80 80 111
2 81 81 81 81 80 80 80 80 80 61 61 61 61 61 60 11 11 11 11
3 71 71 71 70 71 71 70 70 70 21 21 21 21 20 20 20 51 51
4 61 61 60 60 60 111 111 111 111 110 110 110 31 31 31 31 30
5 101 100 100 100 100 101 100 100 41 41 41 41 40 41 41 40
                        5 + 10 = 15 page fault
  1. Soluzione Mediator 19 Gennaio 2000
  2. Soluzione Perl 19 Gennaio 2000

Topic attachments
I Attachment HistorySorted descending Action Size Date Who Comment
HTMLhtm RoundRobin_19-1-2000.htm   manage 28.3 K 2002-01-11 - 11:04 UnknownUser tabella
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2002-01-11 - 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-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback