Généralités sur les Systèmes d'exploitation
Mardi, 27 octobre 2009
L’ordinateur est constitué d’une partie matérielle (hardware) et d’une partie logicielle (software). La partie matérielle est constituée des circuits logiques, d’autres composants qui forment l’Unité centrale (processeur + mémoire centrale) et les périphériques. La partie logicielle est immatérielle et est constituée des programmes qui doivent être exécutés par la partie matérielle. Elle se présente normalement dans un langage binaire appelé langage machine. On peut subdiviser la partie logicielle en 02 catégories : les programmes systèmes destinés au fonctionnement de l’ordinateur et les programmes d’application qui résolvent les programmes de l’utilisateur.
Le SE est un programme fondamental des programmes systèmes. Il contrôle les ressources de l’ordinateur et fournit la base sur laquelle seront construits les programmes d’application. On peut aussi dire que le SE est l’ensemble des programmes qui administre la machine en contrôlant les constituants matériels et l’interface machine utilisateur.
Le SE peut être vu comme un dispositif permettant de réduire la complexité relative à l’utilisation d’une machine. Son rôle est de masquer les éléments fastidieux liés au matériel tels que les interruptions, les horloges la gestion de la mémoire, la gestion des processus, des périphériques…
Le SE est chargé d’assurer la liaison entre les ressources matérielles, l’utilisateur et les applications. Ainsi, lorsqu’un programme doit accéder à une ressource matérielle, il ne lui est pas nécessaire d’envoyer ces informations au système qui se charge de les transmettre au périphérique concerné par l’intermédiaire de son pilote. En l’absence de pilote, il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de périphérique. Le SE permet ainsi de dissocier les programmes et le matériel afin notamment de simplifier la gestion des ressources et offrir à l’utilisateur une IHM simplifiée afin de lui permettre de s’affranchir de la complexité de la machine physique.
1°) Gestion des processus
Le SE est chargé de gérer l’allocation des processeurs entre les différents programmes grâce à un algorithme d’ordonnancement. Le type d’ordonnancement est fonction de l’objectif visé.
2°) Gestion de la mémoire vive
Le SE est chargé de gérer l’espace mémoire alloué à chaque programme et le cas échéant, à chaque utilisateur. En cas d’insuffisance de mémoire physique, le SE peut créer une zone sur le disque dur appelée mémoire virtuelle. La mémoire virtuelle permet de faire fonctionner des applications nécessitant plus de mémoire qu’il n’y a de mémoires vives disponibles sur le système. En contrepartie, cette mémoire est beaucoup plus lente puisqu’elle se trouve sur le disque.
3°) Gestion des entrées/sorties
Le SE permet d’unifier et de contrôler l’accès des programmes aux ressources matérielles. On utilise des pilotes également appelés gestionnaires des périphériques ou gestionnaire d’entrée/sortie.
4°) Gestion de l’exécution des applications
Le SE est chargé de la bonne exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. Il permet à ce titre de tuer une application qui ne répond plus correctement.
5°) Gestion des droits
Le SE est chargé de la sécurité liée à l’exécution des programmes en garantissant que les ressources ne sont utilisées que par les programmes de l’utilisateur possédant les droits adéquats.
6°) Gestion des fichiers
Le SE gère la lecture et l’écriture dans le système de fichier (file système) et les droits d’accès au fichier par les utilisateurs, les applications,
7°) Gestion des informations
Le SE fournit un certain nombre d’indicateurs permettant de diagnostiquer le bon fonctionnement de la machine.
Le SE est composé d’un ensemble de logiciels permettant de gérer les interactions avec le matériel. Parmi cet ensemble de logiciel, on distingue généralement les éléments suivants :
- Le noyau (kernel) qui représente les fonctions fondamentales du SE telles que la gestion de la mémoire, des processus, des fichiers, des entrées/sorties principales et des fonctionnalités de communication ;
- L’interpréteur de commandes (shell) c’est-à-dire la coquille qui permet la communication entre l’utilisateur et le SE par l’intermédiaire d’un langage de commande. Ce qui permet à l’utilisateur de piloter les périphériques en ignorant tout des caractéristiques du matériel qu’il utilise, de la gestion des adresses physiques ;
- Le système de fichiers
Il permet d’enregistrer les fichiers dans une arborescence