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 20). In ognuna delle sottodirectory troverete (tra gli altri) i seguenti file: 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 (normalmente, sistema.S e sistema.cpp). 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_20/es2/nucleo
dove DIR è sempre la cartella in cui abbiamo scompattato appelli.tar.gz. Lanciate quindi il seguente comando:
make
Questo compilerà (tra le altre cose) il modulo sistema. Se segnala degli errori è inutile andare avanti finché non li avete corretti. Quando il precedente comando riesce a terminare senza errori potete procedere alla creazione dello swap con il comando
make swap
Questo dovrebbe terminare senza errori. A questo punto potete avviare l'esecuzione con il comando
./run
Controllate che l'output che si ottiene sullo schermo rosso di QEMU corrisponda con quello del file es2.out e che il programma arrivi a stampare "Premere INVIO per continuare". Eventuali messaggi di log saranno visibili nella finestra del terminale da cui avete lanciato ./run.
Se volete avviare il debugger procedete come segue. Lanciate l'esecuzione di QEMU con il seguente comando:
./run -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:
gdb
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).

Powered by apache Powered by Gentoo Linux Powered by MySQL Powered by PHP Powered by Perl Site written in vi Valid HTML 4.01!