Public cible
Débutants, étudiants et professionnels qui souhaitent acquérir une pratique structurée dans ce domaine.
Relier les notions de processus, mémoire, fichiers et appels système à un programme C observé et testé.
Débutants, étudiants et professionnels qui souhaitent acquérir une pratique structurée dans ce domaine.
Comprendre les notions essentielles et les appliquer dans un projet vérifiable.
Aucune connaissance préalable n’est strictement obligatoire ; les prérequis détaillés sont précisés dans les ateliers.
Tous niveaux
La validation repose sur les évaluations actives et les livrables pratiques du cours.
Un ordinateur, un navigateur et les outils indiqués dans le premier atelier sont suffisants pour commencer.
Manipuler processus, mémoire et fichiers avec un programme C.
Obligatoire ConsulterÉvaluer les notions de processus, mémoire, fichiers et appels système.
Obligatoire ConsulterRéaliser un programme système robuste et documenté.
Livrables :
Manipuler processus, mémoire et fichiers avec un programme C.
Obligatoire ConsulterÉvaluer les notions de processus, mémoire, fichiers et appels système.
Obligatoire ConsulterRéaliser un programme système robuste et documenté.
Livrables :
Comprendre comment un système d’exploitation gère les processus, la mémoire, les fichiers et les périphériques, puis relier ces notions à un programme C.
Le cours suit processus, mémoire, fichiers et observation système.
Prérequis : Bases de programmation C et de ligne de commande.
Un processus possède son espace mémoire et ses ressources. Le noyau ordonnancement les processus, gère leur cycle de vie et les communications entre eux.
Les threads partagent la mémoire et nécessitent une synchronisation. Comprendre la différence permet d’éviter les conditions de course et les interblocages.
fork() → waitpid() → lecture des descripteurs → terminaison contrôlée
La pile contient les variables locales et les appels ; le tas contient les allocations dynamiques. Vérifier les erreurs d’allocation et libérer les ressources.
Un appel système bascule en mode privilégié. Observer les entrées, sorties et codes d’erreur permet de comprendre le comportement réel du processus.
int fd = open("data.txt", O_RDONLY); read(fd, buffer, sizeof buffer); close(fd);
Un chemin décrit l’emplacement logique d’une ressource. Les permissions, propriétaire et masques déterminent qui peut lire ou modifier un fichier.
Écrire de façon atomique, vérifier les erreurs et éviter de suivre un lien inattendu dans un contexte de sécurité. La suppression et le renommage doivent être explicites.
umask(022); open("config.txt", O_WRONLY | O_CREAT | O_TRUNC, 0640);
Utiliser ps, top, strace, lsof et les journaux pour comprendre le comportement. Observer avant de modifier : le diagnostic doit être reproductible.
Préparer un petit laboratoire avec un programme C, des entrées connues et des erreurs attendues. Le livrable doit expliquer ce que le programme démontre.
Le livrable doit montrer une compréhension personnelle, des choix explicités et une vérification par un cas de test ou une procédure reproductible.
Publié le 09/05/2025