The forum of the Computer Science students of the University of Pisa

Domande Orale Prencipe

salve, qualcuno che ha fatto l'orale del progetto con il Prencipe puo' dire come si svolge, quali sono gli argomenti su cui verte di piu', come si presta ad aiutare ?

Orale luglio 2017
Allora io ho fatto l'orale in questa sessione e posso dirti che inizialmente ti chiede di spiegare come hai organizzato il progetto (strutture dati che hai usato, come hai gestito la concorrenza tra i thread ecc.) e via via ti dice le cose che secondo lui sono corrette o meno (nel caso siano sbagliate ti chiede anche come avresti potuto farle meglio).
Fatto questo inizia con le domande sugli argomenti fatti durante il corso, nel mio caso
- Fork, non a livello di man ma a livello di sistema operativo
- La Fork nello specifico per le struttre dati dei segnali
- Makefile, cos'è, come funziona ecc.
- Cosa significa sig_atomic_t e perchè rende la scrittura sulle variabili atomica.
Orale durato 45 minuti buoni.
Ha iniziato chiedendomi di spiegare le scelte del progetto, direi sembrava semplicemente testare che fossi l'autore dello stesso.
Una volta finito ha iniziato a chiedermi diversi argomenti disparati, uno dopo l'altro: pipeline, ciclo client-server con le socket, handlers di segnali (con cosa è volatile e sig_atomic_t e perché si usano), segnali in generale (maschere etc), come sono implementate, i-node, fork, come è implementata e così via. Praticamente mi ha chiesto gran parte degli argomenti affrontati: ogni domanda ha la risposta presente nelle slides presentate durante il corso, comunque. Mi ha aiutato in quelle dove ero più insicuro ed è rimasto tranquillo tutto il tempo.
Non ho una motivazione chiara del perché il mio orale fosse così differente dall'usuale in quanto dice che più di 3 domande non le fa visto che ho risposto a praticamente tutto (magari con imprecisioni qua e là, ma sembrava soddisfatto), però è andata così: in altre parole, sappiate un po' di tutto!
L'orale è durato una mezz'ora scarsa.
Mi ha chiesto di spiegargli a voce con ausilio di carta e penna come ho gestito i segnali e l'architettura del server (chatty) e mi ha detto cosa secondo lui poteva essere fatto meglio. Non ha guardato il codice durante l'esame. Di teoria mi ha chiesto cosa significa volatile e quando si usa, quali sono le differenze tra macro e funzioni, cosa avviene nelle tre fasi della compilazione, cosa sono le librerie e la differenza tra librerie statiche e dinamiche, cosa sono hard link e softlink e quali sono le differenze.
Il professore è molto tranquillo, non cerca di mettere a disagio o in difficoltà.
Orale di oggi, 4/03 sul progetto.
Ddescrivere come lavora il progetto (quanti threads, dove si fa la acept, se si mette il msg o il fd nella coda condivisa e gestione dei segnali).

Domande teoriche:
-segnali
-inode
-fork (funzionamento con eccezioni)
-come vede la memoria un programma c (heap, stack etc)
-dove si salva il valore di ritorno di una funzione
-come funziona il linker e quali variabili vanno della tab dei simboli
Orale durato una 30ina di minuti, prof molto tranquillo.
Sul progetto mi ha chiesto di disegnare l'architettura generale del server e come avevo gestito le comunicazioni tra workers e listener.

Sulla teoria ha chiesto:
- fase di linking
- formato di un file eseguibile e cosa contiene (in particolare le varie tabelle di simboli e di rilocazione)
- inode
- soft link e hard link
- cosa fa la fork ed in particolare come viene implementata la copy-on-write
- segnali e strutture relative ad essi
Orale del 12/04/19

-Descrivere e disegnare nel dettaglio l'architettura del progetto.

-Come sono stati gestiti i segnali

-Perchè l'utilizzo di un sigatomic volatile e cosa significa sigatomic, cosa significa volatile, come si utilizzano, perchè e cosa comportano

-Cosa succede durante le 3 fasi di compilazione, soprattutto la parte di linking e cosa succede nella tabella dei simboli

-Come funziona l'exec, come si usa in relazione alla fork e come cambia lo spazio di indirizzamento del processo figlio

-Cosa sono gli inode, cosa contengono e come avviene l'indirizzamento su più livelli

L'orale è durato un quarto d'ora/venti minuti, il professore è molto tranquillo, se sbagli qualcosa ti corregge senza mai innervosirsi. Durante l'orale vi dà un foglio su cui spiegare in modo schematico quello a cui state rispondendo.

Buona fortuna a tutti!
Da telegram, orali di settembre 2019:

Raffaele Nachos
Ho appena finito l'orale con prencipe, scrivo qui le domande prima che mi dimentichi:
- come viene implementata la Copy on Write
- strutture dati dei segnali
- inode tutti i campi (anche indirizzamento singolo doppio ecc ..) comunque gentile e tranquillo.

Del progetto mi ha fatto spiegare la STORE e la gestione dei segnali. Ha guardato tutto il codice però, me ne ha fatto spiegare una gran parte. Davanti a me ha testato solo make

Preparatevi a spiegargli bene come leggete e mandate l'header. Si é soffermato un po' a capire perché allocassi la richiesta di una dimensione massima. Pensava che leggessi una dimensione prestabilita per l'header

Nicola Dardanis
Mi ha chiesto i segnali, come sono implementati e il significato di sigatomic_t e volatile
Scrivi un esempio di uso di volatile in cui fa la differenza
Linker e sue funzioni varie
Domande sul progetto tra cui funzioni signal safe negli handlers e sigwait

Elf e contenuti delle sezioni, utility per leggere le varie parti di un elf

Danilo
Inode
copy on write (come fa il kernel ad accorgersi che c'è una richiesta di scrittura)
cosa vuol dire volatile

Nicola
1) implementazione copy on write
2) linker, tabella rilocazione, tabella dei simboli come sono collegati questi

Valerio
1. def e uso (esempio di uso) di volatile;
2. def e uso di sig_atomic;
3. def della open e strutture dati da essa usate.
Prima di ciò qualche domanda random sul progetto, immagino per capire che fossi stato io a scriverlo.

MMU
Quali strutture dati vengono usate nella chiamata della open
Volatile cosa significa
Sign_atomic come viene garantita l atomicità dell operazione


Altre info:
Per la discussione del progetto con il Prencipe occorre il portatile con il progetto sopra come a PR2 o ce l'ha lui?
- Ce l'ha lui
Orale del 12/09/19

-Descrivere l'architettura del progetto.

-Come sono stati gestiti i segnali

- Strutture dati dei segnali

- Fork