Système d'exploitation et matériel, comment fonctionnent-ils ensemble sur un PC ?

Peu importe si vous utilisez Windows, Linux/Unix, macOS ou tout autre type de système d'exploitation. Tous remplissent la même fonction qui est de communiquer le logiciel avec le matériel, d'effectuer la gestion des routines et des processus et de nombreuses autres tâches. Quel est le rôle du système d'exploitation dans votre système et comment est-il lié au matériel ?

Chaque PC n'est rien de plus qu'un système matériel et logiciel intégré où le système d'exploitation est ce que nous pourrions appeler le programme le plus important en servant de pont entre les programmes et le matériel lui-même. Sans le système d'exploitation, alors les programmes ne pourraient pas interagir avec le matériel, puisque nous parlons de deux mondes différents : le premier, qui est fondamentalement intangible et qui est celui des programmes ou des logiciels, et le second, qui est celui des processeurs. et les souvenirs.

Système d'exploitation et matériel, comment fonctionnent-ils ensemble sur un PC

En réalité, lorsque l'un d'entre nous utilise une application sur l'ordinateur, nous n'utilisons pas seulement cette application, l'application utilise le système d'exploitation, qui à son tour utilise le matériel. Donc, si par exemple vous écrivez maintenant un email ou en lisant cet article, alors vous devez savoir que ce que vous voyez à l'écran est le produit de cette relation entre le logiciel, le système d'exploitation et le matériel.

Les premiers systèmes d'exploitation étaient simples, mais à mesure que la puissance du matériel augmentait, il leur est devenu possible de faire de plus en plus de choses, tandis qu'en même temps le système d'exploitation devait les gérer. Nous ne pouvons pas non plus oublier la grande variété de matériel qui existe pour PC aujourd'hui. La plupart sont des produits génériques, mais d'autres nécessitent une communication spécifique pour fonctionner correctement.

Le système d'exploitation décide quoi, où et quand les choses s'exécutent

Processos Sistema Operativo

Les programmes ne sont rien de plus qu'une série d'instructions séquentielles que le Processeur doit s'exécuter, il est vrai qu'un programme a des sauts et des boucles, si nous sommes stricts un programme n'est rien de plus que cela. Dans chaque programme, il peut y avoir plusieurs sous-programmes qui s'exécutent en parallèle ou en série. Quoi qu'il en soit, ceux-ci doivent être exécutés sur le processeur et il existe des dizaines de routines et de processus que le système d'exploitation doit gérer à tout moment.

Les programmes ne décident pas processus ou routine est exécuté à chaque instant, ni où et encore moins quand. C'est le travail du noyau du système d'exploitation qui gère les différents processus. Vous avez sûrement déjà donné le gestionnaire de tâches, en particulier à l'onglet des processus d'arrière-plan.

Eh bien, tout cela est ce que le système d'exploitation doit gérer et il doit le faire de telle sorte que chacun des programmes reçoive le temps de traitement de la CPU dont il a besoin. Lorsqu'un programme ou le PC est lent, c'est parce que le système d'exploitation ne dispose pas de suffisamment de puissance (ou d'optimisation si nécessaire) de la part du CPU pour effectuer ses tâches quotidiennes.

Client VIP sur RAM et processeur

Système Opérationnel Processus Mémoire

Le système d'exploitation fonctionne comme le reste des programmes de RAM, mais pour éviter que le reste des programmes n'interfère avec son fonctionnement et même modifie les données et instructions manipulées par le système d'exploitation, il s'agit de réserver un espace RAM exclusivement pour le système d'exploitation auquel aucun autre programme ne peut en aucun cas dans des conditions normales.

Parce que le système d'exploitation est celui qui communique avec le matériel, il a une hiérarchie au-dessus du reste des programmes, car lors de la gestion de l'exécution des routines, le système d'exploitation a également accès à l'espace RAM des programmes . En d'autres termes, le système d'exploitation est comme une femme de ménage qui a accès à toutes les pièces du manoir qui seraient de la mémoire, tandis que les programmes auraient un accès limité. Dans le cas où nous utilisons un système d'exploitation virtualisé, l'hyperviseur du système d'exploitation est celui qui a un accès direct au matériel.

Cependant, rien n'est parfait et il y a des moments où des failles de sécurité peuvent être créées qui sont exploitées par certains programmes pour exécuter du code dans l'espace du système d'exploitation. Par exemple, les virus informatiques sont ainsi appelés parce qu'ils parviennent à infecter la partie de la mémoire attribuée au système d'exploitation avec leur code, leur permettant d'échapper à son contrôle.

Communication entre le système d'exploitation et le matériel

pilote sistema operativo

Dans le PC, l'accès au matériel s'effectue à l'aide de certaines adresses mémoire , qui, lors de l'envoi de données, ne provoquent pas d'effet de lecture ou d'écriture de celles-ci dans la RAM, mais finissent par générer une action spécifique sur le matériel associé à cette adresse mémoire. Soit automatiquement, soit à défaut, les données servent de méthode de saisie à ladite fonction. Aujourd'hui, en raison de l'énorme quantité de routines et de processus exécutés, les pilotes sont utilisés pour communiquer les programmes avec le matériel.

Par conséquent, lorsque le système d'exploitation nécessite l'accès à certaines fonctions matérielles, il rend les chauffeurs fonctionnent. Un conducteur n'est rien de plus qu'un abstraction du fonctionnement du matériel. En informatique, nous appelons abstraction un programme qui émule un élément autant que possible. Dans le cas particulier du pilote, il n'émule pas le matériel dans son intégralité, mais ce qu'il fait, c'est émuler son Interface de Communication . Le pilote lui-même est alors celui qui transforme cela en instructions que le matériel comprend pour que le système d'exploitation puisse communiquer avec les différents composants et périphériques du PC.

Malgré le fait que dans l'architecture x86 l'adressage de la mémoire et des E/S est unifié à des niveaux pratiques et aujourd'hui il est séparé, puisque l'accès en général bien qu'il se fasse via le MMU , c'est le IOMMU qui est en charge de la communication avec les périphériques, qui est subordonné au premier.

Bref, le matériel et le système d'exploitation sont essentiels parmi eux, ils ne fonctionnent en aucun cas seuls et ils ont besoin d'un troisième acteur comme les pilotes, ce qui complique encore plus l'ensemble du framework dans toutes ses fonctions.