Istruzioni Esercizio sul nucleo
Dopo aver scaricato il file appelli.tar.gz,
scompattatelo in una directory (chiamiamola DIR).
Dentro DIR troverete una sottodirectory per
ogni appello che avete deciso di scaricare, con
il nome 'anno-mese-giorno_tipo' (tipo è normalmente 17). In ognuna delle
sottodirectory troverete (tra gli altri) i seguenti file:
- testo.pdf: contiene la traccia dell'esercizio (come secondo
esercizio)
- es2.zip: contiene i sorgenti del
nucleo modificati per l'esercizio.
- sol-es2.txt: contiene la soluzione dell'esercizio.
- es2.out.*: l'output che l'esercizio deve produrre (può essercene più di uno,
se l'output del programma non è completamene deterministico).
Scompattate es2.zip ottenendo la cartella es2 che contiene
a sua volta la cartella nucleo.
Le modifiche sono contrassegnate dalla stringa "ESAME" all'interno dei vari file.
Le parti in cui va inserita la soluzione sono contrassegnate
dalla stringa "SOLUZIONE". Il testo indica quali file devono essere modificati.
Potete modificare i file con l'editor che preferite. Quando volete provare a lanciare la vostra soluzione
aprite un terminale e portatevi nella cartella nucleo.
Per assicurarvi di essere nella cartella giusta lanciate il comando pwd. Dovrete ottnere la risposta
DIR/anno-mese-giorno_17/es2/nucleo
dove DIR è sempre la cartella in cui abbiamo scompattato appelli.tar.gz.
Lanciate quindi il seguente comando:
compile
Questo compilerà (tra le altre cose) il modulo sistema. Se segnala degli errori è inutile andare avanti finché non li avete corretti.
A questo punto potete avviare l'esecuzione con il comando
boot
Controllate che l'output che si ottiene sullo schermo di QEMU corrisponda con quello del file es2.out.0 (o con uno qualsiasi dei file es2.out.* se ce n'è più di uno).
Eventuali messaggi di log saranno visibili nella finestra del terminale da cui avete lanciato boot.
Se volete avviare il debugger procedete come segue. Lanciate QEMU con il seguente comando:
boot -g
Lo schermo di QEMU dovrebbe apparire e restare nero, in attesa del collegamento con il debugger. A questo punto
aprite un nuovo terminale e portatevi nella cartella nucleo (sempre la stessa cartella da cui abbiamo lanciato tutti gli altri comandi) e scrivete:
debug
Il debugger dovrebbe partire e collegarsi all'istanza di QEMU in esecuzione. A questo punto è possibile inserire dei breakpoint nei punti che vi interessano e poi far continuare l'esecuzione (comando c di gdb).
Documentazione
Tutti i testi d'esame con tipo 17 contengono una documentazione aggiuntiva, specifica per l'esame, nel formato Doxygen.
Per generarla, assicuratevi di aver installato Doxygen e pandoc (sudo apt install doxygen pandoc su Debian/Ubuntu) e poi lanciate
make doc CE_ESAME=anno-mese-giorno
Questo dovrebbe generare diversi file html nella directory doc/html. In particolare,
il file doc/html/group__esame.html può essere aperto con un normale browser e contiene tutta
la documentazione specifica per l'esame, inclusa una copia di quanto scritto in testo.pdf.