School 47

Sous le capot : processeur, système d'exploitation et routeurs

Première · Numérique & code · environ 20 min

Une vidéo tourne, une notification s'affiche, ta playlist continue et un fichier se télécharge : quatre activités à la fois, sur une machine dont le processeur n'exécute que des instructions très simples, par milliards chaque seconde. Pour comprendre, ouvrons trois boîtes : le matériel, le système d'exploitation et le réseau.

Le modèle de von Neumann

En 1945, John von Neumann décrit, dans un rapport sur l'ordinateur EDVAC, l'organisation de presque toutes les machines actuelles, ton téléphone compris :

  • l'unité arithmétique et logique (UAL) calcule : additions, comparaisons… ;
  • l'unité de commande va chercher les instructions une à une et les décode ;
  • la mémoire contient à la fois le programme et les données, codés en binaire ;
  • les entrées-sorties : clavier, écran, disque, carte réseau…

Ces organes communiquent par des bus. Le processeur réunit l'UAL, l'unité de commande et des registres, de minuscules mémoires ultrarapides : le compteur de programme (PC) contient l'adresse de la prochaine instruction, R0, R1, R2… les valeurs de travail. La mémoire vive (RAM) est volatile : elle s'efface quand on coupe le courant, contrairement au disque.

Le cycle charger, décoder, exécuter

Le processeur répète sans fin : charger l'instruction dont l'adresse est dans le PC, la décoder, l'exécuter. Voici un programme en langage d'assemblage simplifié, proche de celui des simulateurs de NSI ; les cases mémoire 100 et 101 contiennent 12 et 30.

0 LDR R0, 100
1 LDR R1, 101
2 ADD R2, R0, R1
3 STR R2, 102
4 HALT

PC = 0 : LDR R0, 100 copie la case 100 dans R0 (R0 = 12) et le PC passe à 1. Puis R1 = 30. À l'adresse 2, l'UAL calcule 12 + 30 : R2 = 42. STR R2, 102 range 42 dans la case 102 et HALT arrête tout. SUB R2, R0, R1 aurait donné R0 − R1 = −18. C'est, en gros, l'instruction Python c = a + b en langage machine ; les sauts (B, BEQ) modifient le PC et donnent les if et les boucles.

Le système d'exploitation, chef d'orchestre

Entre tes applications et le matériel, le système d'exploitation (Windows, macOS, Linux, Android, iOS) :

  • gère les processus : l'ordonnanceur donne le processeur à chaque programme à tour de rôle, par tranches de quelques millisecondes ;
  • gère la mémoire : chaque processus a sa zone, un jeu qui plante n'emporte pas ton devoir ;
  • gère les fichiers, rangés en arborescence (/home/lea/nsi/projet.py) ;
  • pilote les périphériques et gère les utilisateurs et leurs droits.

Dans un terminal Linux, cd change de dossier, mkdir en crée un, cp copie, mv déplace ou renomme, rm supprime, et ls -l affiche les droits :

-rw-r--r-- 1 lea eleves 2048 projet.py

Après le type (- fichier, d dossier), neuf caractères se lisent par trois : propriétaire rw-, groupe r--, autres r--. Avec r = 4 (lire), w = 2 (écrire), x = 1 (exécuter), on additionne par trio : chmod 640 projet.py donne rw- à Léa, r-- au groupe et --- aux autres.

Le voyage des paquets

La vidéo arrive découpée en paquets d'au plus 1 500 octets environ. Chaque couche ajoute son en-tête, comme des enveloppes emboîtées : c'est l'encapsulation. TCP numérote les morceaux pour les remettre dans l'ordre et redemander les manquants ; IP ajoute les adresses source et destination et un compteur TTL. Contre les pertes, le protocole du bit alterné numérote les messages 0, 1, 0, 1… : l'émetteur attend un accusé portant le même bit, sinon il renvoie le message ; le récepteur jette un doublon, reconnaissable à son bit répété.

Internet : client, serveur et paquets À gauche un ordinateur client, à droite un serveur. Entre les deux, deux routeurs, dessinés en losanges, relient d'autres machines : c'est le réseau. Le message n'est pas envoyé d'un bloc : il est découpé en petits paquets, dessinés comme des carrés, qui voyagent le long des liens et passent de routeur en routeur, chacun choisissant vers où transmettre. Ainsi les données vont du client au serveur à travers Internet. routeurs client serveur paquet les données en paquets, routées de proche en proche

Aucun routeur ne connaît le chemin complet : sa table de routage donne le prochain saut vers chaque réseau, c'est le routage de proche en proche. « 10.0.0.0/8 » désigne les adresses qui commencent par 10, « /24 » celles qui partagent les trois premiers nombres. Table du routeur R1 :

Réseau de destination Prochain saut
192.168.1.0/24 remise directe
10.0.0.0/8 R2
172.16.5.0/24 R3
par défaut R4

Un paquet pour 10.8.3.1 part vers R2, pour 172.16.5.40 vers R3, et pour 151.101.2.10, qu'aucune ligne ne couvre, vers R4 par la route par défaut. Chaque routeur baisse le TTL de 1 ; à 0, le paquet est détruit au lieu de tourner en boucle. Si une liaison tombe, les tables changent et les paquets contournent la panne : Internet est robuste.

À retenir

  • Von Neumann : processeur (UAL, unité de commande, registres), mémoire contenant programme ET données, entrées-sorties, bus.
  • Le processeur répète charger, décoder, exécuter ; le PC désigne la prochaine instruction.
  • Le système d'exploitation gère processus, mémoire, fichiers, périphériques, utilisateurs et droits (r = 4, w = 2, x = 1).
  • Les données voyagent en paquets encapsulés ; chaque routeur choisit le prochain saut dans sa table et baisse le TTL de 1.

★ Pour aller plus loin

Programme et données passent par le même bus : en 1977, John Backus a baptisé ce frein le goulot d'étranglement de von Neumann. Les processeurs le contournent avec des mémoires cache, souvent séparées pour les instructions et les données, comme dans l'architecture de Harvard.

Tape tracert education.gouv.fr dans l'invite de commandes de Windows (traceroute sous macOS ou Linux) : grâce au TTL, il fait défiler les routeurs traversés. En Terminale, tu verras comment RIP (qui compte les sauts) et OSPF (qui préfère les liaisons rapides) construisent ces tables.

Sources pour creuser

  • Numérique et sciences informatiques 1re : 30 leçons avec exercices corrigés, Balabonski, Conchon, Filliâtre et Nguyen (Ellipses).
  • Informatique et sciences du numérique, Gilles Dowek et ses coauteurs (Eyrolles).
  • Les chaînes YouTube Micode et Underscore_ ; cherche aussi « modèle de von Neumann NSI ».
  • Le simulateur AQA de Peter Higginson (processeur) et le logiciel libre Filius (réseau).
  • Le programme de NSI sur eduscol.education.fr.