Question 1

Not yet answered
Not graded
Flag question

Question text

Dati studente

Inserisci qui i tuoi dati, compila subito questa parte.

Quanti CFU?

Cognome
Nome

Matricola

email

Numero Computer

Ordinamento (509, 270, erasmus,ecc.)


Question 2

Not yet answered
Not graded
Flag question

Question text

Gestione della memoria: resident set

Rispondi brevemente alle seguenti domande sul concetto di resident set.

  1. Dai una coincisa definizione del concetto di resident set di un processo?
  2. In che rapporto è il resident set di un processo con il connectto di immagine di processo?
  3. Supponi di avere due insiemi disgiunti di pagine, A e B, di un processo Q e che, con lo scorrere del tempo, Q passi da un comportamento che accede spesso ad A, ma non a B, ad un comportamento che accede spesso a B ma non ad A. Cosa pensi succeda al resident set in un sistema tipo Windows o Linux?

Question 3

Not yet answered
Not graded
Flag question

Question text

Raid 05

Hai 4 array raid 0, ciascuno di due dischi, e li usi in raid 5 (nested raid 05). Considera i blocchi del disco logico risultante numerati progressivamente 1, 2, 3, ecc. Come sono sistemati tali blocchi nei dischi fisici? Compila lo schema seguente (gli array sono separati da doppia linea verticale). Indica la parita con "p" se necessario.

                   


 Supponi ci sia un fault sul primo disco del primo array, cosa poi dire circa la condizione dell'array complessivo?

Supponi ci sia un secondo fault sul primo disco del secondo array, cosa poi dire circa la condizione dell'array complessivo?

Supponi che non ci sia stato il secondo fault a valle del primo fault si sostituisca il disco con uno buono, cosa poi dire circa la condizione dell'array complessivo?

Question 4

Not yet answered
Not graded
Flag question

Question text

Sequenza degli eventi nel SO

In un sistema sono presenti tre processi: A, B, C. La politica di scheduling è preemtive con priorità (A>B>C).

  • A è inizialmente in blocco, I/O bound, l'I/O burst corrente è servito a t=50ms.
  • B è inizialmente running, è cpu bound ma genera un page fault dopo un cpu burst di 30 ms, servito in 60ms.
  • C è inizialemente ready è cpu bound e non genera page faults.

Il processore esegue di volta in volta A, B, C, e inoltre, con tempi trascurabili, mode switching, dispatching, system call e interrupt handlers. Mostra schematicamente, nella seguente tabella, l'ordine con cui tali attività vengono eseguite (una sola croce per ciascuna colonna). Indica anche quali processi sono running, quali ready e quali bloccati in ciascun istante come indicato nell'esempio.

 


user mode
A   A
B  X B
C   C
mode switch   mode switch

kernel mode
sched./disp.   sched./disp.
system call   system call
interrupt handler per page fault   interrupt handler per page fault
interrupt handler per I/O   interrupt handler per I/O
interrupt handler per quanto scaduto   interrupt handler per quanto scaduto

stati processi
running

B







































running
ready
C







































ready
block A





































block
note tempi
altre note

Information

Flag question

Information text

Scripting

Il file di testo ripe.db.aut-num.filtered.txt contiene un record per ciascun Internet Service Provider. Nel file ciascun record è separato da una linea vuota, i campi sono su linee distinte e hanno formato nome-campo: contenuto, alcuni campi possono comparire più volte. I campi occupano sempre la stessa posizione ma non sono sempre tutti presenti. Ciascun ISP è identificato da un codice, specificato nel campo aut-num, nel formato ASnnnnn dove nnnnn è un numero.  Per svolgere l'esercizio non è necessario conoscere il significato di tutti i campi.

Question 5

Not yet answered
Not graded
Flag question

Question text

Usa il comando "grep" o "egrep" per selezionare le righe relative al campo aut-num per cui la parte numerica sia maggiore di 599 e sia multiplo di 5.

Fai copia e incolla dal terminale della linea di comando e dell'output (almeno un po').

Question 6

Not yet answered
Not graded
Flag question

Question text

Il campo status contiene una string tra ASSIGNED, OTHER e LEGACY, ed è sempre presente. Il campo mnt-by contiene un codice e può apparire zero o più volte. 

Mostra una pipeline di comandi che fa uso di awk e (e)grep per fornire una classifica dei maintainer più presenti tra nei record con status pari a OTHER.

Suggerimenti: usa -v RS="" -v FS="\n" per elaborare i record su più righe con awk.

Fai copia e incolla dal terminale della linea di comando e dell'output (almeno un po').

Question 7

Not yet answered
Not graded
Flag question

Question text

Debugging

Considera il codice del seguente progetto prj3.tar.gz. Compila tutti i file con il comando

gcc -g *.c -lm -o fib

Considera una esecuzione di fib con parametro 22. Considera la 300-esima volta che fib() sta per ritornare.

  • Mostra lo stack in quell'istante.
  • Conta quante volte fib è stata chiamata fino a quell'istante.
  • Esprimi in una formula la relazione che lega il numero di frame relativi a fib() nello stack, le chiamate a fib(), e i ritorni da fib() 

Fai copia e incolla dell'intera sessione di debugging nella form.

Question 9

Not yet answered
Not graded
Flag question

Question text

Windows vs. Unix (solo per chi fa 6 cfu)

Rispondi alle seguenti domande che confrontano windows e unix.

  1. Qual è il concetto in Unix che gioca lo stesso ruolo del concetto di Handle in Windows?
  2. Unix organizza i processi ad albero, cosa puoi dire per Windows?
  3. Dove vengono memorizzate tipicamente le configurazioni dei software in Unix? e in Windows?
  4. Nel mondo unix la gestione della memoria si avvale di un page buffer, cosa puoi dire di Windows?