Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 4 — Threads

10. Activité pratique : processus et threads

LECTURE 13 / 194 repèresSynthèse avec omissions acceptées

10. Activité pratique : processus et threads

La ressource publiée par Brio sous LAB3.5_processus_thread est servie sous le nom LAB2.5_processus_thread.pdf.

10.1 Liens symboliques

L’activité demande d’examiner la syntaxe de ln et le chemin /usr/bin/g++ pour reconnaître qu’un nom de commande peut être un lien symbolique. Rediriger ce lien vers /dev/null empêcherait l’invocation normale du compilateur. Cette manipulation privilégiée endommagerait l’environnement et ne doit pas être effectuée sur le système personnel.

10.2 fork, attente et faute mémoire

ExempleFork.cpp doit être expliqué avec fork, wait, sleep et getpid. Il faut distinguer :

  • la valeur de retour de fork dans chaque branche;
  • les PID réels;
  • l’ordre garanti par wait;
  • l’ordre qui reste libre.

Réactiver une écriture par pointeur invalide doit produire une faute mémoire. Cette observation illustre la protection de l’espace d’adressage et ne permet pas de déduire un ordre fixe entre le père et le fils.

10.3 Exemples pthread

ExempleThreads1.cpp fait identifier pthread_create, pthread_join et pthread_exit. ExempleThreads2.cpp doit être exécuté plusieurs fois pour observer des ordres variables. Lorsque la boucle de jointure est retirée, le thread principal peut terminer le processus avant que tous les travailleurs aient fini.

Les compilations et observations demeurent des actions personnelles à réaliser dans la VM officielle; elles ne sont pas présentées comme exécutées ici.

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.