PROFDINFO.COM

Votre enseignant d'informatique en ligne

Systèmes d'exploitation - Introduction

Pour qu'un ordinateur soit capable de faire fonctionner un programme informatique (appelé parfois application ou logiciel), la machine doit être en mesure d'effectuer un certain nombre d'opérations préparatoires afin d'assurer les échanges entre le processeur, la mémoire, et les ressources physiques (périphériques).

Le système d'exploitation (noté SE ou OS, abréviation du terme anglais Operating System), est chargé d'assurer la liaison entre les ressources matérielles, l'utilisateur et les applications (traitement de texte, jeu vidéo, ...). Ainsi lorsqu'un programme désire accéder à une ressource matérielle, il ne lui est pas nécessaire d'envoyer des informations spécifiques au périphérique, il lui suffit d'envoyer les informations au système d'exploitation, qui se charge de les transmettre au périphérique concerné via son pilote. En l'absence de pilotes il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de périphérique !

Système d'exploitation

Le système d'exploitation permet ainsi de "dissocier" les programmes et le matériel, afin notamment de simplifier la gestion des ressources et offrir à l'utilisateur une interface homme-machine (notée «IHM») simplifiée afin de lui permettre de s'affranchir de la complexité de la machine physique. Mais ce n'est pas là son seul rôle.

Rôles du système d'exploitation

Les rôles du système d'exploitation sont divers :

Composantes du système d'exploitation

Le système d'exploitation est composé d'un ensemble de logiciels permettant de gérer les interactions avec le matériel. Parmi cet ensemble de logiciels on distingue généralement les éléments suivants :

Systèmes multitâches

Un système d'exploitation est dit «multitâches» (en anglais multitask) lorsque plusieurs «tâches» (également appelées processus) peuvent être exécutées simultanément.

Les applications sont composées en séquences d'instructions que l'on appelle «processus légers» ou «fils d'exécution» (en anglais «threads»). Ces threads seront tour à tour actifs, en attente, suspendus ou détruits, suivant la priorité qui leur est associée ou bien exécutés séquentiellement. On dira d'un système d'exploitation qu'il est «multithread» (pas de terme francophone) lorsqu'un même processus pourra être découpé en plusieurs fils d'exécution et que ces fils pourront être exécutés simultanément.

Un système est dit coopératif lorsqu'il se fie sur le processus exécuté pour "rendre la main" lorsqu'il le jugera nécessaire, afin qu'un autre processus puisse être exécuté.

Un système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque processus par l'ordonnanceur. C'est notamment le cas des systèmes multi-utilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications différentes ou bien similaires. Pour ce faire, le système alloue à chaque utilisateur une tranche de temps. Les quotas de temps alloués peuvent être égaux pour tout le monde, ou différer.

Un système est dit préemptif lorsqu'il possède un ordonnanceur (aussi appelé planificateur), qui répartit, selon des critères de priorité, le temps machine entre les différents processus qui en font la demande. Un système préemptif est donc un système à temps partagé qui ne donne pas un temps égal à chaque processus, mais qui répartir les tranches de temps selon la priorité des processus.

Systèmes multi-processeurs

