Aller au contenu

Gestion des processus et sécurité des communications

Terminale · NSI · Architectures matérielles, systèmes et réseaux

Architectures matérielles, systèmes et réseaux

Les processus et leur gestion par le système d'exploitation

Sur ta machine, des dizaines de programmes semblent tourner « en même temps » alors que le processeur ne peut exécuter qu'une instruction à la fois par cœur. Cette illusion est le travail du système d'exploitation, qui découpe le temps du processeur en tranches minuscules et les distribue aux programmes en attente. Comprendre ce mécanisme, c'est comprendre pourquoi une machine rame, pourquoi un programme se fige, et pourquoi deux programmes peuvent se bloquer mutuellement pour toujours.

À un instant donné, un processus se trouve dans l'un de trois états seulement, et c'est le système qui le fait passer de l'un à l'autre selon les ressources disponibles.

Les trois états d'un processus

ÉtatSignificationTransition suivante possible
ÉluLe processus occupe effectivement le processeur et exécute ses instructionsVers prêt (fin de sa tranche de temps) ou vers bloqué (il demande une ressource)
PrêtLe processus pourrait s'exécuter, mais le processeur est occupé par un autreVers élu, quand l'ordonnanceur le choisit
BloquéLe processus attend un événement extérieur : lecture disque, saisie clavier, réponse réseauVers prêt, dès que l'événement attendu se produit

L'ordonnanceur et la commutation de contexte. L'ordonnanceur est la partie du système qui décide, à chaque instant, quel processus prêt devient élu. Quand il change de processus, il doit sauvegarder l'état complet du processus sortant (contenu des registres, compteur ordinal) puis restaurer celui du processus entrant : c'est la commutation de contexte. Cette opération a un coût, ce qui explique qu'un système passé son temps à changer de processus finirait par ne plus rien faire d'utile.

Architectures matérielles, systèmes et réseaux

Sécuriser les communications : chiffrement, HTTPS et certificats

Un paquet qui traverse Internet passe par une dizaine de machines qui ne t'appartiennent pas. Sans précaution, n'importe laquelle peut lire son contenu, voire le modifier. Sécuriser une communication, c'est garantir trois choses : la confidentialité (personne d'autre ne lit), l'intégrité (personne ne modifie sans qu'on le voie) et l'authenticité (on parle bien à qui l'on croit).

Chiffrement symétrique

Dans le chiffrement symétrique, la même clé secrète sert à chiffrer et à déchiffrer. C'est le plus ancien des principes : le chiffre de César, qui décale chaque lettre d'un rang fixe, en est l'exemple historique — et l'exemple de ce qu'il ne faut pas faire, puisque 25 essais suffisent à le casser. Les algorithmes modernes comme AES reposent sur la même idée, mais avec des clés de 128 ou 256 bits qui rendent la recherche exhaustive impossible.

Le chiffrement symétrique est très rapide. Il souffre en revanche d'un défaut majeur : il faut que les deux correspondants partagent déjà la clé secrète. Or, comment se transmettre une clé secrète sur un réseau non sécurisé... sans clé secrète ? C'est le problème de l'échange de clés.

Symétrique (AES)Asymétrique (RSA)
Clés utiliséesUne seule clé secrète partagéeUne paire : clé publique + clé privée
VitesseTrès rapideBeaucoup plus lent (calculs coûteux)
Difficulté principaleTransmettre la clé sans qu'elle soit interceptéeAucune : la clé publique peut circuler librement
Nombre de clés pour n personnesn × (n − 1) / 2 clés à gérer2n clés seulement (une paire par personne)
Usage typiqueChiffrer le gros du traficÉchanger une clé de session, signer

HTTPS : le meilleur des deux mondes. HTTPS, c'est HTTP transporté dans un tunnel chiffré par le protocole TLS (port 443). Il combine intelligemment les deux familles de chiffrement, parce qu'aucune ne suffit seule : l'asymétrique résout l'échange de clés mais est trop lent pour chiffrer une vidéo, le symétrique est rapide mais ne sait pas démarrer une conversation.

