systeme d'exploitation

Description

Pour qu'un ordinateur soit capable de faire fonctionner un programme, il faut que la machine puisse effectuer un certain nombre d'opérations préparatoires pour assurer les échanges entre l'unité centrale, la mémoire, et certains périphériques. Or, les périphériques varient d'un ordinateur à un autre, particulièrement sur un PC. Il faut donc des pilotes (instructions servant à piloter un périphérique) différents selon l'ordinateur.
C'est le système d'exploitation qui assure ces tâches. C'est un programme qui établit les liens entre le matériel, l'utilisateur et les applications (traitement de texte, jeu ...). Il permet de "dissocier" les programmes du matériel, ce qui simplifie grandement la création de logiciels.

D'autre part, le système d'exploitation fournit un certain nombre d'outils pour gérer la machine. Il assure l'initialisation du système après une mise sous tension (appelée RESET). Grâce à des routines (drivers ou gestionnaires de périphériques) il peut gérer les périphériques, en assurant des opérations aussi simple que l'affichage des caractères à l'écran ou bien la lecture du clavier, mais aussi le pilotage d'une imprimante ou d'un scanner...

système d'exploitation

En effet, les périphériques d'entrée-sortie (par exemple les cartes d'extension) varient d'un modèle d'ordinateur à un autre, il faut donc un système qui puisse unifier l'écriture des instructions gérant le matériel. Ainsi lorsqu'un programme désire afficher des informations à l'écran, il n'a pas besoin d'envoyer des informations spécifiques à la carte graphique (il faudrait que chaque programme prenne en compte la programmation de chaque carte...), il envoie les informations au système d'exploitation, qui se charge de les transmettre au périphérique concerné...

La communication avec le système d'exploitation s'établit par l'intermédiaire d'un langage de commandes et un interpréteur de commandes, cela 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...

Systèmes multi-tâches

Les système d'exploitation multi-tâches permettent de partager le temps du processeur pour plusieurs programmes, ainsi ceux-ci sembleront s'exécuter simultanément.

Pour réaliser ce processus, les applications sont découpées en séquence d'instructions que l'on appelle tâches ou processus. Ces tâches suivant la priorité qui leur est associée seront tour à tour actives, en attente, suspendues ou détruites.

Un système est dit préemptif lorsqu'il possède un ordonnanceur, qui répartit, selon des critères, le temps machine entre les différentes tâches qui en font la demande. Le système est alors à temps partagé. Cela est notamment le cas des systèmes multi-utilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications similaires (le système est alors dit "système transactionnel") ou différentes. Dans ce cas, le système alloue à chaque utilisateur une tranche de temps.

Systèmes multi-processeurs

Ces systèmes sont nécessairement multi-tâches puisqu'on leur demande d'une part de pouvoir exécuter simultanément plusieurs applications, mais surtout d'organiser leur exécution sur les différents processeurs (qui peuvent être identiques ou non). Ces systèmes peuvent être soit architecturés autour d'un processeur central qui coordonne les autres processeurs, soit avec des processeurs indépendants qui possèdent chacun leur système d'exploitation, ce qui leur vaut de communiquer entre eux par l'intermédiaire de protocoles.

Les types de systèmes d'exploitation

On distingue actuellement deux types de systèmes d'exploitation: les systèmes 16 bits et les systèmes 32 bits.

Système Codage Mono-utilisateur Multi-utilisateur Mono-tâche Multi-tâche
DOS 16 bits X   X  
Windows95 32 bits X     non préemptif
WindowsNT 32 bits X     préemptif
Windows95 32 bits X     préemptif
Windows95 32 bits   X   préemptif
VMS 32 bits   X   préemptif