qui - WEB Lab

Corso di Sistemi Operativi
A.A. 2014/2015
Arzigogolo 4– 30 ottobre 2014
Esercizio 1. Con riferimento ad una distribuzione Arch GNU/Linux, si ricompilino i
seguenti pacchetti software:
• kernel;
• libreria del C;
• coreutils;
• ogni pacchetto che fornisce librerie essenziali per l'esecuzione del comando ls.
La ricompilazione deve essere fatta con le seguenti caratteristiche:
• devono essere inclusi i simboli di debug;
• non deve essere effettuato lo stripping di binari e librerie;
• deve essere forzato l'uso del registro frame pointer.
Esercizio 2. Con riferimento ad una distribuzione Arch GNU/Linux, si individui il pacchetto
software che fornisce il binario /usr/bin/perf e lo si installi. Ci si impratichisca con l'uso di
perf tramite i seguenti tutorial:
• https://perf.wiki.kernel.org/index.php/Tutorial
• http://www.brendangregg.com/perf.html
In particolare, si individuino e si commentino i comandi esatti di perf per effettuare le seguenti
operazioni:
• registrazione delle stack trace (formato frame pointer) di un comando specifico con
frequenza pari a 999Hz.
• visualizzazione su stdout delle stack strace del comando, ordinate per frequenza e senza
cumulazione dei simboli figli (children).
Esercizio 3. Con riferimento ad una distribuzione Arch GNU/Linux, si esegua il seguente
comando da root e si spieghi che cosa fa:
echo 3 > /proc/sys/vm/drop_caches
In seguito si profilino le stack trace più popolari del comando ls -lR / con i comandi di perf
individuati nell'Esercizio 2. Si chiede di identificare la risorsa hardware/software più utilizzata dal
comando ls -lR /. Si documenti la risposta e si fornisca una copia dell'output del secondo
comando di perf.
Il primo studente che farà pervenire all'indirizzo [email protected] un documento con le
seguenti caratteristiche:
• completo (tutti i punti devono essere trattati);
• ben scritto (assenza di errori ortografici, gap logici, formattato adeguatamente);
• con un risultato chiaro e convincente;
si vedrà assegnato un punto bonus.