Exercices corrigés

  1. Quels sont les trois états possibles d'un processus ?

    • A.Élu, prêt, bloquéBonne réponse
    • B.Ouvert, fermé, en attente
    • C.Actif, inactif, supprimé
    • D.Chargé, compilé, exécuté

    Réponse : A — Élu, prêt, bloqué

    Un processus est soit élu (il occupe le processeur), soit prêt (il pourrait s'exécuter mais attend son tour), soit bloqué (il attend un événement extérieur comme une lecture disque ou une réponse réseau). Les autres propositions mélangent du vocabulaire de fichiers ou de compilation, qui n'a rien à voir avec le cycle de vie d'un processus.

  2. Qu'est-ce qui caractérise le chiffrement symétrique ?

    • A.Il utilise une clé publique pour chiffrer et une clé privée pour déchiffrer
    • B.Il ne nécessite aucune clé, seulement un algorithme secret
    • C.Il est systématiquement plus lent que le chiffrement asymétrique
    • D.La même clé secrète sert à chiffrer et à déchiffrerBonne réponse

    Réponse : D — La même clé secrète sert à chiffrer et à déchiffrer

    Symétrique veut dire que l'opération est la même dans les deux sens : une unique clé secrète, partagée par les deux correspondants, chiffre et déchiffre. C'est ce qui le rend très rapide — bien plus rapide que l'asymétrique, contrairement à l'option 3. La paire clé publique / clé privée, c'est justement l'asymétrique.

  3. Alice veut envoyer un message confidentiel à Bob en chiffrement asymétrique. Quelle clé doit-elle utiliser pour chiffrer ?

    • A.Sa propre clé privée
    • B.La clé publique de BobBonne réponse
    • C.Sa propre clé publique
    • D.La clé privée de Bob

    Réponse : B — La clé publique de Bob

    Ce qui est chiffré avec la clé publique de Bob ne peut être déchiffré qu'avec la clé privée de Bob, que lui seul possède : la confidentialité est donc assurée. Chiffrer avec sa propre clé publique rendrait le message illisible pour Bob. Chiffrer avec sa clé privée est possible, mais tout le monde pourrait le déchiffrer avec sa clé publique : cela sert à signer, pas à cacher. Et Alice ne connaît évidemment pas la clé privée de Bob.

  4. Quelle commande permet de demander l'arrêt du processus dont le PID est 4213 ?

    • A.stop 4213
    • B.ps 4213
    • C.end 4213
    • D.kill 4213Bonne réponse

    Réponse : D — kill 4213

    La commande kill envoie un signal au processus désigné par son PID : par défaut un signal de terminaison, que le processus peut traiter proprement. En cas de blocage, kill -9 4213 le force à s'arrêter immédiatement. La commande ps sert seulement à observer, et stop comme end n'existent pas sous cette forme.

  5. Parmi ces propositions, laquelle n'est PAS une des quatre conditions nécessaires à un interblocage ?

    • A.L'exclusion mutuelle sur les ressources
    • B.L'égalité des priorités entre tous les processus concernésBonne réponse
    • C.La détention d'une ressource pendant l'attente d'une autre
    • D.L'attente circulaire entre les processus

    Réponse : B — L'égalité des priorités entre tous les processus concernés

    Les quatre conditions de Coffman sont : exclusion mutuelle, détention et attente, non-préemption, et attente circulaire. Elles doivent toutes être réunies simultanément. L'égalité des priorités n'en fait pas partie : un interblocage peut très bien survenir entre des processus de priorités différentes, car le problème vient de la structure des demandes de ressources, pas de l'arbitrage de l'ordonnanceur.

  6. P1 détient le fichier A et demande le fichier B ; P2 détient B et demande A ; P3 détient C et ne demande rien. Que peut-on conclure ?

    • A.Aucun interblocage : trois processus, ce n'est pas un cycle
    • B.Interblocage entre les trois processus, car P3 détient aussi une ressource
    • C.Interblocage entre P1 et P2 uniquement ; P3 n'est pas concerné et pourra terminerBonne réponse
    • D.Aucun interblocage : P1 et P2 finiront par obtenir leur ressource après un délai

    Réponse : C — Interblocage entre P1 et P2 uniquement ; P3 n'est pas concerné et pourra terminer

    Trace le graphe d'allocation : P1 attend B, B est détenu par P2, P2 attend A, A est détenu par P1. On revient au point de départ, donc il y a un cycle, donc un interblocage entre P1 et P2. P3 ne demande rien et ne figure dans aucun cycle : il poursuivra son exécution normalement et libérera C. Et non, le temps n'arrange rien : ni P1 ni P2 ne relâchera jamais ce qu'il détient, l'attente est définitive.

  7. Comment Alice signe-t-elle numériquement un document, et comment vérifie-t-on cette signature ?

    • A.Alice chiffre l'empreinte du document avec sa clé privée ; chacun vérifie avec la clé publique d'AliceBonne réponse
    • B.Alice chiffre le document avec sa clé publique ; chacun vérifie avec sa clé privée
    • C.Alice chiffre le document avec la clé publique du destinataire ; celui-ci vérifie avec sa propre clé privée
    • D.Alice envoie sa clé privée avec le document pour que chacun puisse contrôler

    Réponse : A — Alice chiffre l'empreinte du document avec sa clé privée ; chacun vérifie avec la clé publique d'Alice

    La signature repose sur l'usage inversé de la paire de clés. Seule Alice possède sa clé privée : ce qu'elle produit avec est donc infalsifiable. Comme tout le monde détient sa clé publique, tout le monde peut vérifier — c'est le but recherché ici, qui est l'authenticité et non la confidentialité. L'option 3 décrit un chiffrement confidentiel, pas une signature. Quant à diffuser sa clé privée, ce serait détruire toute la sécurité du système.

  8. Un traitement de texte attend que l'utilisateur appuie sur une touche. Dans quel état se trouve son processus, et que se passe-t-il quand la touche est enfin pressée ?

    • A.Il est élu, et il le reste : la frappe ne change rien à son état
    • B.Il est prêt, et il devient bloqué au moment de la frappe
    • C.Il est bloqué, et il devient immédiatement élu au moment de la frappe
    • D.Il est bloqué, et il devient prêt : il devra attendre que l'ordonnanceur le choisisseBonne réponse

    Réponse : D — Il est bloqué, et il devient prêt : il devra attendre que l'ordonnanceur le choisisse

    Attendre un événement extérieur — ici une saisie clavier — place un processus à l'état bloqué : il ne consomme aucun temps processeur. Quand l'événement survient, il ne redevient pas élu directement, car le processeur est probablement occupé par un autre processus. Il repasse d'abord à l'état prêt, et attend que l'ordonnanceur le désigne. Le raccourci bloqué vers élu est l'erreur la plus fréquente sur ce schéma d'états.

  9. Qu'est-ce qu'un processus ?

    • A.Un fichier exécutable stocké sur le disque dur
    • B.Un programme en cours d'exécution, auquel le système associe des ressources et un identifiantBonne réponse
    • C.Un ensemble d'instructions écrites dans un langage de programmation
    • D.Un espace de la mémoire vive réservé au système d'exploitation

    Réponse : B — Un programme en cours d'exécution, auquel le système associe des ressources et un identifiant

    La distinction est fondamentale : le programme est une entité passive (un fichier sur le disque), le processus est l'entité active correspondante, créée quand on lance le programme. Le système lui alloue de la mémoire, des fichiers ouverts et un PID unique. Un même programme lancé trois fois donne trois processus distincts.

  10. Quelle commande Unix affiche la liste des processus en cours d'exécution ?

    • A.ls
    • B.mkdir
    • C.psBonne réponse
    • D.cd

    Réponse : C — ps

    La commande ps (process status) liste les processus et leur PID ; ps aux les affiche tous. La commande top fait la même chose en temps réel. Les autres commandes proposées manipulent le système de fichiers : ls liste des fichiers, mkdir crée un répertoire, cd change de répertoire courant.

  11. Que signifie le S de HTTPS, et sur quel port ce protocole fonctionne-t-il par défaut ?

    • A.Serveur, port 80
    • B.Standard, port 8080
    • C.Secure : HTTP est encapsulé dans TLS, port 443Bonne réponse
    • D.Session, port 53

    Réponse : C — Secure : HTTP est encapsulé dans TLS, port 443

    HTTPS, c'est HTTP transporté dans un tunnel chiffré par TLS, sur le port 443. Le port 80 est celui de HTTP en clair, et le port 53 celui du DNS. Retiens bien que HTTPS n'est pas un protocole nouveau : c'est exactement le même HTTP, simplement protégé par une couche de chiffrement.

  12. Que désigne le PID d'un processus ?

    • A.La priorité que l'ordonnanceur lui accorde
    • B.Un numéro entier qui l'identifie de façon unique sur la machineBonne réponse
    • C.La quantité de mémoire vive qu'il occupe
    • D.Le nom du programme dont il est issu

    Réponse : B — Un numéro entier qui l'identifie de façon unique sur la machine

    Le PID (process identifier) est un entier attribué par le système, unique parmi les processus vivants. C'est lui qu'on utilise pour agir sur un processus, par exemple avec kill. Attention : plusieurs processus peuvent porter le même nom de programme, mais jamais le même PID — c'est précisément pourquoi on identifie par PID et non par nom.

S'entraîner sur ce chapitre

Ce chapitre compte 36 exercices corrigés dans l'application, avec le suivi de ta progression.

Commencer les exercices