OS?

 

Au Collège de Genève, "OS" signifie "Option Spécifique. En informatique, cela signifie tout autre chose: c'est l'abréviation de Operating System en anglais, qui se traduit par Système d'Exploitation en français. Il s'agit de la couche intermédiaire entre la machine logique faite de 0 et de 1 et les applications directement visibles par l'utilisateur. Sa principale tâche est la gestion des ressources matérielles. L'OS doit par exemple allouer à chaque programme un accès à une zone de mémoire vive pour ses instructions et pour ses données. Il doit aussi gérer la concurrence entre les programmes pour accéder au processeur (obtenir son tour pour effectuer des instructions) et aux périphériques d'entrée et sortie. Quand l'utilisateur utilise le clavier ou la souris pour communiquer avec la machine, l'OS décide quel programme reçoit le message. L'OS peut aussi fournir aux programmes un accès à l'écran, typiquement sous forme de "fenêtre". Enfin, l'OS gère tous les espaces de stockage persistants, qu'il présente aux programmes non plus sous forme d'une masse de 0 et de 1 sans aucune forme, mais en tant que "fichiers" dans une arborescence de "dossiers".

 

Multiplicité des Systèmes d'Exploitation

De nos jours, les systèmes d'exploitation (= operating systems = OS) majoritairement disponibles se répartissent en trois familles:

  • La famille GNU/Linux, basée sur des programmes respectant les normes du logiciel libre (droit d'accéder à toutes les fonctionnalités, de voir et modifier le code source, de distribuer des copies librement, aussi après modifications), disponible pour les PCs.
    C'est l'OS qui laisse le plus de liberté à l'utilisateur dans la configuration de son système.
    Même si vous ne l'utilisez pas directement, vous y avez indirectement été confronté, vu que c'est l'OS le plus utilisé dans les serveurs web.
    De plus, l'OS Android pour téléphones portables en est dérivé.
  • La famille MS-Windows, logiciel propriétaire de la compagnie Microsoft, est généralement pré-installé dans les PCs vendus dans le commerce.
    C'est l'OS disponible actuellement dans les ordinateurs à André-Chavanne. D'autres Collèges utilisent une variante de GNU/Linux dans les mêmes machines, ou bien ont une configuration en dual boot  (choix de l'OS au démarrage).
  • La famille MacOS, logiciel propriétaire de la compagnie Apple, est installée dans les machines Apple/Macintosh.
    Les versions modernes utilisent un noyau Linux mais complété avec des logiciels fermés.
    Le système d'exploitation iOS pour téléphones portables de la marque iPhone (appartenant à la même compagnie) en est dérivé.

Allocation de temps de processeur et d'espace de mémoire

L'OS alloue à chaque programme (que ce soit une partie de l'OS lui-même ou bien d'une autre application) deux types de ressources indispensables:

  • un temps d'accès au processeur, pour effectuer des instructions; en effet, tous les programmes actifs travaillent en concurrence, et l'OS doit décider quelles instructions des différents programmes en cours sont effectuées à quel moment par quel processeur
  • un espace dans la mémoire vive (RAM) pour stocker les intructions qui constituent le programme, et un deuxième espace pour stocker de manière temporaire toutes les données que le programme manipule en cours d'exécution

Distribution des entrées / sorties

Lorsque la machine physique reçoit une "entrée", que ce soit un signal provenant du clavier (touche pressée, etc.), de la souris (mouvement, bouton, etc.) ou d'un autre périphérique, c'est l'OS qui décide à quel programme ce signal sera redirigé et sous quelle forme.

Lorsqu'un programme souhaite fournir une "sortie", par exemple sous forme d'affichage à l'écran, c'est l'OS qui décide si celle-ci sera effectivement visible et sous quelle forme (typiquement dans une "fenêtre", qui est peut-être totalement ou partiellement cachée).

L'OS est aussi responsable de gérer les canaux plus complexes d'entrée/sortie, comme les communications à travers un réseau et l'accès aux moyens de stockage persistant des données.

Arborescence des fichiers

Une des principales responsabilités de l'OS est de présenter aux applications des "morceaux" de mémoire à long terme (physiquement présentes dans des disques durs, disques SSD, clés USB, etc.) sous forme de fichiers (anglais: files) classés dans des dossiers (anglais: folders), aussi appelés répertoires (anglais: directories).

Les dossiers peuvent contenir des fichiers ainsi que d'autres dossiers. On peut représenter le fait qu'un dossier contient d'autres dossiers qui contiennent eux-mêmes d'autres dossiers, etc., sous forme d'une arborescence.

Dans les systèmes GNU/Linux et MacOS, l'arborescence part d'une racine unique. Dans MS-Windows, elle a des racines multiples (appelées C:, D:, etc.).

Les fichiers eux-mêmes correspondent à des blocs de données codées selon un certain format (par exemple avec le code ASCII) et contenus physiquement dans un espace de stockage (par exemple un disque SSD). L'OS "cache" les espaces physiques et "montre" une arborescence de fichiers qui en fait l'abstraction - mais les données sont quand même réellement stockées dans un espace physique! (interprété ensuite comme une suite de 0 et des 1, puis comme un fichier avec un contenu d'un certain format).

Fichiers exécutables et programmes

Les programmes eux-mêmes (donc les suites d'instructions que la machine pourra exécuter) se présentent aussi comme des fichiers, dits "exécutables": un programme est aussi une forme de donnée. Certains programmes ont été compilés en un fichier exécutable dans un format très proche de la machine, d'autres résident dans un langage de programmation plus proche de l'humain et seront interprétés lors de l'exécution.
Quoiqu'il en soit, lorsqu'un programme est exécuté, ses instructions finissent toujours par être interprétées en "langage machine" (des 0 et des 1 représentant des instructions élémentaires). L'instance en cours d'exécution du programme réside dans la mémoire vive, tandis que les instructions d'origine demeurent sous forme de fichier. D'ailleurs, plusieurs instances du même programme peuvent s'exécuter en parallèle, chacune avec son espace de mémoire, en partant du même fichier exécutable.

Modifié le: vendredi 27 septembre 2024, 10:42