Aller au contenu

Chapitre 7 - Entraînement : Architectures et systèmes d'exploitation


a. Citer au moins six composants que l'on trouve typiquement dans le SoC d'un smartphone.

b. Donner deux avantages de l'intégration de tous ces composants sur une seule puce.

c. Expliquer pourquoi un SoC consomme moins d'énergie que des composants séparés sur une carte mère.

Solution

a. CPU (processeur), GPU (processeur graphique), mémoire cache, modem 4G/5G, Wi-Fi, Bluetooth, GPS, NPU (processeur IA), ISP (processeur d'image), PMU (gestion d'énergie), contrôleur vidéo, DSP.

b. Vitesse de communication accrue (distances très courtes entre composants) et consommation d'énergie réduite (moins de pertes, gestion fine de l'énergie).

c. Les signaux parcourent des distances de quelques millimètres (contre plusieurs centimètres sur une carte mère), ce qui réduit les pertes électriques. De plus, le PMU peut mettre en veille sélectivement les composants inutilisés.


a. Quelle est la différence entre un programme et un processus ?

b. Un utilisateur ouvre deux fenêtres du navigateur Web. Combien de programmes et combien de processus cela représente-t-il ?

c. Citer les quatre états principaux d'un processus.

Solution

a. Un programme est un fichier stocké sur le disque. Un processus est une instance de ce programme en cours d'exécution, avec son propre espace mémoire et son PID.

b. Un seul programme (le navigateur), mais au moins deux processus (un par fenêtre, voire plus avec les processus de rendu).

c. Prêt, élu (en exécution), bloqué (en attente), terminé.


Trois processus P1, P2, P3 arrivent dans cet ordre avec les durées d'exécution suivantes :

  • P1 : 6 unités de temps
  • P2 : 3 unités de temps
  • P3 : 4 unités de temps

L'ordonnanceur utilise le tourniquet (Round Robin) avec un quantum de 2 unités de temps.

a. Dérouler l'exécution en indiquant quel processus s'exécute à chaque intervalle.

b. À quel instant chaque processus se termine-t-il ?

c. Calculer le temps de séjour moyen (temps entre l'arrivée et la terminaison).

Solution

a. Déroulement :

IntervalleProcessusP1 restantP2 restantP3 restant
0-2P16 → 434
2-4P243 → 14
4-6P3414 → 2
6-8P14 → 212
8-9P221 → 0 ✓2
9-11P32-2 → 0 ✓
11-13P12 → 0 ✓--

b. P2 se termine à t = 9, P3 à t = 11, P1 à t = 13.

c. Temps de séjour : P1 = 13, P2 = 9, P3 = 11. Moyenne = (13 + 9 + 11) / 3 = 11 unités.


a. Décrire une situation de la vie courante qui illustre un interblocage (autre que le carrefour).

b. Deux processus P1 et P2 ont besoin des ressources R1 (imprimante) et R2 (fichier) :

  • P1 demande R1, puis R2 ;
  • P2 demande R2, puis R1.

Expliquer comment un interblocage peut se produire. Illustrer avec un diagramme temporel.

c. Proposer une solution pour éviter cet interblocage.

Solution

a. Deux personnes face à face dans un couloir étroit : chacune attend que l'autre recule pour passer, mais aucune ne bouge.

b. Diagramme temporel :

InstantP1P2
t1Obtient R1Obtient R2
t2Demande R2 → bloqué (R2 détenue par P2)Demande R1 → bloqué (R1 détenue par P1)

P1 attend R2 (détenue par P2) et P2 attend R1 (détenue par P1) : interblocage.

c. Imposer un ordre d'acquisition : tous les processus doivent demander R1 avant R2. Ainsi, P2 demanderait d'abord R1 (occupée par P1), attendrait, puis P1 obtiendrait R2, terminerait, libérerait R1, et P2 pourrait continuer.


Sur votre ordinateur :

  1. Ouvrir le gestionnaire de processus (Gestionnaire des tâches sous Windows, top ou htop sous Linux) ;
  2. Identifier le processus qui consomme le plus de CPU ;
  3. Identifier le processus qui consomme le plus de mémoire ;
  4. Lancer un script Python en boucle infinie et repérer son PID ;
  5. Terminer ce processus depuis le gestionnaire.

Par groupes de 4, simuler un interblocage :

  • Chaque élève représente un processus ;
  • On dispose de 2 crayons (ressources R1 et R2) ;
  • Chaque élève a besoin des 2 crayons pour écrire un mot ;
  • Deux élèves prennent chacun un crayon → interblocage ;
  • Trouver ensemble une stratégie pour éviter cette situation.