Le multiprocessing est une technique consistant à faire fonctionner plusieurs processeurs en parallèle afin d'obtenir une puissance de calcul plus importante que celle obtenue avec un processeur haut de gamme ou bien afin d'augmenter la disponibilité du système (en cas de panne d'un processeur).

Un système multiprocesseur doit donc être capable de gérer le partage de la mémoire entre plusieurs processeurs mais également de distribuer la charge de travail.

Systèmes embarqués

Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner sur des machines de petite taille, telles que des PDA (personal digital assistants ou en français assistants numériques personnels) ou des appareils électroniques autonomes (sondes spatiales, robot, ordinateur de bord de véhicule, etc.), possédant une autonomie réduite. Ainsi, une caractéristique essentielle des systèmes embarqués est leur gestion avancée de l'énergie et leur capacité à fonctionner avec des ressources limitées.

Les principaux systèmes embarqués «grand public» pour assistants numériques personnels sont :

Systèmes temps réel

Les systèmes temps réel (real time systems), essentiellement utilisés dans l'industrie, sont des systèmes dont l'objectif est de fonctionner dans un environnement contraint temporellement. Un système temps réel doit ainsi fonctionner de manière fiable selon des contraintes temporelles spécifiques, c'est-à-dire qu'il doit être capable de délivrer un traitement correct des informations reçues à des intervalles de temps bien définis (réguliers ou non).

Voici quelques exemples de systèmes d'exploitation temps réel :

Les types de systèmes d'exploitation

On distingue plusieurs types de systèmes d'exploitation, selon qu'ils sont capables de gérer simultanément des informations d'une longueur de 16 bits, 32 bits, 64 bits ou plus.

Système
Codage
Mono-utilisateur
Multi-utilisateur
Mono-tâche
Multitâche
DOS 16 bits X   X  
Windows 3.1 16/32 bits X     coopératif
Windows 95/98/Me 32 bits X     coopératif
Windows NT/2000 32 bits   X   préemptif
Windows XP 32/64 bits   X   préemptif
Windows Vista/7/8/10 32/64 bits   X   préemptif
Unix / Linux 32/64 bits   X   préemptif
MAC/OS X 32 bits   X   préemptif
VMS 32 bits   X   préemptif

Ce document intitulé « Systèmes d'exploitation - Introduction » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons.

Popularité des systèmes d'exploitation

Décembre 2007

os

Avril 2009

Popularité des systèmes d'exploitation en avril 2009

Juillet 2010

Popularité des systèmes d'exploitations en juillet 2010

Juillet 2011

Popularité des systèmes d'exploitation (graphique)Popularité des OS mobiles (graphique)

Août 2012

Juillet 2013

Juillet 2014

Juillet 2015

Popularité OS juillet 2015Popularité OS mobile juillet 2015

Juillet 2016

Popularité des OS, juillet 2016Popularité des OS mobiles, juillet 2016

Juillet 2017

Juillet 2018

Source: http://www.w3schools.com/browsers/browsers_os.asp

Les versions de Windows

Branche 16 bits

Les premières versions de Windows étaient lancées depuis DOS et utilisaient le système de fichiers de DOS, ce qui a donné à Windows la réputation de n'être qu'une interface graphique sur un noyau DOS. Cependant, Windows a immédiatement eu les fonctions d'un système d'exploitation, notamment un format d'exécutable propre, la gestion des processus en multitâche coopératif, la gestion de mémoire virtuelle, et des pilotes pour gérer l'affichage, l'impression, le clavier, le son, etc.

À partir de Windows XP, on peut considérer que le DOS a bel et bien disparu des systèmes d'exploitation grand public de Microsoft, bien qu'une émulation reste disponible.

Branche 32 bits

Noms de codes connus entre parenthèses

Parallèlement au développement de Windows NT, Microsoft décida d'éditer un système d'exploitation à destination du grand public, qui reprendrait certains avantages de Windows NT tout en restant compatible avec les versions antérieures de Windows et MS-DOS.

Les systèmes Windows 95 et suivants furent des évolutions en 32 bits des versions Windows 3.0 et 3.1. Ils sont tous construits sur le même modèle de pilotes : les Vxd. En 1995, Windows 95 apporta plusieurs améliorations : le multitâche préemptif, la couche réseau inspirée de celle de NT, une interface graphique nouvelle. Ce n'est pas un nouveau système d'exploitation, mais une évolution de Windows 3.1. Windows 95 devait pouvoir fonctionner sur des configurations d'entrée de gamme avec 4 Mo de mémoire vive.

Cette première mouture, connue durant son développement sous le nom de code « Chicago » et sortie sous le nom de Windows 95, a connu plusieurs évolutions, dont Windows 98 et Windows Me (Millennium Edition), qui ont permis de confirmer la popularité des systèmes d'exploitation de Microsoft. Ces différentes versions ont souffert d'une réputation d'instabilité et de vulnérabilité aux attaques par les réseaux. Le passage à la famille NT pour les versions grand public a eu lieu avec Windows XP, plus stable et moins vulnérable.

Branche Windows NT

La branche NT (Nouvelle Technologie), est une famille de systèmes d'exploitation redéveloppée à partir de zéro, bien qu'elle soit une évolution de l'API de Windows souvent appelée Win32.

Le noyau serait inspiré de VAX VMS et d'Unix et apporte des concepts nouveaux, comme la notion d'objet permettant une utilisation uniforme. Conçue à l'origine pour les processeurs de famille x86 (à partir de l'Intel 80386), MIPS, DEC Alpha et PowerPC. Seuls des versions 32 bits existaient pour ces processeurs, malgré le fait que certains soient 64 bits. Aujourd'hui, les familles x86, x86-64 et Itanium sont supportées, en 64 bits pour les deux dernières. L'arrêt successif du support des différents processeurs est dû à des raisons économiques.

Elle permet le multitâche préemptif, le multithreading, un modèle d'exécution séparée (chaque processus possède une zone de mémoire séparée, sans accès à celle des autres processus).

Sa disponibilité pour le grand public a eu lieu avec la sortie de Windows XP, première version familiale à être fondée sur cette branche unifiée après le succès de Windows 2000 dans sa version professionnelle.

Branche Windows CE

Sources: http://fr.wikipedia.org/wiki/Microsoft_Windows

Droit d'auteur : Tous les textes sont disponibles sous les termes de la licence de documentation libre GNU (GFDL).