Vous êtes sur la page 1sur 11

CHAPITRE 1 : TYPES, CARACTERISTIQUE DES SYSTEMES

D’EXPLOITATIONS

Objectifs
 Comprendre le concept de système d'exploitation ;
 Découvrir les systèmes d'exploitation historiques ;
 Découvrir les différents types de systèmes d'exploitation modernes.

1- Définitions et généralités sur la notion de système d’exploitation

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).

Un système d'exploitation (OS) est un programme ou un ensemble de


programmes (logiciels) qui, lorsque nous démarrons un ordinateur, est chargé de
gérer chacune des ressources du système informatique, qu'il s'agisse de disques,
de mémoires, de clavier, de souris ... établir une communication directe entre
l'ordinateur et l'utilisateur.

Dans le passé, les systèmes d'exploitation tels que MS-DOS fonctionnaient


via des lignes de commande, aujourd'hui ils sont beaucoup plus intuitifs car ils
fonctionnent via une interface graphique ou via Windows, bien que nous ayons
également la possibilité d'utiliser la console de commande (cette option serait
pour utilisateurs avancés), le moyen le plus simple pour un utilisateur de base
serait de passer par l'interface du système d'exploitation.

Le système d'exploitation est chargé de lancer les processus que fait notre
ordinateur, nous définissons le processus lorsque notre logiciel est chargé en
mémoire, au cas où le programme n'était pas chargé en mémoire, il ne
fonctionnerait pas.

Il existe 2 types de processus différents :

 Au premier plan : Ce type de processus nécessite l'exécution et


l'interaction de l'utilisateur, un exemple serait notre navigateur internet,
un traitement de texte, un programme de partage de fichiers...
 En arrière-plan: Ceux-ci ne nécessitent aucune action de la part de
l'utilisateur puisque, comme leur nom l'indique, ils s'exécutent en arrière-
plan, normalement ils n'ont pas d'interface graphique, pour les voir, il
faudrait entrer dans le gestionnaire de tâches et là ils apparaîtraient, un
exemple de ceux-ci Il s'agirait par exemple d'un logiciel antivirus.

Les ressources qu'il gère sont à la fois matérielles (pièces physiques, disque dur,
écran, clavier...) et logicielles (programmes et instructions).

Tous les ordinateurs, ordinateurs portables, tablettes, mobiles et serveurs ont


et nécessitent un système d'exploitation.

Les autres programmes, qui ne sont pas des systèmes d'exploitation, sont
appelés applications, ces programmes sont installés dans notre système
d'exploitation, sans lui ces applications ne pourraient pas fonctionner dans notre
ordinateur, le système d'exploitation est totalement nécessaire.

En bref, un système d'exploitation est chargé de gérer et de contrôler les


logiciels et le matériel d'un PC ou d'un ordinateur.

Dans son sens le plus général, un OS est un logiciel qui permet à un utilisateur
d'exécuter d'autres applications sur un appareil informatique (PC, Smartphone,
Tablette, etc.).
Les systèmes d'exploitation utilisent des images et des boutons pour pouvoir
établir facilement une communication avec l'ordinateur afin de pouvoir envoyer à
tout moment les instructions de ce que nous voulons faire à notre ordinateur.

L'objectif principal est de nous donner les outils nécessaires pour pouvoir
superviser notre ordinateur et pouvoir l'utiliser, de manière simple pour
l'utilisateur final, bref, le système facilite la vie de l'utilisateur.

Les fonctions de base du système d'exploitation sont de gérer les ressources de


l'ordinateur, de coordonner le matériel et d'organiser les fichiers et les
répertoires dans les périphériques de stockage de notre ordinateur.

Certaines choses plus concrètes qu'un système d'exploitation peut faire sont :

 Le système d'exploitation est le seul gros logiciel qui exécute les


programmes et s'occupe de tout le reste. Par exemple, le système
d'exploitation contrôle les fichiers et autres ressources auxquels ces
programmes peuvent accéder une fois exécutés.
 Lorsque nous avons plusieurs programmes qui peuvent s'exécuter en même
temps, le système d'exploitation détermine quelles applications doivent
être exécutées exactement dans quel ordre et pendant combien de temps.
 Gère le partage de la mémoire interne entre plusieurs applications.
 Il gère l'entrée et la sortie des données vers et depuis les périphériques
matériels connectés, tels que les disques durs, les imprimantes, les ports
de communication, le clavier, etc.
 Il envoie des messages à chaque application ou utilisateur (ou à un
opérateur système) concernant l'état de fonctionnement et les erreurs
éventuellement survenues.
 Sur les ordinateurs pouvant fournir un traitement parallèle, un système
