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

email

Numero Computer

Ordinamento (509, 270, erasmus,ecc.)


Question 2 Edit

Memory management

Per ciascuna delle seguenti strategie di eviction descrivi brevemente punti di forza e di debolezza.

  1. Optimal
  2. FIFO
  3. LRU
  4. CLOCK (versione con un solo bit)


Answer:
Path:
Editor shortcut keys
Question 3 Edit

Raid 4

Considera una configurazione RAID 4 con m dischi. Rispondi alle seguenti domande.
  1. Discuti le prestazioni in lettura di Raid 4 con m dischi rispetto a Raid 0 con m dischi.
  2. Supponi che il disco D si sia rotto. Descrivi il metodo per ricostruire il j-esimo blocco di D a partire dai dati presenti negli altri dischi.
  3. Descrivi un metodo per il calcolo della parità che preveda la lettura di al più due blocchi.
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 80ms. Attenzione: le system call possono essere bloccanti o non bloccanti e i page fault major o minor.

  • A cpu bound, genera un major page fault dopo 10ms di esecuzione servito in 50ms.
  • B cpu bound ma genera una write per il disco dopo 30ms di esecuzione, nessun page fault.
  • C I/O 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
A
X



















A
B
 



















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
A



























































running
ready
B
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 da un router. 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
Il campo “ASPATH" contiene una sequenza di numeri tra 1 e 65535. Mostra un comando, che contenga una sola chiamata a grep o egrep, che selezioni le righe del file relative a tale campo del tipo "ASPATH: X ..... Y", dove X è il primo numero della sequenza e Y è l'ultimo, in cui X abbia 3 o 4 cifre e Y sia dispari e compreso tra 20001 e 29999. I numeri devono essere almeno due altrimenti la linea non deve essere selezionata. (es. ASPATH: 174 1230 24105).

Answer:
Question 6 Edit
Il campo FROM contiene un indirizzo IP e un numero di AS nella forma ASnnnnn. In alcuni record è presente il campo MULTI_EXIT_DISC contenente un valore numerico.

Per i record con MULTI_EXIT_DISC, considera la coppia formata da IP del campo FROM e dal valore MULTI_EXIT_DISC.

Dai un comando per calcolare una tabella con due colonne in cui ciascuna coppia appaia una sola volta (nella colonna di destra) e contenga (nella colonna di sinistra) il numero di occorrenze di tale coppia. Ordina la tabella per numero di occorrenze e riporta solo le prime dieci posizioni.

Esempio:

92 195.22.216.188 100
78 196.7.106.245 0
57 4.68.0.243 0
45 217.75.96.60 0
45 144.228.241.81 -2



Answer:
Question 7 Edit

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 20. Considera la prima volta in cui fib() viene chiamata e contemporaneamente per l'ultimo elemento di L risulta num>10000 (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

Fai copia e incolla dell'intera sessione di debugging nella form.
Answer:
Question 8 Edit

Pratica Unix

Che effetto hanno i seguenti comandi dati di seguito nella shell? Spiega il perché.

x1='ls'

x2='-l'

$x{1,2}


Answer:
Question 9 Edit

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

Rispondi brevemente alle seguenti domande sui servizi.
  1. Cosa si intende per servizio in Windows e Linux?
  2. In Windows, che ruolo gioca svchost.exe?
  3. In Linux, descrivi almeno un modo di configurare un servizio perché parta al boot.
  4. In Windows, dove pensi che sia mantenuta l'informazione di quali servizi partono al boot? Quale pensi sia il modo migliore per configurare la partenza di un servizio al boot?


Answer: