Вы находитесь на странице: 1из 9

Chapitre 01 «Introduction : Evolution des systèmes Les programmes d’applications regroupent les utilitaires aidant à la mise au

point des programmes (Assembleurs, compilateurs, éditeurs de liens, …) ainsi


d’exploitation » que les SGBD, les applications bureautiques .etc. Ces applications
consomment des ressources pour pouvoir résoudre le problème visé.
1 Introduction
L’utilisateur c'est une entité qui demande un service de la machine, que ce soit
Un Système d’exploitation (SE) ou (Operating System) est la partie la un être humain, un ordinateur, un capteur ou une architecture à
plus importante d’un Système informatiQue SIQ. Il est constitué d’un microprocesseur (robot, machine).
ensemble de programmes agissant comme interface entre l’utilisateur et le Rôles du système d'exploitation:
matériel. Son but principal est de rendre le système informatique plus Pour comprendre le rôle du système d'exploitation, nous allons voir le
pratique à utiliser et qui fonctionne d’une manière efficace et optimale. système d'exploitation selon deux points de vue: vue par l'utilisateur et vue
SE = Ensemble des programmes fournissent un environnement par le système informatique.
(interface, machine virtuelle) qui permette à un utilisateur d’exécuter Vue par l'utilisateur: (avoir un SIQ pratique)
des programmes (d’utiliser les ressources de façon efficace et optimale). La vue de l'utilisateur change selon l'interface utilisée. La plupart des
usagers utilisent un PC (Personal Computer) composé des ressources
Système Informatique SIQ: suivants: écran, clavier, souris et une unité. Ce système informatique est
C'est l’ensemble de matériels, de système d'exploitation, des programmes conçu pour un seul usager qui monopolise ses ressources. L'objectif c'est de
d’applications et des utilisateurs (Figure 1). maximiser le travail effectué sur ce système informatique. Dans ce cas, le
Le matériel : toute architecture à microprocesseur regroupant une Unité système d'exploitation est conçu principalement pour faciliter l'utilisation,
Centrale (UC), une Mémoire Centrale (MC), des périphériques avec plus d'attention aux performances que de l'utilisation des ressources
d’Entrée/Sortie, .etc et constituant l’ensemble des ressources de base du (comment les ressources matériel et logiciel sont partagées).
Système Informatique. Le SE s’interface entre l’user et la machine pour fournir un environnement
plus pratique à l’user et le détacher au maximum possible de toute
Util 1 Util 2 Util 3 connaissance technique du matériel en fournissant une Interface Homme
Machine (IHM) plus intuitive, plus conviviale et plus facile (principe de la
machine virtuelle).
Logiciels d'applications
Editeur de text, compilateur Bureautique .etc Vue par le système informatique: (Avoir un SIQ efficace et optimale)
A partir du système informatique le système d'exploitation c'est un
Système d’Exploitation programme lié intimement au matériel. Dans ce contexte, nous disant que le
système d'exploitation c'est un allocateur de ressources. Dans un système
Matériel informatique il existe plusieurs ressources qui nécessitent un gouverneur,
temps d'utilisation de CPU, espace mémoire, espace de stockage disque,
UC, MC, Périph E/S, …
périphérique d'E/S. Le système d'exploitation joue le rôle d'un gestionnaire
de ressources.
Figure 1 Une vue abstraite d'un système informatique.
Le SE doit contrôler le comportement des différentes applications des Machine dédiée : conçue pour un travail bien spécifique.
utilisateurs et celui des périphs d’E/S. Le SE doit garder le SIQ dans un état La programmation se faisait en binaire.
cohérent en évitant les erreurs et les utilisations incorrectes des programmes Absence de système d’exploitation, l’utilisateur interagit directement avec la
de la machine. De plus, il doit appliquer une stratégie d’allocation des machine :
ressources (matérielles ou logicielles) rigoureuse pour en optimiser Chargement et débogage manuels des programmes.
l’exploitation (les performances du système). Il doit appliquer également Les E/S sont gérées par l’user, ce dernier doit connaître les moindres détails
une stratégie de sécurité gardant le SIQ loin de tout accès non autorisé techniques de chaque périphérique.
(Mode d’exécution, groupes d’utilisateurs, cryptage de données, …). Deux événements principaux ont caractérisé la fin de cette génération
La Conception de quelques utilitaires de SE (assembleur, éditeurs de liens,
-1. Gestionnaire (allocateur) des ressources. (Partage, contrôle, chargeurs) et l’apparition des compilateurs et des langages évolués (Fortran).
fonctionnement). Ceci a permis de créer des bibliothèques de fonctions réutilisables.
-2. Présenter une machine virtuelle à l’utilisateur. (Efficace, fiable) : L’apparition de quelques périph d’E/S (lecteurs de cartes perforées, des
Fournir une Interface Homme Machine (IHM) plus intuitive, plus conviviale bandes magnétiques et des imprimantes).
et plus pratique
2.2 SE de traitement par lots (batch) (Deuxième génération 1955 –
Il y a des littérateurs qui précisent trois buts (objectifs) des SE : 1965)
1- Un programme de contrôle : assure l’utilisation fiable et efficace. L’apparition du transistor a permis la production et la commercialisation des
machines.
2 Historique et Terminologie Utilisation intense des langages évolués (Fortran) et les assembleurs.
Les différentes étapes de l’exécution d’un job (un programme ou un
Les SE sont largement liés aux éléments matériels formant l’architecture ensemble de programmes) sont :
physique des machines. L’évolution de l’un des deux suive l’évolution de 1) l’écriture du code source, en assembleur ou en Fortran généralement, qui
l’autre, ils se développent en parallèle. Le développement a été motivé par sera ensuite gravé sur des cartes.
les objectifs suivants: 2) l’opérateur charge les cartes du compilateur adéquat qui lit le
- Décharger le programmeur des tâches de programmations énormes et programme source (qui est aussi sur des cartes) comme données et génère un
fastidieuses, et de lui permettre de se concentrer sur l'écriture de son code assembleur.
application. 3) l’opérateur charge les cartes de l’assembleur qui aura comme donnée les
- Protéger le système des usagers et de fausses manipulations. cartes générées par le compilateur et génère, après une édition de lien, un
- Offrir une vue simple, uniforme et cohérente de la machine et de ses exécutable qui peu être chargé pour être exécuté.
ressources. Vu le nombre de chargement manuel de cartes, le rythme d'exécution des
On peu distinguer quatre générations bien différentes : programmes est lent.

