Preview Compito dispari - 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

Rispondi, brevemente e punto per punto, alle seguenti domande sul concetto di "demand paging".
  1. Che cosa si intende con demand paging?
  2. Quali sono i vantaggi del demand paging? e gli svantaggi?
  3. In che relazione è l'approccio demand paging con il meccanismo di mappatura in memoria di un file?
Answer:
Path:
Editor shortcut keys
Question 3 Edit

I/O

Rispondi, punto per punto, alle seguenti domande sulla consistenza di un filesystem.
  1. Che signfica che un filesystem è in uno stato inconsistente?
  2. Mostra un caso concreto in cui c'è il rischio di portare il filesystem in uno stato inconsistente.
  3. Che cosa è un filesystem journaled.
  4. Come fa un sistema operativo ad accorgersi che il filesystem da cui deve fare il boot è potenzialmente in uno stato inconsistente?
  5. Cosa accade in quest'ultimo caso?
Answer:
Question 4 Edit

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 running, esegue una write non bloccante a 30 ms e subisce un major page fault a 60ms. Il page fault viene servito in 50ms.
  • B è inizialemente ready, è I/O bound, ciascun I/O burst è servito in 200 ms
  • C è inizialmente ready, è 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
A
X



















A
B




















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
A



























































running
ready

B
C


























































ready
block


























































block
note tempi




















altre note



Edit

Scripting

Il file di testo radb.txt contiene un record per ciascun prefisso IP. Nel file ciascun record è separato da una linea vuota, i campi sono su linee distinte e hanno formato nome-campo: contenuto, tranne il campo "descr" che è su più linee. I campi occupano sempre la stessa posizione ma non sono sempre tutti presenti. Per svolgere l'esercizio non è necessario conoscere il significato di tutti i campi.

Question 5 Edit

Il campo origin contiene 'AS' seguito da un numero tra 0 e 65536. Usa un comando basato grep per selezionare le righe che hanno tale numero dispari e di almeno tre cifre.

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

Answer:
Question 6 Edit
Considera i campi descr e origin, il primo contiene una descrizione di un ISP (su più righe, solo la prima riga ci interessa), il secondo il numero dell'ISP (precedeuto da "AS"). Dai un comando che produca una tabella con due colonne "numeroISP" e "descr", abbia una riga per ciascun record e sia ordinata per "numeroISP". Nella colonna descr della tabella inserisci solo la prima riga del contenuto del campo descr.Togli "AS" dall'output.

Suggerimento: alle volte può essere utile usare awk -v RS="" e -v FS="\n" per elaborare record su più linee. Inoltre gsub può essere un valido strumento di cancellazione.

Fai copia e in colla nella form del comando che hai usato e del suo output.
Answer:
Question 7 Edit

Debugging

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

gcc -g *.c -lm -o fib

Considera una esecuzione di fib con parametro 25. Considera la 20esima volta in cui che la funzione fib() sta per ritornare un valore maggiore di 200.
  • Mostra lo stack in quell'istante.
  • Mostra, nel contesto di init_list(), il contenuto dell'ultimo elemento della lista L in quell'istante.
Answer:
Question 8 Edit

Pratica Unix

Se in bash esegui help ottieni una lista di "comandi interni" cosa sono? Secondo te, cosa spinge un progettistia di sistema a optare per un comando interno anziché un eseguibile regolare?
Answer:
Question 9 Edit

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

Rispondi alle seguenti domande che confrontano windows e unix.
  • Differenze e affinità tra il concetto di handle in windows e di file descriptor in Unix.
  • Unix organizza i processi ad albero, cosa puoi dire per Windows?

Answer: