<?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 - lcs:lcs09:esercitazioni</title>
        <description></description>
        <link>https://didawiki.cli.di.unipi.it/</link>
        <lastBuildDate>Sun, 03 May 2026 12:56:32 +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/lcs/lcs09/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 cdice C piu&#039; ragionevole.

Esercizio -1: sul debugging</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 10 Feb 2009 15:36:27 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazioni 2/3</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/esercitazioni/esercitazione3</link>
            <description>Esercitazioni 2/3

Esercizio 0: man, cat, grep, sort

Utilizzare cat per creare un file di nome lyrics che contiene la canzone del non compleanno di Alice nel Paese delle meraviglie:


Statistics prove, prove that you&#039;ve one birthday,
one birthday ev&#039;ry year.
But there are three hundred and sixty four
unbirthdays.
That is why we&#039;re gathered here to cheer.
A very merry unbirthday to you, to you.
A very merry unbirthday to you,
It&#039;s great to drink to someone and I guess that you will do.
A very me…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 11 Mar 2009 08:10:30 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 4</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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>Thu, 19 Mar 2009 10:34:44 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 5</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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>Wed, 20 Jan 2010 15:42:16 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 6</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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, 21 Apr 2009 07:41:48 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 7</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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, 21 Apr 2009 07:43:16 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 8: Pipe</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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, 21 Apr 2009 09:15:41 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 9</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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, 21 Apr 2009 09:17:13 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 10: segnali</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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, 21 Apr 2009 09:18:12 +0000</pubDate>
        </item>
        <item>
            <title>Sommario lezioni ed esercitazioni</title>
            <link>https://didawiki.cli.di.unipi.it/doku.php/lcs/lcs09/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>Wed, 22 Apr 2009 08:26:34 +0000</pubDate>
        </item>
    </channel>
</rss>
