Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 2 — Interfaces, processus et Linux

12. TP1 : portée et obligations

LECTURE 14 / 184 repèresSynthèse avec omissions acceptées

12. TP1 : portée et obligations

Le TP1 vaut 4 %, se réalise en équipe de 1 à 4 personnes selon la page d'évaluation et doit être déposé sur Brio au plus tard le 9 octobre 2026 à 23 h 55. Cette heure est retenue parce qu'elle est plus prudente que les 23 h 59 indiquées dans le module et l'énoncé.

12.1 Répartition

Tableau 1 — Partie · Points · Compétences
Partie Points Compétences
Ligne de commande Linux 36 Commandes, ls -l, permissions, redirections, tubes, jobs, environnement et PATH
Compilation et exécution 28 gcc, strace, gdb, point d'arrêt, pile et core dump
fork() 16 Père/fils, PID, attente et observation avec ps
Script Bash 20 Ajouter, supprimer et lister les utilisateurs; validations en bonus

La partie Linux ajoute des outils comme grep, df, du, find, sed, tar, ssh, scp, netstat et iptables. Elle vérifie aussi > contre >>, les tubes |, /dev/null, env, export et l'ajout à PATH sans écraser sa valeur existante.

La partie C demande notamment d'afficher l'identifiant utilisateur, le PID, le PID du père et le nom de l'étudiant; d'observer les appels système avec strace; de compiler pour le débogage; puis de provoquer un accès par pointeur nul dans plante.c et d'analyser le core dump avec gdb.

Dans vader.c, le fils affiche son PID et attend une minute; le père attend sa fin puis affiche son message en réutilisant le PID du fils. Pendant l'attente, ps -ef | grep vader sert à observer les deux processus.

Le script user_management.sh présente un menu pour ajouter, supprimer et lister les utilisateurs. Les opérations administratives exigent des privilèges élevés. Les bonus portent sur la détection d'un utilisateur déjà présent ou absent.

12.2 Livrables exacts

L'archive doit contenir exactement :

  1. rapport.pdf, produit à partir de GabaritRapportTP1.docx;
  2. plante.c;
  3. vader.c;
  4. user_management.sh;
  5. aucun autre fichier.

Le gabarit doit contenir les noms et identifiants universitaires ainsi que les commandes, sorties, codes et traces demandés. Les programmes doivent compiler et s'exécuter dans la machine virtuelle officielle.

12.3 Incohérences à gérer

  • La page d'évaluation indique 23 h 55; le module et l'énoncé, 23 h 59. Retenir 23 h 55.
  • Le module appelle par erreur le 9 octobre un dimanche; en 2026, cette date tombe un vendredi.
  • La page indique une équipe de 1 à 4; l'énoncé recommande 2 à 4 ou le travail individuel. La plage 1 à 4 englobe ces possibilités.
  • Les pages 4 à 9 du PDF affichent encore « Automne 2025 », alors que la page titre, le module et l'échéance indiquent 2026.
  • La règle d'utilisation de l'IA propre au TP1 est affichée « À déterminer ». Aucune permission ne doit être présumée pour le livrable.
Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du cours. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.