<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://didawiki.cli.di.unipi.it/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>DidaWiki - informatica:sol:laboratorio:esercitazioni</title>
        <description></description>
        <link>https://didawiki.cli.di.unipi.it/</link>
        <lastBuildDate>Wed, 22 Apr 2026 03:24:52 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://didawiki.cli.di.unipi.it/lib/exe/fetch.php/wiki/dokuwiki.svg</url>
            <title>DidaWiki</title>
            <link>https://didawiki.cli.di.unipi.it/</link>
        </image>
        <item>
            <title>Esercitazione 1</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione1</link>
            <description>Esercitazione 1

Dove riprendiamo il C sequenziale ed rispolveriamo alcuni strumenti utili quali debugger preprocessori compilatori linker. Inoltre introduciamo doxygen, valgrind e mtrace che ci aiuteranno a scrivere del codice C piu&#039; ragionevole.

Esercizio -1: sul debugging</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 22 Feb 2010 11:32:41 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 1bis</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione1bis</link>
            <description>Esercitazione 1bis

Dove si approfondiscono alcune caratteristiche del C sequenziale: puntatori, puntatori a funzione, librerie e macro con parametri.

Esercizio 1: liste concatenate di interi

Implementare in C le seguenti funzioni che lavorano su liste concatenate di interi di tipo</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 25 Feb 2010 10:22:58 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 2</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione2</link>
            <description>Esercitazione 2

Dove si sperimanta qualche tool e si approfondiscono alcune caratteristiche del C sequenziale: errno, perror ...

Esercizio 1: mtrace

Verificare gli accessi in memoria compiuti dalle funzioni su liste di interi della libreria libList.a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 10 Mar 2010 11:35:53 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazioni 3/4 bash</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione3</link>
            <description>Esercitazioni 3/4 bash

Esercizio -1: Basics interazione utente

Seguire i lucidi [ bash (parte1)] e provare i comandi negli esempi mostrati a lezione. Carcare di diminuire i tempi di battitura dei comandi sfruttando il meccanismo di history, il completamento (TAB) e l&#039;editing di linea.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 24 Mar 2010 10:00:28 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 3 make</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione3make</link>
            <description>Esercitazione 3 make

Esercizio 1: make per la libreria di liste

Con riferimento all&#039;esercizio 1 e 3 della seconda esercitazione , definire un file Makefile che contenga

	*  le regole per generare correttamente main.o e lista.o 
	*  la regola PHONY lib per generare correttamente la libreria libList.a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 10 Mar 2010 14:47:18 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 4</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione4</link>
            <description>Esercitazione 4

Esercizio 1: ridefiniamo &#039;cd&#039;

Ridefinire il builtin cd usando una funzione cd in modo che con 0 o 1 parametri si comporti come il
builtin cd mentre con 2 parametri, ad esempio:


cd old new


sostituisca tutte le occorrenze di old nella working directory corrente con</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:22:18 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 5</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione5</link>
            <description>Esercitazione 5

Questa esercitazione tratta le system call che operano su file.

Per gli esercizi 1, 2, 3, 4 DEVE essere prodotto un opportuno makefile con target per la creazione di oggetti ed eseguibili, e per l&#039;esecuzione del test automatico del codice prodotto.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 19 Apr 2010 15:41:16 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 6</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione6</link>
            <description>Esercitazione 6

Questa esercitazione e&#039; relativa alle system call per la gestione dei processi. 
Per eseguire un comando usare le funzioni della famiglia exec ed (eventualmente) una fork. 

Esercizio 0: Sulle volpi

Cosa stampa il seguente main?


int main (void) {
  printf(&quot;The quick brown fox jumped over &quot;);
  fork();
  printf(&quot;the lazy dogs\n&quot;);
  return 0;
}</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:25:30 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 7</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione7</link>
            <description>Esercitazione 7

Questa esercitazione si concentra sui thread POSIX e sulle SC relative che abbiamo presentato.

Esercizio 1: Produttore e consumatore

Scrivere un programma C con due thread: produttore e consumatore. Il thread produttore genera una sequenza di numeri casuali e li inserisce in una coda condivisa. Il thread consumatore estrae i numeri dalla coda e li stampa sullo standard output.
In particolare, il thread produttore deve eseguire un ciclo infinito in cui genera un numero casuale</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:26:09 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 8: Pipe</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione8</link>
            <description>Esercitazione 8: Pipe

Esercizio 0: Produttore e consumatore con pipe

Scrivere un programma C che implementi un processo produttore che genera N numeri casuali, li passa ad un processo consumatore usando una pipe senza nome e poi termina. Il consumatore deve stampare ciascun numero ricevuto sullo standard output e terminare a sua volta.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:27:04 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 9</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione9</link>
            <description>Esercitazione 9

Esercizio 0: Un server ed un client

Scrivere due programmi C che realizzano un server ed un client che intergiscono con socket AF_UNIX come nell&#039;esempio visto a lezione, Il server, creata la connessione, si mette in attesa di un messaggio da parte del client che contiene</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:29:05 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 10: segnali</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/esercitazione10</link>
            <description>Esercitazione 10: segnali

Esercizio 0: Gestire SIGINT e SIGTERM

Personalizzare SIGINT e SIGTERM in modo da stampare un breve msg di saluto prima di terminare il processo. Fare in modo che il gestore utilizzi solo funzioni garantite safe e che l&#039;arrivo contemporaneo dei due segnali non interrompa il gestore.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Feb 2010 15:29:24 +0000</pubDate>
        </item>
        <item>
            <title>Sommario lezioni ed esercitazioni</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/informatica/sol/laboratorio/esercitazioni/start</link>
            <description>Sommario lezioni ed esercitazioni

Importante:

	*  Gli argomenti delle lezioni non ancora svolte sono suscettibili di modifica. Controllate sempre la versione piu&#039; aggiornata.
	*  I link alle (eventuali) soluzioni delle esercitazioni verranno attivati solo dopo che l&#039;esercitazione e&#039; stata effettuata.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 23 Apr 2010 10:20:12 +0000</pubDate>
        </item>
    </channel>
</rss>