d'exploitation peut gérer le partitionnement du programme afin qu'il
s'exécute sur plusieurs processeurs à la fois. Un exemple : lorsqu'une
application veut imprimer quelque chose, elle transmet ce travail au
système d'exploitation.
 Le système d'exploitation envoie les instructions à l'imprimante, en
utilisant les pilotes d'imprimante pour envoyer les signaux corrects.
L'application qui imprime n'a pas à se soucier de ce que l'imprimante doit
imprimer ou à comprendre comment cette imprimante fonctionne. Le système
d'exploitation gère chaque détail.

Autre exemple : lorsque le système d'exploitation exécute un jeu, par exemple le


jeu vidéo League of Legends, il s'exécute sur un système d'exploitation, celui de
notre ordinateur.

Le jeu, dans un cas comme cette ligue des légendes, ne devrait pas savoir
précisément comment fonctionne chaque composant matériel différent de notre
ordinateur.

Ce que fait League of Legends, c'est utiliser une pluralité de fonctions du


système d'exploitation, et le système d'exploitation les traduit en instructions
pour gérer notre matériel.

Cela évite aux développeurs de League of Legends et à tous les autres


programmes qui s'exécutent sur un système d'exploitation, beaucoup de
problèmes.

2- Historique

On ne peut pas vivre sans eux aujourd’hui. Les systèmes d’exploitation sont
essentiels pour le fonctionnement de nos ordinateurs, portables, et, en bref,
les appareils et les infrastructures que nous utilisons dans notre vie quotidienne
et ils permettent le fonctionnement des sociétés modernes.

Les systèmes d’exploitation sont essentiels pour le fonctionnement du matériel


et des logiciels que nous exploitons sur nos appareils.

Cependant, comme tout le reste, ils n’ont pas toujours été là. Les systèmes
d’exploitation ont eu une origine et une histoire qui, comme il ne pouvait pas en
être autrement, sont étroitement liées au développement de l’informatique
même.

Dans ce post, nous verrons, très brièvement, comment les premiers systèmes
d’exploitation ont été et comment ils se sont développés au fil du temps.

Petit historique des systèmes d’exploitation.

Pour trouver les premiers systèmes d’exploitation, nous devons voyager dans les
années 50 du XXe siècle.

Auparavant, au cours des années 1940, les programmes ont été introduits
directement au matériel de la machine à travers une série de micro-
commutateurs.
Dans les années 50, certaines technologies sont apparues qui permettent une
interaction plus “simple” entre l’utilisateur et l’ordinateur.

Moniteur résident: Il s’agit d’un système qui charge le programme sur


l’ordinateur, le lisant à partir d’une bande ou de cartes perforées. Cette
technologie donne lieu à celui considéré comme le premier système d’exploitation
de l’histoire, créé en 1956 pour un ordinateur IBM 704, qui était responsable du
chargement successif des programmes (il commençait avec le suivant lorsque le
précédent avait terminé le chargement), en réduisant le temps de travail requis.

Stockage temporaire: Il s’agit d’un système qui a également essayé d’augmenter


la vitesse, en permettant le chargement des programmes avec l’exécution de
tâches.

Dans les années 1960, l’émergence du circuit intégré a lancé la puissance des
ordinateurs, et les systèmes d’exploitation deviennent de plus en plus complexes
et offrent de nouvelles techniques.

Multiprogrammation: Dans cette technique, la mémoire principale héberge déjà


plus d’un programme, et le système d’exploitation est responsable de l’allocation
des ressources de la machine pour exécuter des tâches basées sur les besoins
existants.
Multipropriété: Il s’agit d’un système qui attribue l’exécution d’applications au
dans un groupe d’utilisateurs opérant en ligne.

En temps réel: Utilisé principalement dans le domaine des télécommunications, il


est responsable du traitement des événements externes à l’ordinateur, de sorte
qu’après un certain temps sans succès, il les considère comme infructueux.

Multiprocesseur: Ce sont des systèmes qui essaient de gérer les lectures et les
écritures qui exécutent en mémoire deux programmes qui s’exécutent
simultanément, afin d’éviter des erreurs. Comme son nom l’indique, ils sont
conçus pour une utilisation sur les ordinateurs qui utilisent plus d’un processeur.

Dans les années 1970, l’informatique a continué de devenir de plus en plus


complexe, ce qui a donné lieu à des versions précoces de certains des systèmes
d’exploitation qui ont été considérées comme la base de bon nombre de ceux que
nous utilisons aujourd’hui, comme UNIX.

