Aller au contenu

L'ascenseur, un système d'exploitation en miniature

Imagine un édifice de 15 étages avec 2 ascenseurs. À l’heure de pointe du matin, des dizaines de personnes appuient sur les boutons d’appel à différents étages, montent, descendent, sortent — le tout en même temps. Quelqu’un doit coordonner tout ça.

Ce « quelqu’un », c’est un système de gestion — et il fait exactement le même travail qu’un système d’exploitation : recevoir des demandes, gérer des ressources limitées, décider qui passe en premier, et garder une trace de tout ce qui se passe.

À la fin de cette activité, tu devrais être capable de :

  • identifier les ressources qu’un système d’exploitation doit gérer ;
  • expliquer comment un OS priorise et ordonne les demandes ;
  • décrire le rôle de la journalisation (logging) dans un système ;
  • faire le lien entre ces concepts et la gestion de requêtes sur un serveur web.

Un système d’exploitation gère des ressources : le processeur, la mémoire, le stockage, les périphériques. Ton ascenseur a aussi des ressources à gérer.

Dresse la liste des ressources physiques et logiques que ton système d’ascenseur doit surveiller.


Il est 8h30. Voici la situation :

  • Cabine A est au 7e étage, elle monte.
  • Cabine B est au 2e étage, elle est immobile.
  • Demandes en attente :
    • Étage 1 → veut monter (3 personnes)
    • Étage 5 → veut monter (1 personne)
    • Étage 12 → veut descendre (2 personnes)
    • Étage 9 → veut monter (1 personne)
    • Étage 3 → veut descendre (1 personne)
    • Étage 6 → alarme incendie déclenchée
  1. Ordre de traitement Décide dans quel ordre chaque cabine devrait répondre aux demandes. Justifie tes choix : pourquoi cet ordre et pas un autre ?

  2. Stratégie d’ordonnancement Décris ta stratégie en termes généraux. Par exemple : « La cabine continue dans sa direction actuelle et s’arrête aux étages demandés sur son chemin avant de changer de direction. » Comment ta stratégie gère-t-elle le cas où les deux cabines sont sollicitées au même étage ?

  3. Gestion de l’urgence L’alarme incendie à l’étage 6 change-t-elle ta stratégie ? Que devrait faire le système quand un événement prioritaire survient ? Quelles demandes normales sont interrompues ou retardées ?

  4. Et si la charge augmente ? À 8h45, dix nouvelles personnes arrivent au rez-de-chaussée. Ton système de 2 ascenseurs suffit-il ? Quelles options as-tu si la demande dépasse la capacité ?


Un OS offre des interfaces pour interagir avec le système : la ligne de commande, l’interface graphique, les appels système. Ton ascenseur aussi a besoin d’interfaces — et pas une seule.

Conçois deux interfaces distinctes :

Interface passager (utilisateur régulier)

Interface de maintenance (administrateur système)


Quand un serveur web plante à 3h du matin, personne n’est là pour voir ce qui s’est passé. La seule chose qui reste, ce sont les logs. C’est pareil pour un ascenseur : le journal des événements est la mémoire du système.

Conçois le système de journalisation de ton ascenseur.

  1. Quels événements enregistrer ? Fais la liste des événements que ton système devrait consigner. Pense aux catégories : opérations normales, avertissements, erreurs, urgences.

  2. Quel format ? Propose un format pour chaque entrée de journal. Quelles informations chaque entrée devrait-elle contenir ? (horodatage, identifiant de cabine, type d’événement, détails…)

  3. Exemples concrets Rédige 5 entrées de journal qui racontent une séquence réaliste — par exemple, un trajet normal suivi d’un incident.

  4. Conservation et accès Combien de temps les journaux devraient-ils être conservés ? Qui devrait y avoir accès ? Les journaux de maintenance et les journaux d’utilisation devraient-ils être dans le même fichier ?


Tu viens de concevoir un système qui reçoit des demandes, alloue des ressources, gère des priorités et journalise des événements. Un serveur web fait exactement la même chose.

Complète le tableau suivant en identifiant l’équivalent serveur web de chaque élément de ton système d’ascenseur :

ConceptDans ton ascenseurÉquivalent serveur web
Demande d’un utilisateurAppui sur un bouton d’appel?
Ressource principaleCabine d’ascenseur?
File d’attenteDemandes en attente à différents étages?
OrdonnancementTa stratégie de la partie 2?
Limite de capacitéPoids max / nombre max de passagers?
Répartition de charge2 ascenseurs se partagent les demandes?
Événement prioritaireAlarme incendie?
Interface utilisateurBoutons et afficheur dans la cabine?
Interface administrateurPanneau de maintenance?
Journal des événementsLogs de la partie 4?
Panne d’une ressourceAscenseur en maintenance?