École Supérieure des Sciences et de la Technologie de Hammam Sousse
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
💻 TP5 : Communication Inter-Processus (Pipe)
✨ Introduction et Rappels Théoriques
🔍 Qu'est-ce qu'un pipe ?
Un pipe est un mécanisme de communication inter-processus (IPC) qui permet à un processus d'écrire des
données dans un canal, pendant qu'un autre processus les lit. Les pipes sont principalement utilisés pour
l'échange de données entre processus apparentés.
⚖️ Types de Pipes
🌀
• Pipe anonyme :
• ✅ Utilisé pour la communication entre processus apparentés (parent et enfant).
• ✅ N'existe que temporairement pendant l'exécution.
• ✅ Utilise la fonction pipe().
• Pipe nommé (FIFO) 📦 :
• ✅ Utilisé pour la communication entre processus non apparentés.
• ✅ Créé sous forme de fichier dans le système de fichiers.
• ✅ Utilise mkfifo() ou mknod() pour la création.
🔗 Bibliothèques C à utiliser 📚
#include <unistd.h> // pour pipe(), read(), write(), fork()
#include <fcntl.h> // pour open()
#include <sys/stat.h> // pour mkfifo()
#include <sys/types.h> // types comme pid_t
#include <stdlib.h>
#include <stdio.h>
#include <string.h> // pour strlen()
⚙️ Fonctions C importantes 🛠️
• pipe(int fd[2]) → Crée un pipe anonyme.
• fork() → Crée un processus fils.
• close(int fd) → Ferme une extrémité du pipe.
• read(int fd, void *buf, size_t count) → Lecture dans un pipe.
1/3
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
💻 TP5 : Communication Inter-Processus (Pipe)
✨ Introduction et Rappels Théoriques
🔍 Qu'est-ce qu'un pipe ?
Un pipe est un mécanisme de communication inter-processus (IPC) qui permet à un processus d'écrire des
données dans un canal, pendant qu'un autre processus les lit. Les pipes sont principalement utilisés pour
l'échange de données entre processus apparentés.
⚖️ Types de Pipes
🌀
• Pipe anonyme :
• ✅ Utilisé pour la communication entre processus apparentés (parent et enfant).
• ✅ N'existe que temporairement pendant l'exécution.
• ✅ Utilise la fonction pipe().
• Pipe nommé (FIFO) 📦 :
• ✅ Utilisé pour la communication entre processus non apparentés.
• ✅ Créé sous forme de fichier dans le système de fichiers.
• ✅ Utilise mkfifo() ou mknod() pour la création.
🔗 Bibliothèques C à utiliser 📚
#include <unistd.h> // pour pipe(), read(), write(), fork()
#include <fcntl.h> // pour open()
#include <sys/stat.h> // pour mkfifo()
#include <sys/types.h> // types comme pid_t
#include <stdlib.h>
#include <stdio.h>
#include <string.h> // pour strlen()
⚙️ Fonctions C importantes 🛠️
• pipe(int fd[2]) → Crée un pipe anonyme.
• fork() → Crée un processus fils.
• close(int fd) → Ferme une extrémité du pipe.
• read(int fd, void *buf, size_t count) → Lecture dans un pipe.
1/3