Td3 processus et parallelisme - systèmes d’exploitation - té

Systèmes d’Exploitation : TD3 processus et parallelisme

Télécharger PDF

Correction TD3 : Processus et parallélisme en systèmes d'exploitation

Exercice 1 : Création et synchronisation de processus fils

Écrire un programme en langage C qui crée deux processus fils, l'un affichant les entiers de 1 à 50 et l'autre de 51 à 100.

Modifier ensuite ce programme pour obtenir un affichage séquentiel : 1 2 3 ...100.

Exercice 2 : Utilisation de la commande execvp

Écrire un programme en C permettant d'exécuter une commande système avec ses arguments.

Exemples d'utilisation :

  • monexec ls -l /etc/httpd/conf.d/
    total 36-rw-r--r-- 1 root root 3424 Sep 2 2002 auth_pgsql.conf-rw-r--r-- 1 root root 814 Sep 3 2002 perl.conf-rw-r--r-- 1 root root 459 Sep 3 2002 php.conf-rw-r--r-- 1 root root 988 Sep 2 2002 python.conf-rw-r--r-- 1 root root 180 Sep 4 2002 README-rw-r--r-- 1 root root 251 Aug 6 2002 squirrelmail.conf-rw-r--r-- 1 root root 11140 Sep 4 2002 ssl.conf
  • monexec echo a b
    a b
  • monexec toto titi
    Usage: monexec commande [arg] [arg] ...
  • monexec toto titi (commande inexistante)
    execvp: No such file or directory

Exercice 3 : Simultanéité vs. séquentialité

1) Écrire un programme C équivalent à la commande shell suivante :

who & ps & ls -l

2) Écrire un programme C équivalent à la commande shell suivante :

who ; ps ; ls -l

Questions fréquentes

Qu'est-ce qu'un processus fils en C ?

Un processus fils est un programme créé par un autre processus (le père) en utilisant la fonction fork(). Il s'exécute indépendamment et peut partager des ressources avec son processus parent.

À quoi sert la fonction execvp() ?

La fonction execvp() permet de remplacer le processus actuel par une nouvelle commande système, en recherchant le nom de la commande dans le chemin (PATH) et en exécutant ses arguments.

Quelle est la différence entre & et ; en shell ?

Le symbole & permet d'exécuter des commandes en parallèle, tandis que le symbole ; les exécute séquentiellement, une après l'autre.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne