Vous êtes sur la page 1sur 5

Chapitre 01 Généralités sur les Systèmes d’exploitation

1. Définition
Un système d’exploitation (noté SE ou OS, abréviation du terme anglais Operating System) est
l'ensemble de programmes central d'un ordinateur qui sert d'interface entre le matériel et les logiciels
applicatifs (traitement de texte, jeu vidéo, ...).
C'est donc une couche logicielle (software) qui permet et coordonne l'utilisation du matériel
(hardware) entre les différents programmes d'application. Un système d’exploitation est typiquement
composé : d’un noyau, de bibliothèques, d’un ensemble d’outils système et de programmes
applicatifs de base.

2. Naissance
Les ordinateurs des années 1940 à 1960, très coûteux, étaient la propriété des entreprises et des
institutions. Chaque utilisateur avait le droit d'utiliser l'ordinateur pendant un temps limité et
l'utilisateur avait alors à disposition la totalité du matériel de l'ordinateur. Il apportait avec lui une pile
de cartes perforées qui contenait les instructions du ou des programmes à exécuter.

Les ordinateurs de cette époque effectuaient une seule tâche à la fois, au service d'un seul
utilisateur. Les programmes pour ces ordinateurs contenaient toutes les instructions nécessaires
pour manipuler le matériel de l'ordinateur. Si la logithèque pour cet ordinateur comportait cinquante
programmes, les instructions nécessaires pour manipuler le matériel se retrouvaient dans chacun de
ces cinquante programmes. Avec l'agrandissement de la logithèque, l'idée est venue d'isoler les
instructions routinières dans un programme séparé. Un programme qui résiderait continuellement
dans la mémoire, quel que soit le programme en cours d'exécution. Ce programme était un système
d'exploitation, sous sa forme la plus rudimentaire.

3. Exemple de système d’exploitation

MIT (Massachusetts Institute of Technology) en 1965 se lance dans la création du premier système
d'exploitation multi¬tâches et multi-utilisateurs : Multics (MULTiplexed Information and Computing
Service ou service multiplexé d'information et de calcul).En 1969, Bell se lance dans l'écriture
d'une version allégée de Multics. Le système est surnommé Unics, puis finalement baptisé
UNIX. Rapidemen t reprogrammé dans un langage de programmation plus approprié (le C,
développé par Ritchie pour l'occasion), UNIX se révèle particulièrement simple à porter sur de
nouvelles plateformes, ce qui assure son succès.

Linux est apparu en 1991 comme le Clone gratuit d’UNIX pour les PC, open source.

Mac OS : Premier à proposer le concept des fenêtres, du glisser-déposer, la corbeille, le plug-and-


play; aujourd’hui possède le noyau Linux, avec une interface graphique élégante et ergonomique, et
optimisation particulière des traitement multimédia.

MS-DOS (Microsoft disque operating system) : est apparue en 1980 comme système
d’exploitation des premiers PC, mono-utilisateur, mono-tâche, avec une interface ligne de
commande.

MS-Windows : Inspiré par l’interface Macintosh; tout d’abord, il propose une coquille graphique pour
DOS.

1
4.Typologie
Un système d'exploitation est dit multitâches quand il permet l'exécution simultanée de
plusieurs programmes. Tous les systèmes d'exploitation actuels sont multitâches.

Il est dit multiutilisateurs quand il est conçu pour être utilisé simultanément par plusieurs usagers,
souvent à travers un réseau informatique (notion de serveurs). Ils sont multitâches
et en général sécurisés, c'est à dire qu’ils vont refuser d'exécuter toute opération pour laquelle
l'usager n'a pas préalablement reçu une permission.

Il est dit multiprocesseurs quand il est conçu pour exploiter un ordinateur équipé de plusieurs
processeurs. Dans de tels SE, plusieurs programmes sont exécutés simultanément par les
différents processeurs.

Il est dit temps réel quand il garantit que les opérations seront effectuées en respectant des délais
stricts , et ce quelles que soient les conditions d'utilisation (charge du système).
De tels systèmes d'exploitation sont utilisés dans l'industrie, l'aéronautique ou l'électronique
pour créer des systèmes temps réel (souvent embarqué).

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.

Le 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 : le système est alors dit «système transactionnel». Pour ce faire, le système alloue à
chaque utilisateur une tranche de temps.

Le système est dit embarqué lorsque il est prévu pour fonctionner sur des machines de petite taille,
telles que des PDA 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.

5.Besoins
Un système d'exploitation est composé d'une large palette de programmes.
Sa compostions exacte dépend de l'usage cible et du type d'équipement informatique (ordinateur
personnel, serveur, superordinateur ou encore système embarqué) auquel le système est destiné.
Par exemple, si le système d'exploitation est destiné à être utilisé :
-sur un ordinateur personnel ou une console de jeu vidéo, il nécessitera une interface graphique
ergonomique.
- sur un serveur, il comprendra une large palette de protocoles et de pilotes pour du matériel réseau,
sera multi¬tâches et muni de contrôles d'accès
- sur un assistant personnel ou un téléphone portable, le nombre de pilotes sera restreint
au minimum et le système d'exploitation sera prévu pour être enregistré sur une mémoire morte.
-sur des superordinateurs, ils sera alors massivement multiprocesseur

2
6. Rôles du SE
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.
2. d’un administrateur de ressources : Le SE gère l’utilisation des ressources par différents
utilisateurs et règlent les éventuels conflits.

En tant que gestionnaire de ressources Un système d'exploitation doit assurer :


La Gestion du processeur : le SE est chargé de gérer l’allocation du processeur entre les différents
programmes grâce à un algorithme d’ordonnancement.
La Gestion de la mémoire vive : le SE 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 Gestion des fichiers : le SE gère la lecture et l‘écriture dans le dans le système de fichiers et les
droits d’accès aux fichiers par les utilisateurs et les applications.
La Gestion des entrées/sorties : le SE 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).