2.1 Les machines dénudées (Première génération 1945 –


1955) :
Cette génération est caractérisée principalement par :
Le ME est considéré comme étant l'ancien Système d'exploitation. Il réside
dans la MC dans une partie privilégiée inaccessible aux utilisateurs.

2.3 Les systèmes multiprogrammés (Troisième génération


1965 – 1980)
Dans toutes les générations précédentes c’est l’UC qui se charge
d’effectuer les opérations d’E/S.
Les périphériques d’E/S sont généralement très lents par rapport à l’UC, ce
qui condamne largement son efficacité
Cette génération est marquée par l’apparition des circuits intégrés, ce qui a
permet la commercialisation à grande échelle des machines. En outre, le
développement des disques durs ayant une grande capacité de stockage et
qui ont une rapidité de transfert plus grande a comblé l’inconvénient des
bandes magnétiques et a donné naissance à la multiprogrammation.
a) La Multiprogrammation et Recouvrement d’E/S
Les périphs d’E/S sont généralement très lents par rapport à l’UC ; cette
Pour accélérer le rythme des chargements, deux méthodes sont introduites : dernière est condamnée à suivre leur rythme lorsqu’elle exécute une
le traitement par lots (batch) : C'est le regroupement des travaux similaires opération d’E/S donnant lieu à un temps perdu où l’UC chôme
pour les traiter à la suite. Ainsi tous les travaux Fortran sont rassemblés dans L’idée de donner une autonomie aux périphériques d’E/S en les dédiant d’un
un lot. Ceux de l’assembleur dans un deuxième et ceux de Cobol dans un petit processeur de gestion des opérations d’E/S, appelé DMA (Direct
troisième, etc… Memory Access), a permis d'effectuer en parallèles (recouvrement) les
Le Moniteur d’Enchaînement ME: C'est un programme particulier activé deux phases de calcul d’un programme avec des phases d’E/S d’un autre
automatiquement à la fin de l'exécution de chaque programme utilisateur, et programme, ces dernières étaient des temps perdus dans les système Batch,
dont le but est d'assurer alors la lecture en mémoire et le lancement du ce qui a donné naissance au concept de la multiprogrammation.
programme utilisateur suivant.
Le ME est considéré comme étant l’ancêtre des SE. Résidant dans la MC
dans une partie privilégiée inaccessible aux users. Reprise de l’exec de P1
Moniteur
ME est constitué de trois modules principaux : d’enchaînement Recouvrement
1. L’Interpréteur de commandes
2. Le module de protection mémoire
P2
3. Le Superviseur d’E/S Zone
Utilisateur
P1 E/S
Remarques
Les systèmes batch sont très appropriés à l’exécution des travaux longs qui Temps
Le périph émet une d’exec
ont besoin de peu d’interaction avec l’usager. interruption de fin d’E/S
Initialisation et lancement de
l’E/S
Système séquentiel classique (mono programmé)
P3
Multiprogrammation: Plusieurs programmes sont chargés sur le disque
dur et en MC. L’UC commence l’exécution de l’un des programmes chargés P2
en MC. Dès que celui-ci effectue une opération d’E/S, qui est largement
lente par rapport à l’UC. L'UC fait appel au DMA et entame l’exécution Fin du processus
P1
d’un autre programme, sans attendre l’achèvement de l’opération d’E/S. La
fin de cette dernière est signalée à l’UC par le DMA en lui envoyant un
signal physique Ainsi l’UC est active d’une manière permanente Figure 3. Système a temps partagé
La notion de recouvrement n'a été rendue possible que par l'introduction du
mécanisme d'interruption, P3
Interruption: C'est le mécanisme qui permet à un organe matériel externe
d'interrompre le déroulement normal du processeur pour lui demander P2
d'exécuter un travail spécifique bref.
P1
b) La Multiprogrammation et le multiUtilisateur : le système à
temps partagé Figure 2 Système temps partagé et séquentiel

