---++ Sorgenti C degli esempi utilizzati durante le lezioni *N.B.* Essendo oggetto di discussione in aula, anche per limitare lo spazio occupato sullo schermo, la maggior parte dei sorgenti sono poco (o nulla) commentati, . ---+++ File e Directory (4,10 Novembre) * [[%ATTACHURL%/cp.c][cp.c]]: Copia un file in un altro * [[%ATTACHURL%/cp-1shot.c][cp-1shot.c]]: Copia un file in un altro, in una sola operazione * [[%ATTACHURL%/fstat.c][fstat.c]]: Esempio di uso di fstat * [[%ATTACHURL%/ls.c][ls.c]]: Elenca il contenuto di una directory * [[%ATTACHURL%/lseek.c][lseek.c]]: Esempio di uso della primitiva lseek * [[%ATTACHURL%/link_unlink_rename.c][link_unlink_rename.c]]: Link, unlink e rename di un file * [[%ATTACHURL%/readdir.c][readdir.c]]: Esempio: opendir, readdir e relative macro ---+++ Processi: fork/exec/wait UID (etc) (11,17 Novembre) * [[%ATTACHURL%/forkexample.c][forkexample.c]]: fork,wait * [[%ATTACHURL%/forkexec.c][forkexec.c]]: fork, execl * [[%ATTACHURL%/myuid.c][myuid.c]]: getuid, getgid, geteuid, getegid * [[%ATTACHURL%/shell.c][shell.c]]: Una semplice shell: fork, execvp, wait ---+++ IPC: Segnali (17,18 Novembre) * [[%ATTACHURL%/sigchild.c][sigchild.c]]: Gestione di SIGCHLD * [[%ATTACHURL%/signal3.c][signal3.c]]: signal, sigsetmask, sigmask, etc * [[%ATTACHURL%/signal0.c][signal0.c]]: kill per verificare la vita di un processo * [[%ATTACHURL%/alarm.c][alarm.c]]: alarm, signal ---+++ IPC: Pipes (24,25 Novembre) * [[%ATTACHURL%/Pipe5.c][Pipe5.c]]: Unnamed Pipes * [[%ATTACHURL%/PipeServer2.c][PipeServer2.c]]: Named Pipes (Server) * [[%ATTACHURL%/PipeClient2.c][PipeClient2.c]]: Named Pipes (Client) ---+++ IPC: Semafori (25 Novembre, 2 e 3 Dicembre) * [[%ATTACHURL%/seminit.c][seminit.c]]: Creazione di un semaforo - seminit * [[%ATTACHURL%/semp.c][semp.c]]: Operazione 'P' (wait) su di un semaforo - semop * [[%ATTACHURL%/semv.c][semv.c]]: Operazione 'V' (signal) su di un semaforo - semop * [[%ATTACHURL%/semgetval.c][semgetval.c]]: Lettura del valore di un semaforo - semctl * [[%ATTACHURL%/DiningPhilosophers.c][DiningPhilosophers.c]]: Dining Philosophers (possibile deadlock) * [[%ATTACHURL%/DiningPhilosophers2.c][DiningPhilosophers2.c]]: Dining Philosophers (acquisizione delle posate "ordinata") * [[%ATTACHURL%/DiningPhilosophers3.c][DiningPhilosophers3.c]]: Dining Philosophers (due semafori per semop) * [[%ATTACHURL%/barber-procsV1.c][barber-procsV1.c]]: Problema del Barbiere ---+++ IPC: Shared Memory(9 Dicembre) * [[%ATTACHURL%/shmexample1.c][shmexample1.c]]: Shared Memory - Semplice * [[%ATTACHURL%/shmexample1.c][shmexample1.c]]: Shared Memory #2 (semplice) * [[%ATTACHURL%/prodconsumer0.c][prodconsumer0.c]]: Produttore-Consumatore (lettura di una stringa da tty) * [[%ATTACHURL%/ProdConsumer.c][ProdConsumer.c]]: Produttore - 2 Consumatori (messaggi di lunghezza variabile) ---+++ IPC: Message Queues (15 Dicembre) * [[%ATTACHURL%/msg_recv.c][msg_recv.c]]: msg_recv * [[%ATTACHURL%/msg_send.c][msg_send.c]]: msg_send ---+++ IPC: Sockets (16 Dicembre) * [[%ATTACHURL%/sserver.c][sserver.c]]: Somma di 2 numeri via socket - server * [[%ATTACHURL%/sclient.c][sclient.c]]: Somma di 2 numeri via socket - client * [[%ATTACHURL%/sserverP.c][sserverP.c]]: Somma di 2 numeri via socket - server + fork * [[%ATTACHURL%/sortserverP.c][sortserverP.c]]: Sort di un vettore di stringhe via socket - server * [[%ATTACHURL%/sortclient.c][sortclient.c]]: Sort di un vettore di stringhe via socket - client * [[%ATTACHURL%/CSockets.zip][CSockets.zip]]: Zip file con esempi di uso socket (stream, dgram, etc..) <br>-- Users.GiorgioRichelli - 17 Dec 2004
This topic: Lab_so_1/AL
>
WebHome
>
Sources0405
Topic revision: r10 - 2004-12-17 - GiorgioRichelli
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback