<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://didawiki.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:laboratorio16:esercitazionib</title>
        <description></description>
        <link>https://didawiki.di.unipi.it/</link>
        <lastBuildDate>Tue, 28 Apr 2026 19:07:52 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://didawiki.di.unipi.it/lib/exe/fetch.php/wiki/dokuwiki.svg</url>
            <title>DidaWiki</title>
            <link>https://didawiki.di.unipi.it/</link>
        </image>
        <item>
            <title>Esercitazione 1</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione1</link>
            <description>Esercitazione 1

Dove si richiama il C sequenziale: in particolarere puntatori, strutture ricorsive, puntatori a funzione.
Poi si introduce con un esempio il concetto di libreria (che verra&#039; approfondito nelle lezioni di teoria) e si fa la conoscenza con il debugger.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 01 Mar 2016 09:21:22 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 2</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione2</link>
            <description>Esercitazione 2

Dove si sperimenta qualche tool e si approfondiscono alcune caratteristiche del C sequenziale: errno, perror creazione di librerie e generazione di numeri casuali

Esercizio 1: Preprocessing, compilazione e linking

Seguire l&#039;esempio dei lucidi visti nella lezione di proprocessing, compilazione e linking verificando i vari passi utilizzando il programma esempio presentato ed i comandi descritti nei</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 03 Mar 2016 08:23:11 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 3</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione3</link>
            <description>Esercitazione 3

Dove si parla di librerie generiche, make e altro .....

Esercizio 1. Variabili static

scrivere una funzione conta di segnatura


int conta (void);


che restituisce come valore il numero di volte che e&#039; stata invocata dall&#039;inizio del programma, quindi 1 la prima volta, 2 la seconda etc</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 09 Mar 2016 12:13:15 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 4</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione4</link>
            <description>Esercitazione 4

Dove si scrivono i primi script.

Esercizio 1 : getting started

Scrivere uno script bash gettingStarted che stampi il suo nome, il numero degli argomenti ed i primi tre argomenti (se esistono). Come


bash:~$ ./gettingStarted mio tuo suo
Script ./gettingStarted con 3 argomenti
Primo parametro mio
Scondo parametro tuo
Terzo parametro suo
Ciao Mondo
bash:~$</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 04 Mar 2016 11:52:45 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 5</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione4bis</link>
            <description>Esercitazione 5

Dove si continua a sperimentare la bash 

Esercizio 1: Segnali ....

Usare kill per inviare il segnale SIGUSR1 nella shell corrente ed usare trap per ridefinirlo in modo da far stampare alla shell un breve messaggio (es “Ciao Mondo!</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 04 Mar 2016 11:55:38 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 6</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione6</link>
            <description>Esercitazione 6

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, 11 Apr 2016 08:59:46 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 7</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione7</link>
            <description>Esercitazione 7

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, 12 Apr 2016 12:36:59 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 8</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione8</link>
            <description>Esercitazione 8

Questa esercitazione si concentra sui thread POSIX.
Quando e&#039; richiesto di generare casualmente dei valori e&#039; necessario usare funzioni thread safe (la rand() non lo e&#039; leggere il man).

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 partico…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 18 Apr 2016 14:15:19 +0000</pubDate>
        </item>
        <item>
            <title>Esercizi Pipe/Socket</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione9</link>
            <description>Esercizi Pipe/Socket

Esercizio 1: Ampiezza della pipe

Utilizzare la funzione fpathconf come nell&#039;esempio visto a lezione per stabilire l&#039;ampiezza minima garantita POSIX di una pipe e la sua ampiezza reale.

Esercizio 2: read() e write() bloccanti e sincronizzazione su pipe</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 20 Apr 2016 11:01:21 +0000</pubDate>
        </item>
        <item>
            <title>Esercitazione 10: Segnali</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/esercitazione10</link>
            <description>Esercitazione 10: Segnali

Dove si sperimentano segnali e loro gestione ...

Esercizio 1: Gestire SIGINT, SIGTERM e SIGUSR1

Realizzare un programma C che stampi gli interi in ordine crescente su stdout a intervalli di 1 secondo. In questo programma, personalizzare SIGINT e SIGTERM in modo da stampare un breve msg di saluto si stderr prima di terminare il processo. Personalizzare SIGUSR1 in modo da effettuare una stampa su stderr (es.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 02 May 2016 13:10:54 +0000</pubDate>
        </item>
        <item>
            <title>Regole e tempistica Esame SOL</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/regole2016</link>
            <description>Regole e tempistica Esame SOL

L&#039;esame consiste di un progetto, uno scritto ed una prova orale.
Il progetto verte sul programma svolto al laboratorio, mentre lo scritto e&#039; relativo al modulo di teoria. L&#039;orale comprende gli argomenti svolti in entrambi i moduli.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 14 Mar 2016 07:47:25 +0000</pubDate>
        </item>
        <item>
            <title>Sommario lezioni ed esercitazioni (Corso B)</title>
            <link>https://didawiki.di.unipi.it/doku.php/informatica/sol/laboratorio16/esercitazionib/start</link>
            <description>FIXME

Sommario lezioni ed esercitazioni (Corso B)

----------

Importante:

	*  Gli argomenti delle lezioni non ancora svolte sono suscettibili di modifica. Controllate sempre la versione piu&#039; aggiornata.
  Data    Descrizione    Materiale    Commenti</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 02 May 2016 13:10:06 +0000</pubDate>
        </item>
    </channel>
</rss>
