Logo de SAASF

Les systèmes d'exploitation

Pour utiliser correctement le plein potentiel d'un ordinateur, il existe un logiciel qui facilite la tâche : le système d'exploitation. Cependant, c'est un mot un peu fourre-tout, qui peut être lié à beaucoup de choses, que nous allons découvrir ici.
Contenu

Qu'est ce qu'est un système d'exploitation ?

Un système d'exploitation est, par définition, une suite de programme permettant d'utiliser un ordinateur. En effet, ce n'est pas un seul programme, mais un ensemble de programmes permettant l'utilsation d'un ordinateur. Il agit à plusieurs niveaux de l'ordinateur, que ce soit très proche de l'hardware, comme proche de l'utilisateur.

Le premier programme lancé est un programme appelé le bootloader (ou chargeur d'amorçage en français). Le bootloader permet d'amorcer le système d'exploitation pour qu'il puisse démarer. Il est lancé par le logiciel le plus bas niveau de l'ordinateur : le BIOS. Le BIOS peut savoir où se situe le bootloader sur le disque grâce à un très précis système de cartographie du disque. Un des plus célèbres bootloader est le bootloader possible pour Linux : GRUB.

Le logiciel venant juste après est le kernel (ou noyau du système d'exploitation). Le kernel permet de faire l'interface entre les logiciels de l'ordinateur et l'hardware. C'est lui qui gère en vrac : la gestion de la mémoire, le travail du processeur, les interfaces IN / OUT... C'est lui qui rend l'ordinateur utilisable. Il est cependant très complexe, et doit gérer une quantité aberrante de choses.

Finalement, viens au dessus l'interface utilisateur. Elle permet l'utilisation de l'ordinateur pas l'utilisateur. Plein de façons de faire existent, comme Unix (avec des lignes de commandes, dans un bien connu shell).

Contenu

Les différentes tâches du Kernel

Comme nous l'avons vu plus haut, le kernel est l'interface entre les logiciels et l'hardware. Il doit donc permettre de faire une liaison des deux, et doic donc adopter l'extrême rigueur de l'hardware, comme l'adaptabilité des logiciels. Pour cela, il doit pouvoir réaliser plusieurs tâches, décrites en partie ici.

Distribuer les performances

Sur un ordianteur, vous pouvez lancer plusieurs logiciels en même temps. En effet, chaque logiciel fonctionne en même temps que tous les autres. Ceci est possible grâce au système de fil d'éxecution, aussi nommé "thread". Un thread représente une suite d'instructions à exécuter par l'ordinateur. Le rôle du kernel ici est de gérer plusieurs threads, de tel manière à exécuter une partie d'un thread, puis d'un autre, puis d'un autre... Grâce à cela, tous les threads s'exécutent petit à petit, en même temps. Chaque thread est exécuté pendant plus ou moins de temps selon son importance. Le thread primaire d'un programme est appelé un processus, et est visible via le gestionnaire de tâche (pour l'afficher, il faut saisir les touches contrôle + shift + échap). Le processus inclut ses sous-threads dans son exécution et les regroupe aux yeux du gestionnaire de tâche.

Le stockage de données

Le kernel permet de facilement gérer et stocker des données via des périphériques de stockage, interne ou externe. Pour cela, premièrement, il décompose chaque périphérique en partition de stockage. Pour manipuler les données dans ces partitions, il utilise des normes strictes nommées les systèmes de fichiers. Elles permettent d'oganiser proprement les données, stockées dans des groupes nommés "fichiers", pour rendre la partition utilisable. Il y a pas mal d'exemples de systèmes de fichiers célèbres, comme NTFS de Microsoft, ou FAT32. Pour créer un système de fichiers, il existe certains standards permettant de rendre les systèmes cross-plateforme, comme POSIX.

Cela représente la partie cachée de l'iceberg. Cependant, un utilisateur classique n'aura jamais besoin de tout ça. Le système est grandement simplifié pour lui, avec un système de stockage par fichiers, dossiers (pouvant contenir des fichiers) et chemins d'accés. Le chemin d'accés représente l'adresse d'un fichier pour y accéder via le système d'exploitation. Il est entièremement sour format textuel. La première partie du chemin représente la partition sur laquelle aller chercher le fichier, qui, dans ce cas là, est considérée comme un dossier. Sur Windows, un fichier commençant par "C:" se trouve sur la partition "C" (ici, celle où est installé Windows). Sur Linux, un fichier commençant par "./" se trouve sur la partition où est installé la distribution Linux. L'accés à l'intérieur d'un dossier est possible grâce au caractère "/" (ou "\" des fois sur Windows). L'avantage de ce système est la possibilité de l'utiliser, non en partant de la partition, mais en partant d'un autre chemin d'accés. Un chemin d'accés utilisé comme tel est appelé un chemin d'accés relatif. Par exemple, si vous partez du chemin d'accés vers le dossier "C:/documents/images/", le chemin d'accés relatif "photo.png" serez ici en entier "C:/documents/images/photo.png". En utilisant les caractères "../", vous pouvez accéder aux dossier contenant le chemin d'accés d'où vous partez. Par exemple, si vous partez du chemin d'accés vers le dossier "C:/documents/images/", le chemin d'accés relatif "../cours/science.pdf" serez ici en entier "C:/documents/cours/science.pdf".

L'intégration des périphériques

Un ordinateur peut être connecté à beaucoup de choses. En général, il s'agit de chose assez générale, ne posant aucun problèmes. Cependant, certains périphériques complexes peuvent nécessiter une communication spécifiques, via un programme spécifique. Ce programme est nommé un pilote (ou, en anglais, un driver). Les périphériques les plus communs utilise une fonctionnalité nommé "Plug-And-Play", pour très vite détecter le périphérique, sans chose à faire pour l'utilisateur. D'ailleurs, si vous avez une erreur de pilotes dans un logiciel, c'est que vous n'avez pas le pilote nécessaire d'installer (ils sont en général disponibles sur le site web du fabricant). Cette erreur arrive souvent aux utilisateurs de nouvelle carte graphique, car les pilotes de la carte graphique (AMD Software pour AMD et NVidia Geforce Experience pour NVidia) ne sont pas encore installés. De plus, utiliser les pilotes n'est pas chose facile, puis ce que chaque système d'exploitation utilise des techniques différentes, nécessitant un pilote par système d'exploitation. Ils sont trouvables dans le dossier "drivers" de System32 sous Windows, ou via le gestionnaire de périphériques. Sur Windows, les drivers sont généralement automatique mis à jour si nécessaire.