Tp n°4 : processus et parallélisme - systèmes d’exploitation

Projet DVD-MIAGE 2010 : Travaux Pratiques sur les Processus et le Parallélisme

Objectif

Ce projet vise à visualiser et manipuler les processus UNIX à travers plusieurs exercices pratiques.

Exercice 1 : Visualisation des processus

Pour observer les processus actifs sur une machine à un instant donné, utilisez la commande ps.

  1. Ouvrez deux terminaux. Dans le premier, exécutez deux applications (par exemple firefox et gedit) avec les commandes :
    firefox &gedit &
    Dans le deuxième terminal, tapez ps. Pourquoi firefox et gedit n'apparaissent-ils pas dans la liste ?Quelle option utiliser avec ps pour les afficher ?
  2. Utilisez ps pour identifier le PID (Process ID) de firefox. Tapez ensuite :
    kill -9 lepiddefirefox
    Que se passe-t-il ?Déterminez le PID d'une session bash et arrêtez-la avec :
    kill -9 lepiddebash
    Pourquoi la fenêtre du terminal disparaît-elle ?
  3. Exécutez firefox dans le premier terminal sans le symbole &.Pouvez-vous lancer d'autres commandes dans ce terminal ? Pourquoi ?Appuyez sur Ctrl-C. Quel processus a été interrompu ?

Exercice 2 : Utilisation de la fonction fork()

Programmez l'exercice 1 du TD n°6 en utilisant la fonction fork().

Exercice 3 : Utilisation de la fonction execl()

  1. Écrivez un programme en C nommé affichez.c qui affiche à l'écran la chaîne de caractères passée en argument de ligne de commande.

    Exemple d'utilisation : ./affichez coucou

    Compilez et testez ce programme.

  2. Créez un programme prog1.c qui utilise execl() pour exécuter affichez avec l'argument salut dans un processus fils.

Exercice 4 : Utilisation de la fonction kill()

Développez un programme où un processus fils affiche le nombre de secondes écoulées chaque seconde. Le processus père doit interrompre le fils après 10 secondes en utilisant la fonction kill().

Exercice 5 : Utilisation de la fonction wait()

Écrivez un programme qui génère deux processus fils : l'un exécute ls -l, l'autre ps -l. Le processus père doit attendre la fin des deux fils et indiquer lequel s'est terminé en premier.

FAQ

1. Pourquoi les processus en arrière-plan ne s'affichent-ils pas avec ps seul ?

La commande ps sans options n'affiche généralement que les processus liés au terminal actuel. Pour voir tous les processus, utilisez ps aux ou ps -ef.

2. Que signifie le PID d'un processus ?

Le PID (Process ID) est un identifiant unique attribué à chaque processus par le système d'exploitation pour le distinguer et le gérer.

3. Pourquoi Ctrl-C arrête-t-il le processus en cours ?

La combinaison Ctrl-C envoie un signal SIGINT (interruption) au processus actif, qui peut être configuré pour l'interrompre ou le traiter.

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