Vous êtes sur la page 1sur 10

e-classroom.over-blog.

com

Les systèmes d'exploitation - E-Classroom


E-Classroom

13-17 minutes

En informatique, un système d'exploitation est un ensemble de


programmes qui dirige l'utilisation des capacités d'un ordinateur par les
logiciels applicatifs. Il reçoit de la part des logiciels applicatifs des
demandes d'utilisation des capacités de l'ordinateur - capacité de
stockage des mémoires et des disques durs, capacité de calcul du
processeur. Le système d'exploitation accepte ou refuse de telles
demandes, puis réserve les ressources en question pour éviter que leur
utilisation n'interfère avec d'autres demandes provenant d'autres
logiciels...

Le système d'exploitation est le premier programme exécuté lors de la


mise en marche de l'ordinateur. Il offre une suite de services généraux qui
facilitent la création de logiciels applicatifs et sert d'intermédiaire entre
ces logiciels et le matériel informatique. Un système d'exploitation
apporte commodité, efficacité et capacité d'évolution, permettant
d'introduire de nouvelles fonctions et du nouveau matériel sans remettre
en causes les logiciels.

Les systèmes d’exploitation ou O.S (Operating System) gèrent les


communications entre les logiciels et le matériel.

Par exemple, un logiciel de navigation routière demandera au système


d’exploitation les coordonnées GPS. Le système d’exploitation, par
l’intermédiaire des pilotes, interrogera le matériel pour avoir les données
GPS qu’il retournera au logiciel de façon compréhensible.
Pour comprendre ce que sont les systèmes d’exploitation, nous devons
d’abord comprendre comment ils se sont développés. Le fait de
comprendre les raisons du développement des systèmes d’exploitation
nous permet d’apprendre quelles tâches ils réalisent et comment ils les
effectuent.

Le système d’exploitation est le logiciel le plus important d’un ordinateur.

Le regroupe un ensemble de programmes qui permettent l’utilisation de


l’ordinateur et de ses périphériques (écran, imprimante, clavier…). Sans
système d’exploitation, l’ordinateur n’est pas capable de gérer les
périphériques.

Il permet tout d’abord le démarrage de l’ordinateur et est indispensable à


la mise en œuvre des autres programmes présents sur l’ordinateur. Il
assure donc son fonctionnement général.

Description du système d’exploitation


