Exercice 2 - Processus et ordonnancement · Bac Numérique et Sciences Informatiques Amérique du Nord 2023 (jour 1)
Thème : Architectures matérielles et systèmes d'exploitation · Tiré du sujet Jour 1 (2023)
Énoncé
Partie A: processus
Exercice 2 (3 points)
Cet exercice porte sur les processus, l'ordonnancement, la logique booléenne.
Il est constitué de trois parties indépendantes.
Partie A: processus
La ligne de commande ps tapée dans un terminal permet d'avoir la liste des processus d'un système.
La commande ps -eo user, pid, ppid, time, cmd permet d'afficher pour tous les processus du système les colonnes suivantes:
USER: le nom de l'utilisateur qui exécute le processus
PID: l'identifiant du processus
PPID: l'identifiant du processus parent
TIME: le temps d'utilisation du processeur par le processus
CMD: la commande ou l'application, à l'origine de la création du processus
Voici un extrait de l'écran d'un terminal après exécution de la commande:
ps -eo user, pid, ppid, time, cmd
USER · PID · PPID · TIME · CMD
root · 1 · 0 · 00:00:02 · /sbin/init
kernoops · 1567 · 1 · 00:00:00 · /usr/sbin/kernoops
user01 · 1611 · 1 · 00:00:00 · /lib/systemd/systemd --user
user01 · 1752 · 1611 · 00:00:00 · /usr/libexec/gnome-session-binary --systemd-
user01 · 1766 · 1752 · 00:00:00 · /usr/libexec/at-spi-bus-launcher --launch-im
user01 · 1770 · 1611 · 00:00:51 · /usr/bin/gnome-shell
user01 · 5151 · 1632 · 00:00:00 · /usr/libexec/gvfsd-network --spawner:1.2 /o
user01 · 5168 · 1632 · 00:00:00 · /usr/libexec/gvfsd-dnssd --sp
user01 · 5348 · 1770 · 00:00:01 · /snap/vlc/2344/usr/bin/vlc
user01 · 5468 · 1770 · 00:00:01 · /snap/gimp/393/usr/bin/gimp
user01 · 5564 · 1611 · 00:00:00 · /usr/bin/python3 /usr/bin/gnome-terminal --w
user01 · 5566 · 5564 · 00:00:00 · /usr/bin/gnome-terminal.real --wait
user01 · 5571 · 1611 · 00:00:00 · /usr/libexec/gnome-terminal-server
user01 · 5589 · 5571 · 00:00:00 · bash
user01 · 5596 · 5589 · 00:00:01 · /usr/bin/python3 /home/user01/.local/bin/tho
user01 · 5603 · 5596 · 00:00:00 · /usr/bin/python3 -u -B -m thonny.plugins.cpy
user01 · 5615 · 1611 · 00:00:00 · /usr/bin/python3 /usr/bin/gnome-terminal --w
user01 · 5617 · 5615 · 00:00:00 · /usr/bin/gnome-terminal.real --wait
user01 · 5622 · 5571 · 00:00:00 · bash
user01 · 5629 · 5622 · 00:00:00 · ps -eo user,pid,ppid,time,cmd
En utilisant les données de l'extrait ci-avant, répondre aux questions suivantes:
1.
Déterminer le nom de l'application associée au processus dont l'identifiant est 5468.
2.
Déterminer l'identifiant du processus qui a sollicité le processeur le plus longtemps.
3.
Déterminer l'identifiant du processus qui a le plus d'enfants.
4.
Déterminer le nom du programme dont est issue la commande ps.
5.
Déterminer la succession des identifiants des processus qui ont permis de générer le processus associé à la ligne de commande: ps -eo user,pid,ppid,time,cmd en partant du processus initial dont le PID est 1.
Partie B: ordonnancement
Dans cet exercice, étant donné un instant initial noté , on dit qu’un processus est caractérisé par:
sa durée d’exécution, exprimée en unités de temps;
son instant d’arrivée, défini à partir de , correspondant à l’instant où le processus est créé par le système d’exploitation.
6.
Les trois états principaux d’un processus sont « prêt », « bloqué » et « élu ». Donner la définition de chacun de ces trois états.
On considère un système d’exploitation qui utilise un ordonnancement par tourniquet pour gérer les processus. Dans cet ordonnancement, le processus élu dispose alors d’un temps donné prédéfini appelé quantum, et s’exécute:
soit jusqu’à ce qu’il soit terminé (durée d’exécution restante inférieure ou égale au quantum),
soit pendant la durée du quantum (il retourne ensuite à l’état « prêt » et réintègre la file d’attente de l’ordonnanceur en dernière position),
soit jusqu’à ce qu’il se bloque de lui-même en raison d’une ressource indisponible.
7.
On s’intéresse à la situation suivante mettant en jeu trois processus avec un quantum fixé à 2 unités de temps.
Nom du processus
Temps d'exécution
Instant d'arrivée
5
0
3
1
4
5
Recopier et compléter le chronogramme d'exécution des processus:
Indiquer quel processus s'exécute sur chaque intervalle de temps restant:

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Déterminer le nom de l'application associée au processus dont l'identifiant est 5468.
Réponse : gimp
2. Déterminer l'identifiant du processus qui a sollicité le processeur le plus longtemps.
Réponse : 1770
3. Déterminer l'identifiant du processus qui a le plus d'enfants.
Réponse : 1611
4. Déterminer le nom du programme dont est issue la commande ps.
Réponse : bash
5. Déterminer la succession des identifiants des processus qui ont permis de générer le processus associé à la ligne de commande : ps -eo user, pid, ppid, time, cmd en partant du processus initial dont le PID est 1.
Réponse : 1 -> 1611 -> 5571 -> 5622 -> 5629
6. Les trois états principaux d'un processus sont « prêt », « bloqué » et « élu ». Donner la définition de chacun de ces trois états.
Réponse : Élu : le processus est en cours d'exécution sur le processeur. Prêt : le processus est en attente d'attribution du processeur par l'ordonnanceur pour s'exécuter. Bloqué : le processus attend un événement ou une ressource externe (entrée/sortie, signal, etc.) pour pouvoir poursuivre son exécution.
Les réponses des 5 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 1 - Ordonnancement et interblocage · Amérique du Nord 2024 (jour 1) · Exercice 3 - Questions 1 et 2 · Amérique du Nord 2023 (jour 2) ›
Plus d’exercices d’Architectures matérielles et systèmes d'exploitation
- Exercice 1 - Architecture matérielle et systèmes… · Amérique du Nord 2026 (jour 2)
- Exercice 1 - Ordonnancement et interblocage · Amérique du Nord 2024 (jour 1)
- Exercice 3 - Questions 1 et 2 · Amérique du Nord 2023 (jour 2)
- Exercice 2 · Amérique du Nord 2022 (jour 2)
- Exercice 2 - Systèmes sur puces et processus · Amérique du Nord 2021 (jour 1)