Accueil > Logiciels du système >
À part les périphériques comme le clavier, la souris, le microphone, etc. vous n’avez jamais manipuler directement les composants d’un ordinateur pour traiter les valeurs binaires.
Entre vous et la machine réelle se trouve une ou plusieurs couches qui s’appellent la machine virtuelle. Elle est plus intuitive à utiliser. C’est sa tâche de traduire toutes vos interactions avec l’ordinateur en binaire pour la machine réelle.
Les parties de la machine virtuelle que vous manipulez s’appellent l’interface utilisateur. Il y a d’autres parties de la machine virtuelle qui sont utilisées par les logiciels afin qu’elles aient accès aux ressources de l’ordinateur. Cette partie s’appelle l’interface de programmation.
Un autre nom pour la machine virtuelle principale sur un appareil est le système d’exploitation, comme Windows, macOS, iOS, Android, Ubuntu.
À la fin de cette leçon vous devrez être en mesure de :
On ne manipule pas des bits ni des octets en travaillant avec un ordinateur. On utilise un clavier, une souris, etc. On travaille alors avec une machine virtuelle qui traduit nos gestes en informations et instructions binaires pour la machine réelle. C’est encore un niveau d’abstraction plus élevée, comme les portes logiques, les composants et les systèmes de l’architecture von Neumann : les détails du fonctionnement de la machine réelle sont cachés.
Pour rendre un ordinateur pratique pour un utilisateur du grand public qui n’est pas nécessairement expert en informatique, les systèmes d’exploitation ont été développés, p. ex. MS-DOS, Apple DOS (des “Disk Operating Systems”), Unix, Windows, macOS, iOS, Android, Linux/GNU, ChromeOS. Un système d’exploitation est une suite de logiciels qui présente une interface entre l’utilisateur et le matériel physique. Cette interface est une machine virtuelle ou environnement virtuel.
La machine virtuelle fait les quatre choses suivantes :
Les utilisateurs ne manipulent pas directement le matériel de l’ordinateur. Ils utilisent une interface utilisateur pour demander des ressources ou des services. Par exemple, un utilisateur peut cliquer sur une icône pour ouvrir un fichier. L’interface utilisateur, au moyen d’une suite de logiciels du système, traduit ce geste en une série d’instructions binaires pour la machine réelle.
De même, toutes les applications installées sur un système d’exploitation n’accède pas directement au matériel. Elles utilisent une interface de programmation pour demander des ressources ou des services au système d’exploitation. Par exemple, une application de traitement de texte n’écrit pas directement sur le disque dur. Elle demande au système d’exploitation de le faire pour elle.
Dans les deux cas, les interfaces font le pont entre des demandes externes (d’une personne ou d’un programme) en les passant à une interface interne - aussi appelé le noyau - qui est en mesure d’exploiter les ressources matérielles directement via des données et des instructions en format binaire correspondant directement à l’architecture matérielle installée.
Les fonctions, structures de données et protocoles qui permettent aux applications de tous les niveaux (interne/noyau, utilisateur/shell) de demander des services aux autres applications. Par exemple, une application de traitement de texte peut demander à une application de navigateur web de lui afficher une page web via l’API de l’application de navigateur web.
aucun quiz de vérification des concepts ici encore
Vous devrez faire le geste pour voir au moins les étapes visibles de l’interface utilisateur (les différentes vues/fenêtres et interactions que vous faites). Ensuite, tentez d’associer vos gestes aux réponses du système via la machine virtuelle (services du système) et la machine réelle (architecture Von Neumann).
Raisonnable signifie que la séquence devrait être cohérente avec les différents services du système et les différents composants matériels mais pas nécessairement complète ou exacte (ce qui nécessite plus de connaissances et plus de détails sur le contexte… ce sera un sujet pour un cours spécialisé sur les systèmes d’exploitation à l’université). ↩