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

Memoria virtuale

Rispondi brevemente alle seguenti domande sul concetto di pagina.

  1. Dai una coincisa definizione di pagina (attenzione a non confonderti con il concetto di frame)?
  2. Che ruolo gioca il numero di pagina nella traduzione da indirizzo virtuale a fisico?
  3. Considera due processi diversi A e B. Il contenuto della pagina N in A e della pagina con lo stesso numero N in B è uguale o diverso? discuti brevemente.

Question 3

Not yet answered
Not graded
Flag question

Question text

I/O

Rispondi brevemente alle seguenti domande sul filesystem nei sistemi unix.

  1. elenca le informazioni associate ad un inode
  2. descrivi il concetto di hardlink in relazione all'inode
  3. che cosa è una directory?
  4. descrivi il concetto di consistenza del filesystem e le sue principali implicazioni pratiche?

Question 4

Not yet answered
Not graded
Flag question

Question text

Scheduling delle attività nel kernel

In un sistema sono presenti tre processi: A, B, C, inizialmente A è in blocco, B running e C ready. La politica di scheduling è round robin con quanto di tempo pari a 60ms.

  • A inizialmente in blocco in attesa di un input che arriva a 20ms, prosegue come cpu-bound ma genera un minor page fault dopo 20ms di esecuzione.
  • B cpu bound.
  • C cpu bound ma genera un major page fault dopo 40ms di esecuzione, servito dopo 50ms.

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
scheduling/ disptatching   scheduling/disptatching
system call per I/O   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

Grep e Awk

Il file di testo ubuntu_packages.txt.gz (devi decomprimerlo usando gunzip) contiene un record per ciascun pacchetto software della distribuzione linux ubuntu. Nel file ciascun record è separato da una linea vuota, i campi sono su linee distinte e ciascuna linea inizia con il nome del campo seguito da ":". Alcuni campi possono mancare. Per svolgere l'esercizio non è necessario conoscere il significato di tutti i campi.

Suggerimenti: alcune volte conviene processare tale file con awk usando RS="" (stringa vuota) e FS=”\n”.

Question 5

Not yet answered
Not graded
Flag question

Question text

Nel file ubuntu_packages.txt le righe che iniziano per "Version:" contengono una stringa che rappresenta la versione del pacchetto. Dai un comando bastato su grep o egrep che selezioni di tali righe quelle il cui contenuto rispetti almeno una delle seguenti regole:

  • inizi per un numero E, di al più due cifre, seguito da due punti in cui sia E>3 (es 4:...)
  • finisca con la stringa "ubuntu" seguita da un numero U, di al più due cifre, in cui sia U>11 (es: ...ubuntu12)

Question 6

Not yet answered
Not graded
Flag question

Question text

Considera i campi Package, Installed-Size e Conflicts nel file ubuntu_packages.txt. Package e Installed-Size sono sempre presenti, Conflicts è opzionale. L'ordine tra i tre è sempre lo stesso. Mostra una linea di comando che riporti una riga per ciascun record che abbia il campo Conflicts. La prima colonna deve contenere il nome del pacchetto (campo Package) e la seconda la sua taglia una volta installato (campo Installed-Size). 

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

La variabile globale struct list* L è una lista doppiamente linkata in cui gli elementi hanno campi next, prev, e num, quest'ultimo di tipo double.
Considera una esecuzione di fib con parametro 22. Considera la prima volta in cui fib() sta ritornando e contemporaneamente per l'ultimo elemento di L risulta num>12000. Fai attenzione all'inizio tale elemento non esiste!

    • Mostra lo stack in quell'istante.
    • Mostra, nel contesto di init_list(), il valore della variabile i

Question 9

Not yet answered
Not graded
Flag question

Question text

Windows

Rispondi brevemente alle seguenti domande. Eventualmente puoi fare un parallelo con Linux se ti viene comodo.

  1. Che cosa è un executive object in Windows?
  2. Che cosa contiene un file con estensione .dll in Windows?
  3. Che cosa è il registro di Windows?
  4. Che cosa è una stand-by page in Windows?