Pour qu’un ordinateur soit capable de faire fonctionner un programme
informatique (appelé également « 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 (composant essentiel d’un
ordinateur qui interprète les instructions et traite les données d’un
programme), la mémoire, et les ressources physiques (périphériques).
Le Système d’exploitation, est chargé d’assurer la liaison entre les
ressources matérielles, l’utilisateur et les applications. 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 (programme
informatique également nommé Driver, destiné à permettre à un autre
programme d’interagir avec un périphérique).

Le système d’exploitation permet ainsi de dissocier les programmes et le


matériel, afin notamment de simplifier la gestion des ressources et d’offrir
à l’utilisateur une interface homme-machine (IHM) simplifiée afin de lui
permettre de s’affranchir de la complexité de la machine physique.

Rôles du système d’exploitation


Objectifs

Transformer une machine matérielle en une machine utilisable, c'est-


à-dire fournir des outils adaptés aux besoins indépendamment des
caractéristiques physiques,
Optimiser l’utilisation du matériel principalement pour des raisons
économiques.

Mais il faut également la garantie d’un bon niveau en matière de :

Sécurité : intégrité, contrôle des accès confidentialité…


Fiabilité : degré de satisfaction des utilisateurs même dans des
conditions hostiles et imprévues,
Efficacité : performances et optimisation du système pour éviter tout
surcoût en termes de temps et de places consommées par le
système au détriment de l’application.

Qualité requises du système d’exploitation

Un système d’exploitation doit se « faire oublier » : la fonction d’un


ordinateur est d’exécuter les applications, pas le système d’exploitation.
Utilisation efficace des ressources
Fiabilité
Tolérance aux fautes (du matériel, des utilisateurs, des programmes)

La qualité de l’interface (en particulier pour les systèmes interactifs)

Convivialité
Simplicité d’utilisation
Documentation
Bonne intégration au réseau
Sécurité et protection
Répertoire étendu des fonctions

Rôles du système d’exploitation

Les rôles de l’OS sont devers et concernent notamment :

La 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 contre partie, 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érielle par l’intermédiaire des pilotes.

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 droit : 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 pas utilisées que par des programmes et utilisateur
possédant les droit adéquats.

Gestion des fichiers : le système d’exploitation gère la lecture et


l’écriture dan le système de fichier et des 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.

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

Le noyau (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 commande,
fin de permettre à l’utilisateur de piloter les périphérique en ignorant
tout des caractéristique du matériel qu’il utilise, d la gestion des
adresses physique…
Le système de fichier (en anglais « file system » FS), permettant
d’enregistrer les fichiers dans une arborescence.

Familles de systèmes
Selon les services rendus

Mono/Multi-tâches : capacité du système à pouvoir exécuter plusieurs


processus simultanément. Par exemple, effectuer une compilation et
consulter le fichier source du programme correspondant.

C’est le cas d’UNIX, d’OS/2 et de Windows 95

Mono/multi-utilisateurs : capacité à pouvoir gérer un panel d’utilisateurs


utilisant simultanément les même ressources matériels.

C’est le cas d’UNIX, de MVS, de Gecos…

Selon leur architecture

Système centralisés : l’ensemble du système est entièrement présent sur


la machine considérée. Les machines éventuellement reliées sont vues
comme des entités étrangères disposant elle aussi d’un système
centralisé. Le système ne gère que les ressources de la machine sur
laquelle il est présent.

C’est le cas d’Unix, même sir les applications réseaux (X11, FTP, Mail…) se
sont développées.

Système répartis (« destributed systems ») : les différentes abstractions


du système sont réparties sur un ensemble (domaine) de machine (site).
Le système d’exploitation réparti apparait aux yeux de ses utilisateurs
comme une machine virtuelle monoprocesseur même lorsque cela n’est
pas le cas. Avec un système réparti, l’utilisateur n’a pas à se soucier de la
localisation des ressources. Quand il lance un programme, il n’a pas à
connaitre le composant de la machine qui l’exécutera. Ils exploitent au
mieux les capacités de parallélisme d’un domaine. Ils offrent des
solutions aux problèmes de la résistance aux pannes.

Selon leur capacité à évoluer

Systèmes fermés (ou propriétaires) :

Extensibilité réduite : quand on veut ajouter des fonctionnalités à un


système fermé, il faut remettre en cause sa conception et refaire une
archive (système complet).
C’est le cas d’UNIX, MSDOS…

Il n’y a aucun ou peu d’échange possible avec d’autres système de type


différent, voir avec des types identiques.

C’est le cas entre UNIX, BSD et SV.

Systèmes ouverts :

Extensibilité accrue : il est possible d’ajouter des fonctionnalités et des


abstractions sans avoir à repenser le système et même sans avoir à
l’arrêter sur une machine. Cela implique souvent une conception
modulaire basée sur le modèle « client – serveur ».

Selon l’architecture matérielle qui les supporte

Architecture monoprocesseur (temps partagé ou multiprogrammation) :

Ressource processeur unique : il a fallu développer un mécanisme de


gestion des processus pour offrir un (pseudo) parallélisme à
l’utilisateur : c’est la multiprogrammation, il s’agit en fait d’une
commutation rapide entre les différents processus pour donner
l’illusion d’un parallélisme.

Architecture multiprocesseurs (parallélisme) : 

On trouve une grande variété d’architectures multiprocesseurs :

SIMD (single instruction multiple data) : tout les processeurs exécute


les même instructions mais sur des données différentes.

MIMD (Multiple Instruction Multiple Date) : chaque processeur est


complètement indépendant des autres et exécute des instructions sur
des données différentes

Pipeline : les différentes unités d’exécution sont mises en chaine et


sont chacune partie du traitement a effectuer.

On parle aussi d’architecture faiblement ou fortement couplée.

Architecture fortement couplée :

Ce sont principalement des architectures à mémoire commune.

Architecture faiblement couplée :


Ce sont des architectures où chaque processeur possède sa propre
mémoire locale ; c’est le cas d’un réseau de stations.

Architecture mixte :

Ce sont des architectures à différents niveau de mémoire (commune et


privée).

Remarque : Il n’y a pas de système universel pour cette multitude


d’architectures. Les constructeurs ont toujours développé leurs propres
systèmes. Aujourd’hui, compte tenu de la complexité croissante des
systèmes d’exploitation et du coût inhérent, la tendant est à
l’harmonisation notamment via le développement de système polyvalents
tels que les systèmes repartis.

Un cas particulier, les systèmes « temps réel »

Système temps réel :

Un système d'exploitation temps réel (RTOS) (en règle générale prononcé


comme : Are-toss) est un système d'exploitation multitâche destiné aux
applications temps réel. Ces applications comprennent les systèmes
embarqués (thermostats programmables, contrôleurs électroménagers,
téléphones mobiles), des robots industriels, les vaisseaux spatiaux, les
systèmes de contrôle commande industriel, et le matériel de recherche
scientifique.

On distingue deux types de contraintes temporelles : les contraintes


strictes et les contraintes relatives.

Pour garantir ces contraintes, le système possède des mécanismes


spécifiques dont le but est de réduire l’in terminisme des durées
d’exécution des programmes.

RTOS utilise des ordonnanceurs spécialisées afin de fournir aux


développeurs des systèmes temps réel les outils et les primitives
nécessaires pour produire un comportement temps réel souhaité dans le
système final.

Deux types de conceptions existent :

Evènementielle (ordonnancement par priorité): l'ordonnanceur ne


change de tâche que lorsqu'un évènement de plus haute priorité à
besoin de service

Par partage de tâche: L'ordonnanceur change de tâche aux


interruptions de l'horloge, et lors des évènements.

Les systèmes d’exploitation les plus rependus

Microsoft Windows ; le système d’exploitation de Microsoft (il est


actuellement installé sur plus de 90% des ordinateurs personnels par des
méthodes illégales car selon la loi Français, il est interdit de vendre 2
produits sans que l’in puisse les acheter séparément. Or, lorsque l’on
achète un ordinateur il est très rare que l’on ait la possibilité de l’avoir sans
système d’exploitation).

Article sur Wikipedia : Microsoft Windows


Linux ou GNU/Linux, est un système d'exploitation libre fonctionnant avec
le noyau Linux. C'est une implémentation libre du système UNIX
respectant les spécifications POSIX. Ce système est né dans le milieu
hacker de la rencontre entre le mouvement émancipateur du logiciel libre
et le modèle de développement collaboratif et décentralisé via Internet.
Son nom vient du créateur du noyau Linux, Linus Torvalds.

Article sur wikipédia : Linux

Mac OS (pour Macintosh Operating System) est le nom du système


d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu
pour être un des premiers systèmes grand public ayant une interface
graphique, inspiré de Xerox Alto, et basée sur les fenêtres, icônes, menus
et souris (modèle WIMP).

Article complet sur wikipedia : Macintosh

Article sur le JDN : les 10 systèmes d'exploitation à connaître

Vous aimerez peut-être aussi