Aller au contenu principal

Systèmes d'exploitation — fondations · L2 · Section 12/12

Ressources complémentaires

Progression

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Ressources complémentaires: Systèmes d'exploitation

#Ancrage dans le cursus UCA

Ce module prolonge Système 1 (SPUF201) et prépare l'UE Systèmes 2: processus, synchronisation, fichiers, IPC, mémoire et ordonnancement. Le fonds local du semestre 4 contient plusieurs annales de Systèmes d'exploitation; elles servent de contrôle final après les ateliers de chaque chapitre.

Avant d'aborder les mécanismes du noyau, vérifier les prérequis dans le syllabus SPUF201 et reprendre, si nécessaire, les TP Unix et shell du semestre 2.

#Ce que contient le fonds SPUF201

Le fonds documentaire de l'UE amont couvre l'intégralité d'un cours d'utilisation d'Unix, et il est utile de savoir précisément où chercher.

  • Cours, sept chapitres — introduction et structure d'Unix; fichiers et répertoires; installation d'une distribution GNU/Linux; réseaux, adresses et protocoles; le shell; les outils d'Unix; connexion et communication.
  • Travaux pratiques, six séances — session utilisateur, terminaux et Emacs; arborescence, fichiers, liens et permissions; installation d'une distribution en machine virtuelle; réseau, courrier et groupes de discussion; shell, redirections et filtres; scripts, processus et filtres.
  • Mémentos — Unix, Emacs et Emacs avancé, avec le code ASCII complet et les raccourcis clavier.
  • Fiches de révision — Linux (fichiers, droits, recherche, expressions rationnelles), shell (définition, scripts, options, codes de retour), fonctions et portée des variables.
  • Sujets d'épreuve — un partiel blanc 2023-2024, un partiel du 23/03/2022, un contrôle continu terminal du 9/05/2022 et un du 9/05/2023, avec les corrigés de scripts distribués par l'UE.
  • Archives — arborescences de TP, scripts d'exemple et d'exercice du cours.

#Ce que le cours couvre, et ce qu'il ne couvre pas

C'est la distinction la plus utile pour réviser efficacement. Le cours SPUF201 couvre en profondeur: la structure en couches et les responsabilités du noyau, les quatre catégories de fichiers et les inodes, les permissions et le umask dans les deux sens, les partitions, le montage, NFS et Samba, la compression et l'archivage, la virtualisation sous ses quatre formes, l'adressage IPv4 puis CIDR et IPv6, le DNS, les protocoles de communication et leurs ports, le courrier électronique de bout en bout, la connexion distante de telnet à SSH, les processus et leur pilotage, et l'ensemble du langage shell.

Il ne couvre pas: les algorithmes d'ordonnancement, la pagination et les tables de pages, les sémaphores et les mutex. Ces trois blocs sont traités par les chapitres correspondants de ce module comme de la culture système destinée aux UE suivantes, et les annales ne leur empruntent aucun exercice. Un étudiant qui ne révise que le fonds officiel ne sera donc pas surpris par les exercices proposés ici.

#Références

  • Operating Systems: Three Easy Pieces, de Remzi et Andrea Arpaci-Dusseau: cours complet en ligne avec laboratoires, gratuit.
  • Modern Operating Systems, d'Andrew Tanenbaum: perspective historique et comparative.
  • Pages de manuel Unix: man 2 fork, man 2 open, man 2 mmap, man 7 pipe et man 7 socket.
  • Laboratoires MIT 6.S081: projets guidés sur un noyau pédagogique.
  • Linux From Scratch: exploration facultative pour assembler un système minimal.

#Outils d'observation à installer

  • strace: tracer les appels système (chapitres Introduction, Fichiers).
  • ltrace: tracer les appels de bibliothèque, en complément.
  • valgrind: fuites mémoire et accès invalides (chapitres Processus, Mémoire).
  • tcpdump ou wireshark: captures réseau (chapitres Réseaux, Sockets).
  • linux-tools (paquet perf): traces d'ordonnancement (chapitre Ordonnancement).

#Progression pratique

Pour chaque chapitre: observer d'abord un comportement avec les outils Unix, écrire ensuite un programme C minimal qui utilise le mécanisme, puis expliquer le résultat à partir des appels système et des structures du noyau. Refaire l'atelier en variant un paramètre (taille du tampon, nombre de processus, quantum) et prédire l'effet avant de mesurer: c'est la seule façon de transformer une observation en modèle mental.