
Dans les articles précédents de la série Histoire de l’ordinateur, nous avons discuté des codes machine, des programmes et des mémoires. Nous avons également mentionné que de nombreux types de mémoire sont volatiles, c’est-à-dire que si nous coupons l’alimentation, la mémoire perd ses données. Alors, comment les données de votre ordinateur sont-elles arrivées là ? Est-ce comme la théorie du Big Bang de l’univers ? vient-il d’apparaître ? Si vous avez déjà dû recharger un système d’exploitation, ainsi que tous les autres programmes que vous utilisez, vous saurez que ce n’est pas une tâche simple de le mettre sur le disque ! Après cela, vous devez le mettre en mémoire – chaque fois que vous « démarrez » !
Qu’entend-on par démarrage ? Mon ancien instructeur de mon premier cours d’ingénierie informatique l’appelait un «chargeur binaire bootstrap». C’est un indice ! On dit que le terme provient de contes fictifs d’un personnage allemand dont vous avez peut-être entendu parler, le baron von Munchhausen.
Ses exploits ont été sérialisés dans des bandes dessinées et autres, avec Dick Tracey, etc. Un conte célèbre l’a fait chevaucher un boulet de canon et, décidant que ce n’était pas une si bonne idée, passer à un boulet de canon ennemi allant dans la direction opposée, pour revenir à ses côtés.
L’histoire scandaleuse qui nous intéresse ici fait référence au moment où il est tombé dans un marais, mais a pu se sauver en se tirant par les cheveux. Les versions ultérieures de ce conte l’ont fait se soulever par ses propres bottes. Cette expression « se tirer par ses propres bottes » était courante à une époque. Cela signifiait vous sortir de vos propres problèmes.
Tout cela n’a pas grand-chose à voir avec les ordinateurs, mais cela décrit la façon dont ils démarrent !
Les premiers ordinateurs numériques étaient chargés à partir de bandes de papier ou de cartes perforées, plus tard de bandes magnétiques, puis de disques. Vous savez peut-être qu’avant Windows, il y avait DOS, qui fait référence à un système d’exploitation basé sur disque.
Sur un ordinateur central, il y a un système d’exploitation, qui agit comme une interface entre la machine et l’utilisateur. Ce système d’exploitation est connu sous le nom de « Exec » (Executive) ou « MCP » (Master Control Program), etc., en fonction du système informatique propriétaire utilisé. (Les nouveaux employés ont été surpris d’apprendre qu’ils devaient « démarrer l’exécutif tous les matins » – un roulement élevé de PDG ?). C’est à peu près équivalent au système d’exploitation Windows ou Linux sur votre PC.
Le système d’exploitation gère toutes les entrées des utilisateurs, alloue des tranches de temps et hiérarchise les travaux, contrôle les travaux d’impression, alloue le stockage de masse, etc. Lorsque vous parlez à l’ordinateur, il n’entend que ce que le système d’exploitation lui dit ! Le système d’exploitation peut parler à l’ordinateur dans sa propre langue. Ainsi, le système d’exploitation doit être capable de se charger à partir d’un disque ou d’une bande dans la mémoire.
Pour ce faire, nous disposons d’un système dans lequel un bloc de données, appelé « bloc de démarrage », et situé au tout premier bloc d’une bande papier, ou d’une bande magnétique, ou de l’adresse 00 sur un disque, est lu en mémoire à emplacement zéro à partir de. Cette ‘commande de démarrage’ est généralement une instruction de lecture à partir de l’adresse 00 sur le périphérique 00.
Les données, contenues dans le bloc de démarrage, chargent les zones tampon nécessaires pour gérer un transfert d’E/S de données dans la zone « réservée » de la mémoire, etc., prêtes à communiquer avec le périphérique de démarrage, par exemple le disque contenant le système d’exploitation. Après avoir configuré tous les tampons nécessaires, l’ordinateur lit et exécute les instructions à partir de 00. Ces instructions, qui viennent d’être chargées à partir du bloc de démarrage du disque, terminent le processus d’installation.
La dernière instruction du bloc de démarrage est une commande de lecture sur le disque, pour charger le reste des données pour le système d’exploitation. Ces données écrasent les données du bloc d’amorçage en mémoire avec les données normales requises pour faire fonctionner le système. Une fois les données chargées, le système d’exploitation peut démarrer les opérations.
Il doit initialiser tous les sous-systèmes et vérifier quelles ressources sont disponibles. Il a besoin de savoir combien de mémoire il y a, quelles données sont disponibles sur le stockage de masse, quelles ressources réseau sont disponibles, etc. Pour ce faire, il peut se référer à une configuration précédente, qu’il compare ensuite à ce qu’il peut voir maintenant. Alternativement, pour un démarrage « propre », il vérifie les ressources dont il dispose et fonctionne à partir de là.