Les Systèmes
d’Exploitation: Concepts
et Programmation
Samia Bouzefrane
MCF en Informatique, CNAM
[email protected]
http://cedric.cnam.fr/~bouz
efra
Samia Bouzefrane, Cours 1
SYSTEME
Introduction
Samia Bouzefrane, Cours 2
SYSTEME
Structuregénérale
Structure généraled’un
d’unsystème
systèmeinformatique
informatiqu e
Samia Bouzefrane, Cours 3
SYSTEME
Définition
Définitiond’un
d’unsystème
systèmeinformatique
informatique
Un système informatique
• Matériel
– Unité centrale, disques, réseau,
périphériques
• Système d’exploitation
–Gestion utilisateurs, SGF, ressources
(accès, partage, distribution, échange…)
• Programmes d’application
• Utilisateurs
– Login, droits, accès
Samia Bouzefrane, Cours 4
SYSTEME
Exemple
Exemple::Architecture
Architecturede
deWindows
WindowsNT
NT4.0
4.0
Applicatio
ns
Le système
d’exploitati
on
Le
matériel
Samia Bouzefrane, Cours 5
SYSTEME
Évolution
Évolutiondes
dessystèmes
systèmesd’exploitation
d’exploitation
• Batch
• Multiprogrammé
• Multi-utilisateurs centralisé
– Temps partagé,
transactionnel
• Distribué
• Temps réel
Samia Bouzefrane, Cours 6
SYSTEME
Éléments
Élémentsd’un
d’unS.E.
S.E.
Samia Bouzefrane, Cours 7
SYSTEME
Matériel
Samia Bouzefrane, Cours 8
SYSTEME
Le
Lematériel
matériel
• Principes de fonctionnement de l’UC
– Calcul, contrôle, bus, pipe-line
• La hiérarchie mémoire
– Registres, caches, MC, disques,
réseau
• Les E/S
– Interruptions, DMA
Samia Bouzefrane, Cours 9
SYSTEME
Les
Lesconstituants
constituantsd’un
d’unordinateur
ordinateur
Samia Bouzefrane, Cours 10
SYSTEME
Le
Leprocesseur
processeuret
etla
lamémoire
mémoire
Caractéristiques principales
•La largeur du bus données (64 bits) et la largeur du
bus adresse (32/64bits)
• Le nombre de mots de la mémoire
• Les temps de cycle (processeur, bus mémoire)
• Le nombre de cycles par instruction
• Le débit d'instructions
• Le processeur est un chip VLSI ~ 100 millions de
transistors
•La mémoire centrale est réalisée à partir de boîtiers de 16,
64, 256, 1024 Méga bits.
Samia Bouzefrane, Cours 11
SYSTEME
Les
Lesbus
busde
dedonnées/adresse/contrôle
données/adresse/contrôle
Samia Bouzefrane, Cours 12
SYSTEME
Le
Le principe
principe de
de Von
Von Neuman
Neuman
Samia Bouzefrane, Cours 13
SYSTEME
Exemples
Exemples de
de processeurs
processeurs
Pentium IV 2002
– 64 bits données et 32 bits adresses
– H = jusqu’à 2.53 Ghz.
– Cache L1 :12K/8K - L2 : 512 K on chip
– Nb transistors = 42 millions
IBM Power IV
– 64 bits adresses et données
– H = 1.3 Ghz
– Cache 64 K/64K - L2 : 1,4 M. on chip 128 M
off chip
– Nb transistors = 170 millions
– 2 procs + cache L2 on chip
Samia Bouzefrane, Cours 14
SYSTEME
Exemples
Exemples de
de processeurs
processeurs
Pentium4 2004
– 64 bits adresses et 32/64 données
– H = 3.6 Ghz
– Cache L1 :12K/16K - L2 : 1M on chip
– Nb transistors = 100 millions
IBM Power5 (Bi-processeur)
– 64 bits adresses et données
– H = 1.9 Ghz
– Cache 64 K/32K - L2 : 1,9 M. on chip
36 M off
chip
– 2 procs + cache L2 on chip
Samia Bouzefrane, Cours 15
SYSTEME
Algorithme
Algorithmeexécuté
exécutépar
parleleprocesseur
processeur
Samia Bouzefrane, Cours 16
SYSTEME
La mémoire
Samia Bouzefrane, Cours 17
SYSTEME
La
Lahiérarchie
hiérarchiemémoire
mémoire
Gérée par :
- Le compilateur
- Un dispositif
câblé
- Le système
d’exploitation
- La création de fichiers
(SGF)
Samia Bouzefrane, Cours 18
SYSTEME
La
Lamémoire
mémoirecentrale
centrale
• La mémoire, contenant des instructions et des données, est
organisée en un ensemble de mots numérotés consécutivement à
partir de 0
• Le N° associé à chacun de ces mots est l’adresse physique
• L’ensemble de ces adresses forme l’espace d’adressage physique
de la mémoire
Samia Bouzefrane, Cours 19
SYSTEME
Gestion
Gestionde
dela
lamémoire
mémoirecentrale
centrale
• Taille mémoire limitée mêm si de plus en plus
importante
• Découpage de la mémoire en :
– zones de taille variable
– pages de taille fixe : la pagination
–segments (chaque segment contient un
nombre fixe de pages mémoire) : la segmentation
Samia Bouzefrane, Cours 20
SYSTEME
Les
Entrées/Sorties
Samia Bouzefrane, Cours 21
SYSTEME
Gestion
Gestiondes
desE/S
E/Set
etdes
desfichiers
fichiers
• Les dispositifs d’E/S
• Intégration des E/S dans le
SE
• Le Système de Gestion de
fichiers
– Le type fichier
– Les méthodes d’accès
– L’allocation sur le disque
– Le RAID
• Exemples UNIX, Linux,
Windows
Samia Bouzefrane, Cours 22
SYSTEME
Introduction
Introduction
• Un écran vidéo ; un clavier
• Un disque magnétique
• Une imprimante
Caractéristiques communes :
-Les périphériques d'E/S sont beaucoup plus lents que l'unité de
traitement
Libérer l'UC des opérations
d'E/S Comment ?
Samia Bouzefrane, Cours 23
SYSTEME
L’accès
L’accèsdirect
directmémoire
mémoire(DMA)
(DMA)
•Technique qui fournit un chemin direct entre le bus d’E/S et la
mémoire sans intervention du processeur.
• Le DMA soulage l’UC du contrôle des entrées-sorties
• L ‘E/S "vole" un cycle mémoire à l'UT pour réaliser un transfert
• L'exécution du programme UC continue pendant le transfert DMA
• Si conflit d'accès à la mémoire priorité au DMA
Samia Bouzefrane, Cours 24
SYSTEME
Accès
AccèsDirect
DirectMémoire
Mémoire
Samia Bouzefrane, Cours 25
SYSTEME
Les
Lestypes
typesd’interruption
d’interruption
1 Interne à l'unité de traitement
*division par 0
* dépassement de capacité numérique
* erreur de parité sur la mémoire
* erreur de transmission
* défaut d'alimentation électrique
2 La sollicitation d'une unité périphérique
* commande pupitre (RAZ - INIT)
* demande de service pour envoyer ou recevoir une donnée
3 Les Appels superviseur provoqués par le programme
* Lancement de tâches
* Allocation de ressources matérielles (mémoire - disque -
imprimante ...)
* Réalisés par des instructions de type SVC (Supervisor Call)
4Moyen de communication entre unités de traitements dans
une architecture multiprocesseur.
Samia Bouzefrane, Cours 26
SYSTEME
Les
Processus
Samia Bouzefrane, Cours 27
SYSTEME
Critères
Critèresde
dedécoupage
découpageen
enprocessus
processusconcurrents
concurrents
parallélisme physique présent dans l'application
• un processus pour chaque organe d'entrée/sortie : imprimante, souris,
• processus clients et processus serveurs dans un système réparti
• processus de lecture de capteurs dans un système embarqué (réseaux
de capteurs)
parallélisme logique de l'application
• activités avec différentes échéances ou importances.
• activités avec différents comportements : périodiques, réactives,
cycliques.
• activités de natures différentes : calcul, acquisition, présentation,
client, serveur.
• activités distantes, réparties ou mobiles
•regroupement des actions fonctionnellement proches pour
limiter les interactions interprocessus.
Samia Bouzefrane, Cours 28
SYSTEME
Représentation
Représentation des
desprocessus
processus
Processus :
• entité d’exécution (séquence d'actions) d’un programme
• exécution sur un processeur
•représentation de ce processus (par une structure
de données) dans le moteur d'exécution (le noyau du
système)
Décomposition d'une application en processus
• statique : le nombre des processus est fixe et connu
dès le départ
• dynamique : création et destruction pendant le
déroulement
Niveau et hiérarchie de processus
• un seul niveau : tous égaux (ex. Concurrent Pascal)
• hiérarchie de processus avec emboîtement (ex. Unix,
CréationAda): de processus
•par déclaration
relation père-fils etd'un
arborescence
modèle (type,de la descendance,
classe) le père doit
et instanciation
attendre
d'un objetque tous
selon ceses fils aient
modèle (ex. terminé.
Ada, Java)
• par création d'une copie (clone) du père dans son état au
moment de la 29
c r é a t i o n d u f il s (ex. Unix, Linux : fork)
Samia Bouz e fr an e , C ou rs S Y STE M E
Gestion
Gestionsystème
systèmedes
desprocessus
processus
États d'un processus
-prêt (activable): le processus possède toutes les ressources pour
s’exécuter sauf le processeur
- élu (actif): a obtenu le processeur qui exécute les instructions de
son code
- bloqué : processus bloqué en attente d'un événement (fin d’E/S)
Fin
Attente d’événement En attente d’une ressource
AAcctitfi/ (blocage) bloqué
bloqué
En exécution f /É lu
É lu Allocation
du processeur Événement
arrivé (déblocage)
Préemption
AAcctitvivaabblele/
P/Prêrêt t Réveil
En attente du processeur
Samia Bouzefrane, Cours 30
SYSTEME
Création
Création des
desprocessus
processus
Initialisation de processus
• passage de paramètres à la création (ex. Unix/Linux : exec )
•pas de paramètre, donc acquisition explicite par le processus une
fois créé (ex. Unix/Linux : fork crée un processus avec duplication
du code et données)
Démarrage ou activation des processus
• à la création (les processus sont créés actifs, en Ada)
• à l’instanciation de classes (création de threads en Java)
Mode de comportement des processus: séquentiel, cyclique,
périodique, etc.
Terminaison de processus
• fin correcte du code
• terminaison imposée par le noyau (erreur, dépassement de
ressource)
• auto terminaison (suicide) sur exception
• terminaison forcée par un autre processus(« CTRL/C » sous
Unix/Linux) 31
Samia Bouzefrane, Cours
SYSTEME • jamais : processus cyclique permanent ("démon")
• jamais : boucle infinie par erreur
Descripteur
Descripteur de
de processus
processus
Bloc de contrôle (utilisé par le système) comporte :
• identificateur repérant de manière unique chaque processus
• état du processus
•environnement volatile (copie des registres du processeur,
du compteur ordinal et du pointeur de pile, à la fin de la
dernière élection)
• liens permanents de chaînage vers les descripteurs de
ressources
Samia Bouzefrane, Cours 32
SYSTEME
Ordonnancement
Ordonnancementdes
desprocessus
processus
Allocation du processeur
• sans réquisition possible (préemption) jusqu'à fin
de l'état actif
• avec réquisition si :
- activation d'un processus plus "prioritaire"
- baisse dynamique de "priorité"
- fin de quantum d'allocation
quelques règles de gestion des processus prêts:
• ancienneté (FIFO)
• quantum de taille fixe ou variable
• priorités fixes ou dynamiques
Samia Bouzefrane, Cours 33
SYSTEME
Ordonnancement
Ordonnancementdes
desprocessus
processusLinux
Linux
Trois politiques d’ordonnancement sous Linux :
-SCHED_FIFO : pour ordonnancer des processus non
préemptibles
-SCHED_RR : pour ordonnancer des processus préemptibles
(quantum de temps)
-SCHED_OTHER : pour ordonnancer des processus
quelconques
-Les processus de la SCHED_FIFO sont plus prioritaires
que ceux de la SCHED_RR qui eux sont plus prioritaires
que ceux de la SCHED_OTHER.
Les priorités :
• varient de 1 à 99 dans la SCHED_FIFO et la
SCHED_RR (le processus de priorité 99 est le plus
prioritaire).
• égales
Samia Bouzefrane, Cours à 0 dans la SCHED_OTHER. 34
SYSTEME
Conclusio
n
Samia Bouzefrane, Cours 35
SYSTEME
Le
Lerôle
rôledu
dusystème
systèmed’exploitation
d’exploitation
Le SE est une interface entre les applications et le matériel
• Le SE a pour responsabilités de :
– gérer les ressources (mémoire, disque, périphérique,
processeur, etc.)
– associer les protections nécessaires à la gestion des
ressources
– fournir un accès équitable aux différentes ressources
partagées
– ordonnancer les programmes pour assurer une bonne qualité
de service
Samia Bouzefrane, Cours 36
SYSTEME
Caractéristiques
Caractéristiquesdes
desSE
SEmodernes
modernes
• Multi-threading
– Processus légers
• Multi-processus
• Multi-cœur, partage mémoire (multi-
processeur)
• Architecture à micro-noyaux (micro-
kernel)
– Gestion de l’adressage
– Communication interprocess
– Ordonnancement
• Système distribué
Samia Bouzefrane, Cours 37
SYSTEME
Bibliographie
Bibliographie
Samia Bouzefrane, Cours 38
SYSTEME