Domande Orale Chessa
Inviato: 16/02/2015, 15:25
Raccolta delle domande degli orali dal vecchio forum:
2015:
Mi ha chiesto di parlare di lock,spinlock. Mi ha fatto fare una parte di un es. su wait e signal. Sullo stesso argomento mi ha chiesto quali differenze ci sono con i semafori, e come si può implementare una P ed una V su un semaforo. Mi ha chiesto inoltre di parlare un pò di tread e processi (differenze, livello utente, livello kernel, commutazione, e quant altro...).
2018:
Con me partì chiedendomi di descrivere il seguente codice:
Thread A
...
Top++
Stack[top]=y
...
Thread B
...
Z=Stack[top]
Top--
...
Quindi parlare di definizione di sezione critica. Per quale ragione potrebbe generarsi un errore semantico durante l'esecuzione etc.
Mi è stato quindi chiesto di scrivere un produttore consumatore che gestisse una sezione critica (utilizzando quindi lock e variabili di condizione).
Poi mi chiese di parlargli dello scheduling in generale, della differenza tra processi CPU-bound e I/O bound. Poi mi chiese quale algoritmo di scheduling fosse più indicato per un sistema batch.
In un altro orale mostrò la slide che conteneva la struttura di un inode e chiese di descrivere il FFS. E poi chiese la differenza tra FFS e FAT, quale dei due è migliore e perché.
-----
1) Spiegare il grafico "thread lifecycle" che prese dal file preparazione-orale disponibile sulla pagina e-learning del corso. Perchè è presente lo stato finale?
2) Parlami degli algoritmi di scheduling che conosci.
-----
Orale basato interamente sul problema dei filosofi a cena:
- Analizzare la soluzione "base", ovvero quella che fa semplicemente la lock dei bastoncini. Ho continuato mostrando una soluzione alternativa che elimina lo stallo ma, introducendo un'asimmetria, è poco efficiente (in un tavolo con 4 filosofi, teoricamente due filosofi non adiacenti possono mangiare contemporaneamente, ma con questa soluzione ci sono dei casi in cui solo uno può mangiare).
- Dopo ha esposto un'altra soluzione e mi ha chiesto di analizzarla.
2015:
Mi ha chiesto di parlare di lock,spinlock. Mi ha fatto fare una parte di un es. su wait e signal. Sullo stesso argomento mi ha chiesto quali differenze ci sono con i semafori, e come si può implementare una P ed una V su un semaforo. Mi ha chiesto inoltre di parlare un pò di tread e processi (differenze, livello utente, livello kernel, commutazione, e quant altro...).
2018:
Con me partì chiedendomi di descrivere il seguente codice:
Thread A
...
Top++
Stack[top]=y
...
Thread B
...
Z=Stack[top]
Top--
...
Quindi parlare di definizione di sezione critica. Per quale ragione potrebbe generarsi un errore semantico durante l'esecuzione etc.
Mi è stato quindi chiesto di scrivere un produttore consumatore che gestisse una sezione critica (utilizzando quindi lock e variabili di condizione).
Poi mi chiese di parlargli dello scheduling in generale, della differenza tra processi CPU-bound e I/O bound. Poi mi chiese quale algoritmo di scheduling fosse più indicato per un sistema batch.
In un altro orale mostrò la slide che conteneva la struttura di un inode e chiese di descrivere il FFS. E poi chiese la differenza tra FFS e FAT, quale dei due è migliore e perché.
-----
1) Spiegare il grafico "thread lifecycle" che prese dal file preparazione-orale disponibile sulla pagina e-learning del corso. Perchè è presente lo stato finale?
2) Parlami degli algoritmi di scheduling che conosci.
-----
Orale basato interamente sul problema dei filosofi a cena:
- Analizzare la soluzione "base", ovvero quella che fa semplicemente la lock dei bastoncini. Ho continuato mostrando una soluzione alternativa che elimina lo stallo ma, introducendo un'asimmetria, è poco efficiente (in un tavolo con 4 filosofi, teoricamente due filosofi non adiacenti possono mangiare contemporaneamente, ma con questa soluzione ci sono dei casi in cui solo uno può mangiare).
- Dopo ha esposto un'altra soluzione e mi ha chiesto di analizzarla.