Les systèmes d’exploitation de cette décennie ne sont accessibles qu’aux


utilisateurs hautement qualifiés, et leur complexité conduit à une grande
quantité de ressources. Parmi les plus remarquables, outre UNIX, nous trouvons
MULTICS, BDOS et CP/M, largement utilisés sur les ordinateurs avec un
microprocesseur Intel.

Les années 1980 ont mené au boom de l’informatique commerciale. L’arrivée


d’ordinateurs dans des milliers de bureaux et maisons change l’orientation des
systèmes d’exploitation, forçant le développement de systèmes plus conviviaux,
qui ont introduit des éléments graphiques, tels que les menus.

Au cours de cette décennie, le développement est tel qu’il donne lieu à certains
systèmes d’exploitation déjà légendaires, et qu’ils contribuent à l’essor de
l’informatique dans les décennies suivantes, tels que C++, SunOS (développé par
Sun Microsystems et dérivé de UNIX), AmigaOS (développé pour les ordinateurs
Commodore Amiga) et quelques classiques tels que les deux suivants:

MS-DOS: Développé par Microsoft pour les PC IBM, et qui a grandement


contribué à la popularisation de l’informatique et a donné lieu aux systèmes
Windows.
Mac OS: système d’ordinateurs Macintosh développé par Apple Inc, lancé en
1984, et qui comprenait une nouvelle interface graphique et l’utilisation de la
souris (une
rareté à l’époque pour les utilisateurs habitués à taper des commandes).
Les années 1990 se poursuivent avec la ligne explosive marquée dans les années
80, résultant en de nombreux systèmes d’exploitation que, dans des versions plus
modernes, nous utilisons aujourd’hui:

GNU/Linux: Développé sur LA base d’UNIX, et qui est l’un des plus grands
représentants du logiciel libre. Actuellement, GNU/Linux est largement utilisé
dans le monde entier, avec une prééminence de près de 100% dans des domaines
aussi frappants que celui des superordinateurs.

Solaris: Également développé sur la base UNIX par Sun Microsystems pour les
serveurs et les postes de travail.
Microsoft Windows: Qui a abouti à une famille populaire de systèmes
d’exploitation commercialement réussies, utilisé par des millions d’utilisateurs à
travers le monde.

Dans la première décennie du siècle actuel, de nouveaux systèmes d’exploitation


continuent de se produire, peut-être pas avec plus d’impact que ceux qui ont
émergé dans la décennie précédente, mais qui trouvent leur propre place. Parmi
les plus importants, nous pouvons mentionner SymbOS, MorphOS, Darwin, Mac
OS, Haiku ou OpenSolaris.

Ainsi, nous arrivons à cette décennie, celle des années 10 de ce siècle, dans
lequel la montée des appareils mobiles donne accès à certains systèmes
d’exploitation très populaires, parmi lesquels sont Android, développé par Google
ou iOS, créé par Apple.

L’histoire des systèmes d’exploitation est relativement brève, mais elle a été
très intense et ne s’arrête pas.

3- Fonctions essentielles d’un système d’exploitation


Le système d’exploitation joue deux rôles :

1. d’une machine virtuelle (abstraite)  Le SE présente au programmeur une interface d’accès


aux ressources de l’ordinateur (sous forme d’appels système). Ainsi le programmeur peut
faire abstraction des détails de fonctionnement des ressources. Cette interface est fondée
sur des objets abstraits dont les plus importants sont les fichiers et les processus o Par
exemple, le programmeur voit un disque comme une collection de fichiers qui peuvent être
lus, écrits et fermés
2. d’un administrateur de ressources Le SE gère l’utilisation des ressources par différents
utilisateurs et les éventuels conflits.

Son but étant de :

1. Fournir un environnement où l’utilisateur puisse exécuter des programmes 


2. Rendre le système informatique pratique pour l’utilisateur 
3. Utiliser le matériel de façon efficace.

Les principales fonctions d’un système d’exploitation sont les suivantes :

 Gestion du processeur : le système d'exploitation est chargé de gérer l'allocation du processeur


entre les différents programmes grâce à un algorithme d'ordonnancement. Le type d'ordonnanceur
est totalement dépendant du système d'exploitation, en fonction de l'objectif visé.
 Gestion de la mémoire vive : le système d'exploitation est chargé de gérer l'espace mémoire alloué