Plusieurs utilisateurs travaillent simultanément sur une machine, chacun ordinateurs et peuvent accéder à des machines distantes pour copier des
avec ses propres programmes et son propre terminal. De plus, le processeur fichiers (par exemple) d’une machine a une autre. Chaque machine a sa
ne peut exécuter à un moment donné qu’un seul programme à la fois. Pour propre SE et ses propres utilisateurs.
satisfaire tous les programmes, l’UC est attribuée successivement à chacun
d’eux pendant une fraction de temps bien déterminée. Lorsque cette période
est bien spécifié par le système, l’utilisateur aura l’impression qu’il est seul 2.4.1 Le Modèle Client Serveur
devant la machine (copies virtuelles de l’UC ) voir Figure 1. C’est un système réseau où l’on a des machines clientes contactent un
serveur, une machine généralement très puissante en terme de capacités
Exemple: Linux et Windows sont deux systèmes à temps partagés. d'entrée-sortie, qui leur fournit des services. Ces services sont des
ressources.
2.4 Les PC, les systèmes multiprocesseurs et réseaux : Caractéristiques:
(Quatrième génération 1980 –aujourd'hui)
Les clients ne peuvent voir que le serveur
L’apparition des micro-ordinateurs et les systèmes interactifs : les PC et MS Centralisation des données et leurs traitement (requêtes-réponses)
DOS.
L'apparition des ordinateurs multiprocesseurs. Augmentation de la Sécurité
Dans cette période c'est le développement des systèmes réseaux, qui - Ces systèmes ne diffèrent pas d’un SE monoprocesseur. Ils ont besoin
regroupent plusieurs ordinateurs géographiquement éloignés. Dans de tels d’une interface réseau et quelques drivers de bas niveau pour les
systèmes, les utilisateurs sont conscients de l’existence de plusieurs
2.4.3 Les Systèmes distribués
Un système distribué est une collection de calculateurs autonomes qui sont
connectés à l'aide d'un réseau de communication. Dans ce type de systèmes
l’utilisateur n’est pas conscient où se trouvent ses fichiers ni où s’exécutent
ses programmes. L’utilisateur a l’air d’être assis devant une machine locale
monoprocesseur, alors que ses programmes s’exécutent réellement par
d’autres UC dans le réseau et ses données proviennent d’autres endroits.
Caractéristiques :
Partage de ressources
Figure 3 Système à temps partagé. Accélération du calcul
piloter et éventuellement quelques programmes pour les accès Fiabilité (absence de maillon faible)
distants. Ces ajouts ne modifient pas la structure essentielle du noyau Communication (échange de données)
du SE monoprocesseur.
2.4.4 Les systèmes temps réel
Le serveur constitue le maillon faible du système.
Les Systèmes Temps réels sont des systèmes où le temps de réponses aux
2.4.2 Le Modèle pair à pair requête des utilisateur est un facteur très important.
Dans l'architecture client-serveur, les ressources demandées ne sont Caractéristiques :
disponibles que dans le serveur et les clients ne sont que des demandeurs de - Sont des systèmes généralement dédiés.
ces ressources. Dans le modèle pair à pair, il n'y a ni client ni serveur mais des - Les ordinateurs sont généralement assez puissants.
- Temps de réponse immédiat et assez bref.
- Système d’interruption assez performant.
Requêt Réponse - Il y a des évènement critiques.
e Serveur Serveur Serveur Exemple: VxWorks, QNX
2 1
2.4.5 Les Systèmes Embarqués
C’est un autre type de systèmes d’exploitation contrôlant des architecturtes
Client
à microprocesseur réduites en taille et en fonctions. On peut les trouver
essentiellemnt dans les PDA (Personal Digital Assistant), les portables
Client/serveur Plusieurs Clients/Serveurs
téléphoniques, les lecteurs vidéos, .etc.
pairs. Tous les pairs ont la ressource et tous les pairs la demande. On peut Exemple: PalmOS , Windows CE, Linux Embarqué.
aussi considérer que tous les éléments du réseau pair-à-pair sont à la fois client
et serveur.
Exemple: Emule, eDonkey, Skype, .etc
2.4.6 Système d'exploitation Mainframe (ordinateur centrale) centrale au même moment de façon à pouvoir exécuter l'un d'entre eux
Les ordinateurs centreaux sont des machines de grandes capacités de pendant que les autres sont en attente de la fin d'une entrée-sortie.
traitement et d'E/S. Un mainframe peut avoir plus de 1000 disque dur de - La multiprogrammation peut être utilisée en mode non préemptif ou
capacité de 100Go. Un système d'exploitation pour un mainframe peut traiter préemptif (à temps partagé).
plusieur jobs (ensemble de programmes) au même temps. Ce système offre
trois services: le traitement par batch, le traitement des transactions (ensemble - En multi-programmation non préemptive, il n'y a pas une commutation
de taches indévisibles) et le temps partagé. (changement de programme en cour d’exécution) que si le processus
Exemple: Les ordinateurs centraux sont utilisés dans les très grandes actif doit effectuer une entrée sortie.
entreprises (banque, compagnies aériennes).
- En temps partagé, (préemptif) il y a commutation si le processus actif
Système d'exploitation OS/390.
doit effectuer une entrée-sortie ou s'il a épuisé son quantum (la durée
2.4.7 Système d'exploitation Serveur
d’utilisation de processeur).
C'est un système qui fonctionne sur des ordinateurs simples comme
- utilisateurs, de telle sorte que chacun d'eux ait l'impression d'avoir la
sur des ordinateurs centreaux. Il permet à plusieurs utilisateurs de partager des
machine pour lui seul.
resources logiciels et matériels. Un fournisseur d'accès d'internet utilise
plusieur serveurs pour sauvegarder les pages web et supporter les requêtes des
- Système Multitraitements : la machine est dotée de plusieurs UC
utilisateurs demandeurs de pages.
- Système Multiutilisateurs : système permettant à plusieurs utilisateurs de
Exemple: Unix, Windows 200, Linux, Windows 2003 Server .etc. travailler simultanément sur une machine.
- Noyau de système d’exploitation: (abrégé noyau, ou kernel en anglais),
2.5 Terminologie est la partie fondamentale des programmes de certains systèmes
- Système Mono tâche (mono programmé) : présence d’un seul programme d'exploitation. Elle gère les ressources d'un ordinateur et permet aux
utilisateur dans la MC. différents composants matériels et logiciels de se communiquer.
- Système Multitâches (multiprogrammé) : présence de plusieurs
programme utilisateur dans la MC. Système temps partagé (Multitâches) 2.6 Machine Virtuelle
une extension logique de la multiprogrammation. L'objectif principal d’un SE est de s’interfacer entre l’utilisateur et la
- En monoprogrammation, il y a un seul programme à la fois en machine pour construire au dessus de cette machine physique une machine
mémoire. Lorsqu'une tâche est soumise et que le processeur est virtuelle constituée de plusieurs couches.

disponible, on la charge en mémoire puis on exécute le processus


associé jusqu'à ce qu'il soit terminé. On passe alors à la tâche suivante.
- En multiprogrammation, il peut y avoir plusieurs programmes à la fois
en mémoire. Consiste à mettre plusieurs programmes en mémoire
3 Conclusions

- Un système d’exploitation est un ensemble de programmes agissant


comme interface entre l’utilisateur et le matériel. Son but principal est :
o fournir à l’user une machine virtuelle plus pratique à utiliser.
o optimiser la gestion et le contrôle des ressources.
- Les SE et le matériel évoluent d’une manière interactive
- Les systèmes d'exploitation à base de réseaux permettent plus de
performances.