ECTS
6 crédits
Composante
UFR Informatique
Période de l'année
Semestre 5
Description
Le but de ce cours est d'expliquer le rôle d'un système d'exploitation, et de maîtriser les mécanismes de base d'un système de type Unix, en particulier Linux (fichiers, processus et mémoire). Une partie du cours porte sur les structures de données et les algorithmes utilisés par Unix, une autre sur la programmation bas niveau (C POSIX).
Pré-requis nécessaires
Syllabus
Sujets centraux
- rôle d'un système d'exploitation, notions de processus, de fichier, d'appel système;
- entrées/sorties bas niveau sur fichier ordinaire;
- organisation du SGF, répertoires, inoeuds, attributs, types de fichiers, fichiers spéciaux, références, droits;
- parcours, consultation et modification d'arborescence;
- processus : états, implémentation, création, recouvrement, zombie, synchronisation avec `wait`;
- tables du système : table des processus, des ouvertures de fichiers, des inoeuds virtuels…
- flots standard, duplication de descripteurs, redirection;
- tubes (nommés ou anonymes) : caractéristiques, création, ouverture, lecture et écriture bloquantes, pipelines, fonctionnement en mode non bloquant;
- signaux : mécanisme général, envoi, comportement par défaut, modification du gestionnaire.
Sujets potentiellement traités
- compléments sur les signaux : masquage, utilisation fine de sigaction;
- scrutation de descripteurs, boucle d'attente passive;
- verrous sur fichiers;
- sockets;
- comparaison avec d'autres systèmes (SGF FAT32, création de processus sous Windows…)
Dernière mise à jour le 9 janvier 2023