Remarque :Les programmes utilisateurs peuvent accéder à ces différentes fonctionnalités à l’aide
des appels système.

7. Architecture
Le SE 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, «coquille» par opposition au noyau)
est la partie la plus externe du système d'exploitation 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.

Un système d'exploitation est typiquement organisé en couches distinctes. La couche supérieure est
l'interface de programmation avec les logiciels applicatifs (dont font partie les logiciels utilitaires et les
bibliothèques fournis avec le système d'exploitation).
Au centre, on trouve une ou plusieurs couches qui contiennent les composants principaux du
système d'exploitation tels que : la gestion des systèmes de fichiers et du réseau, la gestion de
mémoire, les pilotes, l'ordonnanceur, le gestionnaire d'interruption. La couche inférieure, appelée
couche d'abstraction matérielle HAL (Hardware Abstraction Layer), est chargée de masquer les
particularités matérielles.

3
8. Principes des Systemes d’exploitation

Le code du noyau est très sensible. Tout usage incorrect de ce noyau peut déteriorer le materiel ou
planter le système, ce code est donc protégé, on peut est y acceder que par un appel système. En
général les processus ont deux modes de fonctionnement.

8.1 Le mode double : Le matériel permet 2 modes de fonctionnement:

8.1.1. Mode moniteur ou superviseur ou système ou privilégié(Monitor mode, supervisor mode,


system mode, mode noyau): exécution de la part du SE des Instructions privilégiées(instructions
machine risquant de nuire) .Les instructions privilégiées sont exécutées seulement en mode
superviseur.

8.1.2. Mode utilisateur (User Mode, mode esclave): exécution de la part de l’utilisateur. S’il se
produit une tentative d’exécuter une instruction privilégiée, le matériel ne la réalise pas mais traite
l’instruction comme illégale et bloque le SE.

Au moment d’initialiser le système, le matériel démarre en mode superviseur. Ensuite le SE est


chargé et démarre les processus utilisateurs en mode utilisateur. Chaque fois qu’un déroutement
(trap) ou une interruption se produit, le matériel commute du mode utilisateur au mode superviseur

-Chaque fois que le SE prend le contrôle de l’ordinateur, il est en mode superviseur

-Le système commute toujours au mode utilisateur avant de donner la main à un programme
utilisateur

8.2 Appel système

ll constitue une interface entre le SE et les programmes d’application (ou leur bibliothèque). Un appel
a pour rôle d’activer le système d’exploitation. C’est un point d'entrée dans le code du noyau .
Quelques appels systèmes classiques : open, read, write et close qui permettent les manipulations
sur les systèmes de fichiers, alloc, free pour allouer et désallouer de la mémoire. Sur la majorité des
SE, les appels système peuvent être utilisés comme de simples fonctions écrites en C. Sur la plupart
des noyaux (notamment les noyaux monolithiques comme le Noyau Linux) les appels systèmes sont
implémentés par une instruction machine (interupt, supervisor call, ...) qui fait basculer le processeur
dans le noyau en mode superviseur.

8.3 Les interruptions et les déroutements

Une Interruption est événement qui modifie le flux de commande d’un programme. Le mécanisme
d’interruption (trap) permet à tout programme d’interrompre son exécution pour exécuter le code du
SE. On distingue deux types d’interruptions :

1. Interruptions matérielles : Permettent la prise en compte d’une requête de service système


(mémoire, contrôleur de périphérique, clavier, lecteur, ...). À tout moment le matériel peut activer une
interruption.

2. Interruptions logicielle : Activée par l’exécution d’un appel système (system call ou monitor call)

Un déroutement est une condition anormale détectée par l’UC qui indique généralement une erreur
(ex : division par zéro, accès à un emplacement mémoire inexistant ou auquel on ne peut pas y
accéder …).
4
Lorsqu’une interruption est captée par le système, le programme en cours est arrêté. Le système
d’exploitation sauvegarde le contexte : Le système d’exploitation préserve l’état de la CPU
(sauvegarde des registres et du compteur ordinal). Le SE détermine ensuite le type d’interruption.
Pour chaque type d’interruption une partie de code du SE détermine l’action qui doit être prise. Dès
que cette procédure est terminée, le programme interrompu reprend son exécution. Lors de la
reprise, la machine doit se trouver exactement dans l’état où elle était aumoment de la prise en
compte de l’interruption.

Vous aimerez peut-être aussi