[Page d'accueil] [Sitemap] [Actualité] [Tous les OS] [Téléchargement] [Liens] [Le projet] []
L'article




611 mots.

Cette page n'est plus mise à jour en français. Pour obtenir les dernières informations, veuillez consulter la version anglaise.

Bases

Le modèle suivant permet de mieux se représenter la structure en couches des systèmes d'exploitation et de comprendre comment celui-ci s'intercale entre le matériel et les programmes des utilisateurs. Après 1969, les ordinateurs fonctionnant selon le principe du traitement par lots (manuels, contrôle de flux et gestion de ressources lents) furent progressivement remplacés par des ordinateurs à temps partagé (programmés, contrôle de flux et gestion de ressources rapides). Ce changement marqua le début d'une nouvelle ère, car il a rendit plus facile l'utilisation des ordinateurs tout en apportant des gains de performances.

La formulation suivante présente très bien la structure générale:
"Plus il y a de couches logicielles autour du matériel, plus il est aisé d'en améliorer l'ergonomie. Ces couches abstraites facilitent les phases de conception et d'installation."

Ce modèle est purement schématique, et pour une comparaison avec des modèles de systèmes d'exploitation réels, on pourra consulter:

BeOS|JavaOS|Linux|OS/2|Solaris
Windows 98|Windows CE|Windows NT|Windows XP
Windows Server 2003

Modèle du système d'exploitation


Matériel
Chaque fonction du système d'exploitation s'accomplit soit par un accès direct au matériel, soit par l'intermédiaire de la couche des pilotes. L'accès direct au matériel permet des gains de performance, au contraire des couches liées à la sécurité.

Couche 1: HAL (Hardware Abstraction Layer)
La couche HAL fait le lien avec une plate-forme matérielle, spécialement conçue pour l'architecture d'un processeur donné. Les architectures x86, Alpha, PowerPC ou Sparc en sont des exemples. Lorsque la portabilité d'un système d'exploitation est primordiale, la HAL joue un rôle central et tout dépend d'elle.

Couche 2: système de fichiers, pilotes
L'une des tâches les plus importantes du système d'exploitation est la gestion d'un ou de plusieurs systèmes de fichiers, réalisée virtuellement à l'aide des pilotes . Il en est de même pour les fonctions de cryptage ou la compression. Les pilotes pour les composants matériels standards tels que le clavier, les ports LPT ou COM sont supportés de façon rudimentaire directement depuis le système d'exploitation, par exemple le système DOS. Les systèmes d'exploitation modernes sont accompagnés de pilotes pour la plupart des composants matériels. Des fonctionnalités étendues et des performances plus élevées peuvent être obtenues en utilisant les pilotes fournis par les constructeurs eux-mêmes.

Couche 3: Gestion
La couche de gestion permet aux processus système de coopérer, grâce au mutli-tâche coopératif, préemptif ou temps-réel. Le système d'exploitation accorde à chaque processus un temps machine, une mémoire et des ressources d'E/S en fonction de sa priorité.

Couche 4: Interface avec le système (Noyau)
Les interfaces système se placent entre le noyau du système d'exploitation et les API, et forment souvent une ligne de séparation entre le module processeur et le ring 0 du noyau.

Couche 5: API (Application Program Interface)
Grâce aux interfaces comme l'API Win32, les applications peuvent profiter des fonctionnalités de base des systèmes d'exploitation, comme les boîtes de dialogue d'ouverture ou de copie de fichiers. Ces fonctionnalités sont accessible à tous les autres programmes à travers des interfaces bien définies et paramétrées. Les services de dial-up en sont un exemple.

Bibliothèques
Les bibliothèques mettent à disposition du système d'exploitation et des programmes applicatifs des morceaux de programmes tout prêts, dont le but est de faciliter l'accès à certaines fonctions. Grâce aux bibliothèques (.dll, .OCX, ...), les développeurs peuvent facilement et rapidement réutiliser des fonctions utiles, sans avoir à les reprogrammer eux-mêmes.

Applications
Les programmes applicatifs utilisent les ressources et les accès aux périphériques que leur attribue le système d'exploitation. L'utilisateur interagit avec l'ordinateur à l'aide de périphériques d'entrées/sorties appropriés.