Windows, Linux, Android, qu'est ce que c'est ?

Windows, Linux, Android, qu'est ce que c'est ?

Des systèmes d’exploitation pardi ! Aussi appelé OS (Operating System) dans la langue de Sheakspeare. Ce sont des logiciels qui ont été créé pour administrer le matériel qui compose un ordinateur. Mais avant de découvrir pourquoi ces systèmes d’exploitation ont été créés, on va définir en grosse maille ce qu’est un logiciel.

Logiciels, programmes ou applications ?

Vous vous souvenez des machines “reconfigurables” du 1er article ? He bien ce qui “configure” les ordinateurs, ces sont des logiciels ou des programmes. Toute machine programmable est un ordinateur,
et pour le coup un programme, c’est une suite d’instructions compréhensibles par la machine qui vont définir les actions qu’elle va devoir entreprendre.

Une application par contre est destinée à l’utilisateur final : Firefox pour naviguer sur internet ou VLC pour regarder des films sont des programmes par exemple. Windows et Linux sont des logiciels de type système d’exploitation, leur but et de gérer (d’exploiter) le matériel de l’ordinateur. Après cette définition minime, revenons aux OS.

Pourquoi ont été créés les systèmes d’exploitation ?

Et bien pour LA raison de base qui régit le monde, ou en tout cas une bonne partie : pour faire des économies.

Lorsqu’un développeur veut créer une application et que le système d’exploitation n’existe pas, alors il doit prendre en compte le matériel de tous les types d’ordinateurs sur lesquels son application va fonctionner. Il doit également tenir compte des ordinateurs qui n’ont pas encore été commercialisé et ça, à part avoir une boule de cristal, ce n’est pas possible.

De plus, soyons fou, disons qu’une équipe de développeurs crée une application qui doit tourner sur tous les ordinateurs existants. Si une autre équipe crée une autre application pour la même machine, une bonne partie de leur travail a déjà été fait. L’humain étant pas mal flemmard, lorsqu’un travail a déjà été effectué et qu’il peut le réutiliser, il le fait. En ce qui nous concerne, la prise en compte du matériel a déjà été effectuée par l’équipe 1, du coup l’équipe 2 va la réutiliser. Vous voyez ce qui vient après ?

Comment faire pour réutiliser le travail des autres ?

En créant des composants logiciels qui discutent les uns avec les autres (hein, mais de quoi il cause ?). Laissez-moi m’expliquer avec des petits schémas car ça vaut mieux qu’un long paragraphe :

Applications vs OS

Les applications 1 et 2 ont été représentées sur deux machines différentes à gauche. La machine de droite possède un système d’exploitation et des applications. Toute la gestion du matériel qui a été créée par les équipes 1 et 2 a été mise en commun dans le système d’exploitation. Les applications de la troisième machine n’ont pas connaissance du matériel qui compose la machine, elles n’interagissent pas avec lui, elles interagissent uniquement avec le système d’exploitation.

Vous remarquerez également que sur la troisième machine tournent des applicationS et ça, ce n’est pas négligeable : un des buts du système d’exploitation est de pouvoir faire fonctionner plusieurs applications en parallèle. Lorsque vous lisez ce blog sur votre smartphone, quelqu’un peut vous appeler ou vous envoyer un message : le navigateur, l’application d’appels et de messagerie tournent en parallèle.

On peut encore aller plus loin car le “matériel” décrit dans cet article est en fait un ensemble de composants électroniques : dans votre smartphone la caméra prend des photos, le micro capte le son quand vous parlez et le gyroscope permet au smartphone de savoir dans quelle position il est. Ces composants électroniques sont fabriqués par différents industriels et cela soulève une question.

Comment l’OS fait pour être compatible avec tous les composants électroniques ?

En créant une autre couche d’abstraction, d’autres composants logiciels : les drivers.

Les drivers, les conducteurs de matériels

Chaque fois qu’un industriel met sur le marché une nouvelle caméra pour smartphone par exemple, il va également créer un driver qui viendra faire l’interface entre la caméra et le système d’exploitation cible. Ce sera le seul but du driver. L’OS peut donc être installé sur n’importe quel matériel (théoriquement) tant que les drivers pour le système d’exploitation cible sont disponibles.

Pour les plus anciens d’entre nous, on se rappelle de l’époque bénie des années 2000 (coucou Windows 98) ou à chaque fois que l’on achetait une nouvelle souris ou un nouveau clavier, il fallait également installer les drivers livrés avec l’appareil sous forme de petit CD. En même temps c’est normal, comment voulez-vous que l’OS (Windows) sache interagir avec le nouveau matériel (la souris) si on ne lui indique pas comment faire.

Heureusement maintenant, il existe de nouvelles méthodes de détection automatique du matériel et Windows va télécharger automatiquement les drivers. Malheureusement, Windows est connu pour ne pas être très débrouillard en matière de drivers, je vous conseille SDI drivers qui est excellent (téléchargez uniquement la version Lite) ainsi qu’un petit tuto ici pour savoir comment l’utiliser. Pensez bien à créer un point de restauration, j’ai déjà eu quelques écrans bleus avec SDI.

En résumé

Ouf, on y est arrivés. Nous avons vu qu’un système d’exploitation, qu’il soit pour smartphone, PC personnel ou même pour un microcontrôleur sert d’interface entre les applications et le matériel. Dans ce système d’exploitation, il y a des petits composants logiciels (les drivers) qui pilotent les différentes cartes électroniques qui composent l’ordinateur. Notre modèle commence à prendre forme mais il lui manque un concept primordial : les interfaces qui feront un nouvel article dès la semaine prochaine.

N’hésitez pas à réagir en commentaire, on commence tout doucement à rentrer dans le fonctionnement d’un ordinateur et la suite promet d’être mieux 😃.

Commentaires

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×