28/10/2020
LES SYSTÈMES
D’EXPLOITATION :
OBJECTIFS ET FONCTIONS
Système d’exploitation I
Mr Ahmed KHARRAT
Filière: P-PIIM 2020-2021
OBJECTIFS
2
Comprendre les principaux concepts et
paradigmes des systèmes d'exploitation modernes.
Comprendre et maîtriser les objectifs et les
principes de la virtualisation de systèmes.
Obtenir des bases solides dans les domaines
apparentés à la conception de systèmes
d'exploitation.
© Ahmed KHARRAT
1
28/10/2020
Ressources bibliographiques et sites
3
Comprendre l'ordinateur: http://sebsauvage.net/comprendre/
Alain Cazes , Joëlle Delacroix : Cours et exercices corrigés -
Ecoles d'ingénieurs - IUT - Licence 1ère, 2e et 3e années Dunod
(2005 - 2e édition)
J.Archer Harris : Systèmes d'exploitation Ediscience (1ère
edition – 2002)
http://www.ensta.fr
http://marcel.developpez.com/cours/systeme/architecture-
ordinateur/
http://www.commentcamarche.net/
http://fr.wikipedia.org
© Ahmed KHARRAT
INTRODUCTION
4
© Ahmed KHARRAT
2
28/10/2020
INTRODUCTION
5
Au début la machine ne comporte que des matérielles :
o unité centrale,
o mémoire et
o périphériques divers.
En l’absence d’un quelconque logicielle, les opérations de
chargement et d’exploitation d’un programme et les
opérations des gestions des matérielles sont sous la
dépendance totale de contrôle humain.
La manière usuelle d’accéder au matérielle consiste à
utiliser un intermédiaire qui propose des services
spécialisées.
© Ahmed KHARRAT
INTRODUCTION
6
Cette intermédiaire peut être le bios ou un système
d’exploitation qui sont justement des interfaces
logicielle créer pour gérer les matérielles.
Programmes d’application
Système d’exploitation
BIOS
Matériel
© Ahmed KHARRAT
3
28/10/2020
DÉFINITION
7
Qu'est-ce que le BIOS ?
o BIOS (Basic Input/Output System), est un ensemble de
programme enregistrés dans la ROM.
o Il est le premier programme chargé en mémoire dès
que vous allumez votre ordinateur.
o Il permet de tester les principaux composants de
l’ordinateur à travers des routines de diagnostic et
d’autotest (POST : Power On Self Test) avant de
démarrer le système d'exploitation.
o Chercher un disque sur lequel il y a un système
d'exploitation prêt à démarrer.
o Le BIOS contient aussi généralement un programme qui
permet de modifier les paramètres de la carte mère.
Ce programme est appelé setup.
© Ahmed KHARRAT
DÉFINITION
8
Qu'est-ce qu'un système d'exploitation ?
Un logiciel permettant d’utiliser (exploiter) un
système informatique.
En anglais : operating system → opérateur
L'interface entre le logiciel et le physique.
o Séparer les applications des spécificités du matériel :
portabilité
o Séparer les applications des limitations du matériel : fini
infini
o Protéger le matériel des applications.
© Ahmed KHARRAT
4
28/10/2020
DÉFINITION
9
Un Système d'Exploitation (ou Operating System)
est :
Un programme (ou ensemble de programmes)
Qui gère la partie matérielle
Qui sert de socle pour les applications
→ L'OS est l'intermédiaire entre les applications
(l'utilisateur) et le matériel (l'ordinateur)
© Ahmed KHARRAT
DÉFINITION
10
© Ahmed KHARRAT
5
28/10/2020
RÔLES DU SE
11
© Ahmed KHARRAT
RÔLES DU SE
12
Les « cinq A » :
Aide
Abstraction
Augmentation
Arbitrage
Autorisation
© Ahmed KHARRAT
6
28/10/2020
RÔLES DU SE AIDE
13
Application Programming Interfaces (APIs) de
périphériques sont souvent complexe :
accès à toutes les fonctionnalités (même peu utilisées)
gérer toutes les situations (même exceptionnelles)
Objectif : Simplifier l’accès aux périphériques
masquer la complexité
factoriser les traitements récurrents
→ modularité, maintenabilité du code
© Ahmed KHARRAT
RÔLES DU SE ABSTRACTION
14
Différents périphériques rendent des services
similaires :
disques
durs de marque/capacité différentes
bande magnétique / disque dur / mémoire flash...
Objectif : exposer une Abstraction des
périphériques
fonctionnalités réduites
réutilisabilité accrue
→ portabilité du code
© Ahmed KHARRAT
7
28/10/2020
RÔLES DU SE AUGMENTATION
15
Des ressources non-disponibles peuvent être
simulées :
multi-tâche
mémoire virtuelle
Objectif : Étendre (virtuellement) les ressources
repousse les limites du système
éventuellement au prix des performances
→ portabilité accrue
© Ahmed KHARRAT
RÔLES DU SE ARBITRAGE
16
Contexte multi-tâches
nécessité
de répartir l’accès aux ressources
conséquence de l’abstraction
Objectif : Arbitrer l’accès aux ressources
→ fiabilité du système
© Ahmed KHARRAT
8
28/10/2020
RÔLES DU SE AUTORISATION
17
Contexte multi-utilisateur
vie privée, intégrité du système
Contexte mono-utilisateur non expert
confiance limitée dans certaines applications
Objectif : Limiter l’accès aux ressources
→ sécurité du système
© Ahmed KHARRAT
Fonctionnalités d'un SE
18
On distingue deux objectifs fondamentaux d’un
système d’exploitation :
Gérer les ressources (périphériques,
Machine virtuelle
mémoire, processeur, …),
Construire une machine virtuelle système d’exploitation
pour faciliter l’emploi pour les
utilisateurs. Ressources
© Ahmed KHARRAT
9
28/10/2020
Fonctionnalités d'un SE
19
Buts d'un système d'exploitation :
Décharger le programmeur d'une tache énorme et
fastidieuse:
Concentration sur le développement de son
application.
Protéger le système et ses usagers de fausses
manipulations,
Offrir une vue simple/uniforme/cohérente de la
machine et des ressources.
© Ahmed KHARRAT
Chargement du système
20
Une fois la phase d’autotest est franchie avec
succès, le BIOS lance le chargement du système
d’exploitation dans la RAM à travers le programme
d’amorçage « Bootstrap : chargeur d’amorce ».
Le Bootstrap cherche le système d’exploitation dans
les mémoires auxiliaires (disques et bandes), selon
une priorité fixée dans le SETUP de l'ordinateur.
L'accès au SETUP se fait grâce au BIOS.
© Ahmed KHARRAT
10
28/10/2020
Historique
21
L’historique de l’informatique est très bref, les
ordinateurs sont nés avec la 2éme guère mondial et
pourtant ils ont connu des grandes évolutions.
Tout système d'exploitation dépend étroitement de
l'architecture de l'ordinateur sur lequel il fonctionne.
© Ahmed KHARRAT
Bref Historique
22
© Ahmed KHARRAT
11
28/10/2020
Historique
23
La 1ère génération (1945 -
1955) : les tubes à vide et les cartes enfichables
o Il n'existait pas de système d'exploitation.
o Les utilisateurs travaillaient chacun leur tour sur
l'ordinateur qui remplissait une salle entière.
o Ils étaient d'une très grande lenteur.
o Ils étaient d'une très grande fragilité.
© Ahmed KHARRAT
Historique
24
La 2ème génération (1955 -
1965) : les transistors et le traitement par lots
o Le passage aux transistors rendait les ordinateurs plus
fiables.
o Ils pouvaient être vendus à des utilisateurs (grandes
compagnies, université ou administrations).
o Mais devant les coûts d'équipement élevés on réduisit
les temps grâce au traitement par lots.
© Ahmed KHARRAT
12
28/10/2020
Historique
25
La 2ème génération (1955 -
1965) : les transistors et le traitement par lots
o Les utilisations principales étaient le calcul
scientifique et l'ingénierie (équations différentielles).
o Apparition des langages FORTRAN (FORmula
TRANslator) utilisé principalement en calcul scientifique
et assembleur.
o Apparition des systèmes d'exploitation (SE): FMS
(Fortran Monitor System) et IBSYS (IBM 7094).
© Ahmed KHARRAT
Historique
26
La 3ème génération (1965 1980) : les circuits
intégrés et la multiprogrammation
o Amélioration des coûts et des performances (circuits
intégrés).
o Une famille d'ordinateurs compatibles entre eux.
o Une seule architecture et un même jeu d'instructions.
o Des ordinateurs uniques pour les calculs scientifiques et
commerciaux.
o Apparition des miniordinateurs.
© Ahmed KHARRAT
13
28/10/2020
Historique
27
La 4ème génération (1980 -
1990) : les ordinateurs personnels
o Ils sont dû au développement des circuits LSI (Large Scale
Integration) contenant des centaines de micro transistors.
o Ils ont la même architecture que les miniordinateurs mais
leur prix est beaucoup moins élevé.
o Ilexiste deux systèmes d'exploitation principaux: MSDOS
(Microsoft Inc.) et UNIX.
© Ahmed KHARRAT
Historique
28
La 4ème génération (1980 -
1990) : les ordinateurs personnels
o MS-
DOS intègre petit à petit des concepts riches d'UNIX et d
e MULTICS.
o Dans le milieu des années 80, on voit l'apparition de
réseaux d'ordinateurs individuels qui fonctionnent sous des
systèmes d'exploitation en réseau ou des systèmes
d'exploitation distribués.
© Ahmed KHARRAT
14
28/10/2020
Historique
29
La 5èmegénération (1990 -
????) : les ordinateurs personnels portables
et de poche
o Apparition des PIC (Personal Intelligent Communicator
chez Sony) et des PDA (Personal Digital Assistant, comme
le Newton chez Apple), grâce à l'intégration des
composants et l'arrivée des systèmes d'exploitation de
type «micronoyau».
o Apparition des systèmes d’exploitation Android, Iphone
OS pour l'iPad, Windows Phone (Microsoft), Symbian OS
© Ahmed KHARRAT
(Nokia), BlackBerry OS (RIM)
Caractéristiques fondamentales
d'un système d'exploitation
30
On peut classer les systèmes d'exploitation selon:
o leurs caractéristiques fonctionnelles (nombre de
taches),
o le nombre d’utilisateur en cours (nombre de sessions
ouvertes) …
© Ahmed KHARRAT
15
28/10/2020
Caractéristiques fondamentales
d'un système d'exploitation
31
Système d'exploitation Mono-tâche : A tout instant, un
seul programme est exécuté; un autre programme
ne démarrera que lorsque le premier sera terminé.
Système d'exploitation Mono-utilisateur : Au plus un
utilisateur à la fois sur une machine.
Exemple:
© Ahmed KHARRAT
Caractéristiques fondamentales
d'un système d'exploitation
32
Système d'exploitation Multi-tâche : Plusieurs
processus (un programme en cours d'exécution)
peuvent s'exécuter simultanément (systèmes
multiprocesseurs ou systèmes à temps partagé).
Exemple (SE multitâche & mono-utilisateur):
Système d'exploitation Multi-utilisateur : Plusieurs
utilisateurs peuvent travailler simultanément sur la
même machine.
Exemple (SE multitâche & multi-utilisateur):
© Ahmed KHARRAT
16
28/10/2020
Les services des systèmes
d'exploitation
33
Tout un système d'exploitation moderne doit
effectuer des différents travaux. Ces travaux sont
généralement nommés « services ».
La plupart de ces travaux sont pris en charge par
le noyau du système d'exploitation.
© Ahmed KHARRAT
Les services des systèmes
d'exploitation
34
La gestion des processus, qui correspondent à
l’exécution des programmes.
La gestion de la mémoire, qui permet de transférer
les programmes et les données nécessaires à la
création des processus.
© Ahmed KHARRAT
17
28/10/2020
Les services des systèmes
35
d'exploitation
Le système de fichiers, qui offre à l’utilisateur une
vision homogène et structurée des données et des
ressources: disques, mémoires, périphériques.
La gestion des entrées-sorties, qui correspondent aux
mécanismes qu’utilisent les processus pour
communiquer avec l’extérieur.
© Ahmed KHARRAT
Conclusion
36
On peut considérer un système d’exploitation de
deux points de vue:
© Ahmed KHARRAT
18
28/10/2020
37
Prochain cours: Noyau et appels systèmes
Merci
Des questions?
© Ahmed KHARRAT
19