Preview Compito pari - turno 1 - 6 cfu

Question 1 Edit

Dati studente

Inserisci qui i tuoi dati, compila subito questa parte.

Quanti CFU?

Cognome
Nome

Matricola

Numero Computer

Ordinamento (509, 270, erasmus,ecc.)


Question 2 Edit

Memoria virtuale

Rispondi brevemente alle seguenti domande sulle "memory region" del "process address space" per i sistemi che supportano la memoria virtuale.

  1. Che cosa è una memory region?
  2. Per accedere ad una memory region si usano delle system call o cos'altro? 
  3. Se si accede ad una memory si possono provocare page fault? perché?
  4. Fai tre esempi di tipologie di memory region che puoi trovare in un nello spazio di indirizzamento di un processo.

 

Answer:
Question 3 Edit

I/O 

Descrivi sinteticamente i seguenti concetti relativi ai sistemi RAID

  1. mirroring
  2. hot spare
  3. rebuilding
Answer:
Question 4 Edit

Scheduling delle attivita' nel kernel

In un sistema sono presenti tre processi: A, B, C, inizialmente tutti e tre ready nell'ordine A in testa, poi B, C in coda. La politica di scheduling è round robin con quanto di tempo pari a 100ms. Attenzione: le system call possono essere bloccanti e i page fault major o minor.

  • A  genera un minor page fault ogni 20 ms, esegue letture bloccanti sul disco ogni 30ms servite in 60ms.
  • B cpu bound nessun page fault.
  • C cpu bound nessun page fault.

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
AXA
B B
C C
mode switch mode switch

kernel mode
disptatching 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
runningA








































running
readyB
C







































ready
block 





































block
note tempi
altre note



Edit

Scripting

Il file di testo bgp_updates.txt contiene un record per ciascun aggiornamento di routing ricevuto. Nel file ciascun record è separato da una linea vuota, i campi sono su linee distinte, tranne i campi “ANNOUNCE” e “WITHDRAW” che sono su più linee in cui ciascuna linea inizia con due spazi. Per svolgere l'esercizio non è necessario conoscere il significato di tutti i campi.

Question 5 Edit

Selezionare le prime 20 righe che iniziano per ASPATH in cui il primo numero e' maggiore di 3000. Puoi assumere che ciascun numero in tali righe sia minore di 65536.

Fai copia e in colla nella form del comando che hai usato e del suo output.

Answer:
Question 6 Edit

Il campo FROM contiene sempre un indirizzo IP. L'ultimo campo su piu' linee e' o ANNOUNCE o WITHDRAW. Tale campo contiene una lista di prefissi IP.
Dai un comando che a partire dal file bgp_updates.txt produca, per ciascun recordo di tipo ANNOUNCE, una riga di output con l'indirizzo IP specificato in FROM e il numero di prefissi in ANNOUNCE.
Suggerimenti. Ricroda che alcune volte conviene processare tale file con awk usando RS="" (stringa vuota) e FS=”\n”. Ricorda che, in awk, gsub() e' un efficace strumento di sostituzione. Ricorda che NF contiene il numero dei campi del recordo corrente.

Fai copia e in colla nella form del comando che hai usato e del suo output (almeno una parte).

Answer:
Question 7 Edit

Debugging

Considera il codice del seguente progetto prj2.tar.gz. Compila il progetto usando gcc in modo da linkare le librerie matematiche e includere i simboli di debug.

Fai copia e in colla nella form del comando che hai usato.

Considera una esecuzione di fib con parametro 15. Considera la 150 chiamata della funzione fib().

    • Mostra lo stack in quell'istante.
    • Mostra, nel contesto di init_list(), il penultimo elemento della lista L in quell'istante.

Fai copia e incolla del'intera sessione di debug nella form.

Answer:
Question 8 Edit

Pratica Unix

Descrivi il concetto di COMMAND SUBSTITUTION e danne un esempio d'uso usando la shell.

Fai copia e incolla dei comandi e dell'output nella form.

 

Answer:
Question 9 Edit

Windows: gestione della memoria

Il sistema operativio Windows ha delle peculiarita' nella gestione della memoria che lo differenziano da un sistema Linux.

Descrivi tali differenze con riferimento ai seguenti due punti. 

  • gestione del resident set
  • ciclo di vita delle pagine liberate (quelle del page buffering)
Answer: