Programmation Système

Voici le poly et les sujets de TP de mes ./enseign.ments de programmation système et réseaux en C sous linux.
Des notions de programmation shell (système unix, linux) sont un prérecquis indispensable.
Le contenu du poly est le suivant :

Processus, fork, exec (lancement d'un programme)
Threads posix, mutex (parallelisme sur macines multi-pocesseur, etc...)
Tubes (pipes), dialogue entre processus
Programmation réseaux, Sockets TCP/IP (dilogue entre programmes via un réseau IP)

Télécharger le poly (PDF)

Voir le poly en HTML

En principe, le code posix est assez portable mais les exemples de code ont
été testés seulement avec linux noyau 2.6.

Télécharger le TP1 : fork et exec
Télécharger le TP2 : threads, pointeurs de fonctions, fonction qsort
Télécharger le TP3 : mutex
Télécharger le TP4 : tubes, pipes, read, write
Télécharger le TP5 : sockets, système client-serveur TCP/IP

Pour tout savoir sur la programmation système en C sous linux, le livre suivant est très bien écrit, très complet (mais costaud):

Programmation système en C sous Linux : Signaux, processus, threads, IPC et sockets de Christophe Blaess chez Eyrolles