Machine logique et modèle des couches
Passer de la physique à la logique
Dans la couche d'abstraction la plus basse, un ordinateur est une machine électronique, parcourue de signaux caractérisés par des valeurs de potentiel et courant électriques.
Ensuite, on fait abstraction des détails en considérant que ces potentiels et courants peuvent se résumer par des valeurs 0 et 1 : un courant qui passe ou pas, un potentiel au-dessus d'un certain seuil ou pas.
Toutes les couches d'abstraction suivantes sont construites sur la base de cedtte suite de zéros et uns.
Si on prend un seul 0 ou 1, appelé chiffre binaire (en anglais: binary digit ou bit), on a déjà une information, la plus simple possible : une valeur Vrai ou Faux. C'est le type d'information le plus simple, sur lequel tous les autres sont construits.
À ce niveau, on a fait abstraction de la machine physique pour arriver à une machine logique : une machine qui travaille avec la logique classique fondée sur le traitement des valeurs Vrai et Faux avec toute une série d'opérations logiques (dont la négation et les opérations et, ou inclusif, ou exclusif, etc.). Les couches supérieures se construisent toutes par dessus, en encodant aussi bien l'information que les instructions avec des 0 et des 1, ou des "vrai" et "faux".
Modèle des couches
Entre la machine physique et l'utilisateur humain, il y a plusieurs niveaux ou "couches d'abstraction". On peut les résumer comme ceci:
- couche matérielle: la machine physique (faite de multiples composants matériels, dont beaucoup sont des circuits électroniques miniaturisés)
- couche numérique binaire: à chaque lieu de la machine (notamment chaque "patte" de chaque "puce") et à chaque instant (à chaque cycle d'horloge), le potentiel électrique est au-dessus ou au-dessous d'un certain seuil, ce qui peut être interprété par la valeur 0 ou 1; ainsi, l'état de la machine à chaque instant et en chaque composant peut être décrit comme des suites de 0 et de 1. Par la suite, ces 0 et 1 sont interprétés comme des codes représentant toutes sortes de types de données, ainsi que des instructions pouvant être exécutées par la machine.
- couche du système d'exploitation: il s'agit d'un ensemble des programmes exécutés dans la machine après qu'elle ait été allumée et jusqu'à ce qu'elle soit éteinte, dans le but de gérer l'accès aux ressources matérielles et en permettre l'accès aux autres programmes qui en ont besoin, en concurrence les uns avec les autres; il gère notamment les accès au processeur, à la mémoire vive et aux données stockées dans des mémoires à long terme (c'est le système d'exploitation qui présente ces données aux autres programmes sous la forme de fichiers dans une arborescence de dossiers); enfin, il gère l'accès aux périphériques d'entrée/sortie, en décidant par exemple quelle application reçoit une information tapée au clavier (entrée) et sous quelle forme visuelle une application se présente à l'écran (sortie), typiquement en fournissant à chacune une ou plusieurs "fenêtres".
- couche des applications: programmes utilisés directement par l'utilisateur; ils "cachent" les couches inférieures à celui-ci, qui ne "voit" la plupart du temps que l'interface utilisateur de l'application qu'il est en train d'utiliser; une partie du système d'exploitation peut aussi se présenter de manière semblable à une application (par exemple à travers un menu permettant d'accéder à d'autres applications)
En résumé, on passe d'un monde de signaux électronique à un monde de 0 et de 1 puis un monde de programmes, certains constituant le système d'exploitation, d'autres se servant de celui-ci, avant d'arriver enfin aux interfaces utilisateur qui sont le seul point d'accès à l'ordinateur pour la plupart des gens (à travers des "fenêtres", "menus", "boutons", etc.)