à chaque application et, le cas échéant, à chaque usager. En cas d'insuffisance de mémoire physique,
le système d'exploitation peut créer une zone mémoire 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émoire vive disponible sur le système. En contrepartie cette mémoire est
beaucoup plus lente.
 Gestion des entrées/sorties : le système d'exploitation permet d'unifier et de contrôler l'accès des
programmes aux ressources matérielles par l'intermédiaire des pilotes (appelés également
gestionnaires de périphériques ou gestionnaires d'entrée/sortie).
 Gestion de l'exécution des applications : le système d'exploitation 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 ne répondant plus correctement.
 Gestion des droits : le système d'exploitation 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 et
utilisateurs possédant les droits adéquats.
 Gestion des fichiers : le système d'exploitation gère la lecture et l'écriture dans le système de
fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications.
 Gestion des informations : le système d'exploitation fournit un certain nombre d'indicateurs
permettant de diagnostiquer le bon fonctionnement de la machine.

4- 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 :

 Le noyau (en anglais kernel) représentant les fonctions fondamentales du système d'exploitation
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 commande (en anglais shell, traduisez «coquille» par opposition au noyau)
permettant la communication avec le système d'exploitation par l'intermédiaire d'un langage de
commandes, afin de permettre à 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, etc.
 Le système de fichiers (en anglais «file system», noté FS), permettant d'enregistrer les fichiers dans
une arborescence.

4- Différentes classes de SE

a) SE multiprogrammé ou multitâche

Un SE multiprogrammé permet la présence de plusieurs programmes utilisateurs en mémoire


principale, et le processeur est partagé entre eux. Le SE accorde à chaque processus un intervalle de
temps processeur appelé quantum. Le processeur passe à un autre processus si le processus courant
a terminé son exécution avant qu’il épuise son quantum, ou si son quantum est expiré, ou s'il a
besoin d’une opération d’entrée-sortie.

b) SE mono programmé ou monotâche

Un système d’exploitation mono tâche est capable d'exécuter une seule tâche à la fois. Un
processeur ne peut exécuter qu'une instruction à la fois, une réelle simultanéité n'est possible que si
l'on dispose de plusieurs processeurs. On trouvera habituellement des systèmes monotâches sur les
ordinateurs personnels (systèmes MS-DOS, Mac OS de Apple,…) et des systèmes multitâches sur les
stations de travail et les ordinateurs disposant d'une forte puissance de calcul ( Unix,…).

c) SE multi-utilisateurs

Un SE Multi-Utilisateur est une variante d'un système multitâche. Chaque utilisateur est associé à un
terminal et à un ou plusieurs processus, et a donc l'impression de disposer d'un ordinateur pour lui
seul. C'est la version réseau. Il s'agit d'un PC central qui joue le rôle du serveur et des terminaux
clients. Le serveur détient toute l'information et les logiciels et la gestion des périphériques.

d) Les systèmes parallèles

Les systèmes parallèles sont supportés par des machines possédant plusieurs processeurs fortement
couplés (caractérisés par une communication intense entre eux). Ces processeurs partagent plusieurs
ressources entre eux telles que les liens de communication, la mémoire, l’horloge, des périphériques,
… De tels systèmes augmentent les capacités de traitements.

e) Les systèmes distribués

Les systèmes distribués sont supportés par des machines possédant plusieurs processeurs
faiblement couplés (caractérisés par une communication faible entre eux). Chacun de ces
processeurs possède ses propres ressources telles que la mémoire, l’horloge, les périphériques.

f) Les systèmes temps réel

Le système d’exploitation temps réel doit respecter des contraintes de temps strictes. Il est utilisé
comme un dispositif de contrôle d’application dédiée. Dans de nombreuses applications, l'allocation
du processeur aux différents processus se fait suivant une base plus ou moins égalitaire, l'objectif
visé étant que chaque processus soit exécuté le plus rapidement possible. Un processus peut donc se
voir retirer le processeur à tout moment, pour le retrouver quelques instants plus tard, et cela ne
doit pas perturber son fonctionnement.

L'instant précis où le processus dispose du processeur n'a, dans ce cas, aucune importance. Une
application dite «en temps réel » est en revanche chargée de communiquer avec des dispositifs
extérieurs à l'ordinateur (par exemple, la commande d'une centrale nucléaire ) et doit être capable
de traiter les informations au moment exact où elles arrivent. Un processus en temps réel doit donc
pouvoir être activé immédiatement et prioritairement, et garder le processeur tant qu'il n'a pas fini
son travail. Un système d'exploitation en temps réel est un système multitâche capable de gérer ce
genre de processus.  Exemple: contrôle d’une centrale nucléaire

Vous aimerez peut-être aussi