Vous êtes sur la page 1sur 571

Facult des Sciences de Tunis

Dpartement des Sciences de lInformatique



SECTION IF3
(Ingnieur en Informatique)
Matire
Systme dExploitation
2011/2012

Systmes d'Exploitation
IF3 - 2011/2012
1
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
2
Prsentation
Matire
Systme dExploitation (SE)
Operating System (OS)
Objectif
Apprendre les aspects externe et
interne dun ordinateur
Comment lutiliser (Exploitation)
Comment il fonctionne (Gestion)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
3
Remarques (1)
Utilit du support de cours
Eviter de tout crire durant les sances
de cours
Se concentrer sur la comprhension
Complter le support de cours par des
notes personnelles
Erreurs dans le support
En principe non, mais nul nest infaillible
Me signaler les erreurs ventuelles
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
4
Remarques (2)
Le support est-il complet ?
Oui
Tous les concepts fondamentaux des OS
se trouvent dans le support
Mais, le contenu est synthtique
Non
Ncessite des explications
supplmentaires qui seront donnes en
cours et parfois en TD
Sinon pourquoi venir en cours
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
5
Remarques (3)
Faut-il prendre des notes ?
Absolument
Tout nest pas dtaill dans le support
Complments, Remarques, Explications, etc.
Le fait de prendre des notes oblige
ltudiant tre veill et mieux
comprendre le cours

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
6
Remarques (4)
Questions pendant les sances
de cours
Linteraction Professeur-Etudiant est
plus que souhaitable
Elle oblige le professeur tre lcoute
des tudiants
Permet au professeur damliorer le
support de cours danne en anne
Systmes dExploitation
IF3 - 2011/2012
Travail personnel
Recommandations
Rvisez vos cours rgulirement
Ne prenez pas de retard
Faites le maximum dexercices de TD
Essayer de travailler les fiches de TD et les
examens des annes antrieures
Utiliser de manire intensive, selon vos
possibilits, un systme dexploitation
Windows et surtout Unix

Y. SLIMANI
7
Remarques (5)
Systmes dExploitation
IF3 - 2011/2012
Travail personnel et
honntet (1) Source: Martin Quinson
Principes gnraux
Ne copiez pas, ne trichez pas
Une fraude un examen peut entraner
lexclusion de luniversit
La copie dun TP donne lieu un ZERO
Pas de distinction entre copieur et copi
Pas de bonnes raisons pour copier
En cas de problmes ou de difficults, me
contacter ou contacter votre assistant
Nous sommes votre disposition pour vous aider

Y. SLIMANI
8
Systmes dExploitation
IF3 - 2011/2012
Travail personnel et
honntet (2)
Que signifie tricher ?
Rendre le travail d'un de vos camarades
en mettant votre nom
Obtenir une rponse par Google ou tout
autre navigateur et mentir en disant que
cest votre rponse
Rcuprer du code et ne changer que les
noms de variables et fonctions ou leur
ordre et affirmer que cest votre code

Y. SLIMANI
9
Systmes dExploitation
IF3 - 2011/2012
Travail personnel et
honntet (3)
Permettre un de vos camarades de
s'inspirer de votre travail (en fait de le
copier)
Les tricheries et le plagiat peuvent tre
facilement dtects
Personne ne code la mme chose de la
mme manire
Il existe des logiciels trs efficaces pour la
dtection de fraudes et de plagiat
Nous les utiliserons en cas de besoin

Y. SLIMANI
10
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
11
PARTIE 1
Exploitation
dun
ordinateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
12
Introduction (1)
Structure dun ordinateur
2 Parties
Matrielle ou Hardware
Logicielle ou Software
Partie Hardware
Composants physiques
Processeur, Mmoire, Ecran, Disque,
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
13
Introduction (2)
Partie Software
Systme dexploitation
Dos, Windows, Unix, Linux, MacOS,
Logiciels de base
Indispensables pour exploiter un
ordinateur
Noyau du systme (systme minimal)
Charg en MC partir du disque la mise en ON


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
14
Introduction (3)
Logiciels dapplication
Suite MSOffice
WinWord, Excel, Powerpoint,
OpenOffice
Equivalent de MSOffice pour Unix (Linux)
Navigateurs Web
Divers applicatifs
Skype, Jeux, Graveurs, Inscriptions en ligne,
Chargs en MC uniquement lors de leur
utilisation
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
15
Hardware (1)
Composants Physiques
Processeur
Unit dexcution
Excute des instructions machine
Instructions codes en langage binaire
2 grandes familles non compatibles
INTEL
MOTOROLA
Vitesse dexcution (Horloge)
Exemple: 3.5 Ghz

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
16
Hardware (2)
Mmoire centrale ou RAM
Unit de mmorisation temporaire
Volatile
Perd son contenu en cas de coupure dalimentation
Taille
Exemple: 1Go (Giga Octet)
Vitesse
Temps ncessaire pour lire ou crire une
information en mmoire
Existence dautres mmoires (cache, )
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
17
Hardware (3)
Priphriques
Tout composant physique autre que le
processeur et la mmoire centrale
Ecran, Clavier, Disque, CD, Souris, Manette de jeu,
Imprimante, Cl USB, Modem, Web Cam,
Chacun a ses propres caractristiques
Ressources Physiques
Ensemble des composants physiques dun
ordinateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
18
Exploitation
Utilisation dun ordinateur
Systme dexploitation
Lien entre utilisateur et un ordinateur
INTERFACE
Faciliter lutilisation dun ordinateur
Logiciels (Applicatifs)
En plus de lOS, certains sont fournis
gratuitement
Les autres sont achets et/ou dvelopps

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
19
Programmation (1)
Objectif
Ecrire des programmes (Applications)
qui pourront tre soumis un systme
pour tre excuts sur un ordinateur en
vue dobtenir des rsultats
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
20
Programmation (2)
Ecriture de programmes
Langage de programmation
Editeur de texte
Hirarchie des langages
Langages machines
Reconnaissables par un processeur
Dpendent du type de processeur
Incomprhensibles par un utilisateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
21
Programmation (3)
Langage Assembleur
Dpend du type de processeur
Proche de la machine
Utilis pour crire des programmes
Comprhensibles par le programmeur
Non excutables par le processeur
Performants
Ncessit davoir un traducteur
ASSEMBLEUR
Passage du langage assembleur au langage machine

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
22
Programmation (4)
Langages volus
Plus proches des utilisateurs que des
machines
Indpendants des processeurs
Permettent de dvelopper des programmes
portables (?) dune machine une autre
Ncessitent un traducteur (logiciel)
COMPILATEUR, INTERPRETEUR
Exemples
Pascal, C, C++, Java, VB,

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
23
Programmation (5)
Langages spcifiques
Temps-rel, Mobiles, VHDL, Shell,
Editeur de texte
Logiciel pour produire des fichiers
texte
Fourni(s) avec lOS
Editeur de texte standard
Fourni(s) avec un langage de
programmation
Associs un langage de programmation

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
24
Programmation (6)
Environnements de
programmation
Ensemble doutils graphiques pour
faciliter le dveloppement dapplications
Dvelopper
Compiler
Excuter

Exemples
VB, Visual J++, JBuilder, Eclipse,
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
25
Notion de Programme (1)
Programme
Dcrit une logique de rsolution dun
problme
Problme Algorithme Programme
Ecrit dans un langage bien dfini
Partie syntaxique (forme)
Dpend du langage
Doit tre respecte sinon erreurs
Programme = Donne + Instructions
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
26
Notion de Programme (2)
Partie smantique
Dfinit la logique de rsolution
Ce que fait le programme
Peut ne pas donner le rsultat attendu
Prcise lordre dexcution des
instructions
Excution SEQUENTIELLE
Excuter linstruction de rang i (dans la squence)
que si linstruction de rang (i-1) a t excute
correctement (termine sans erreurs)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
27
Etapes de Programmation
(1)
Etapes de mise en uvre dun
programme
Edition
Outils ncessaires
Langage de programmation
Editeur de texte
Rsultat de ldition
Programme source

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
28
Etapes de Programmation
(2)
Compilation (ou interprtation)
Analyse syntaxique du programme source
Dtection derreurs syntaxiques
Correction et recompilation
Analyse smantique
Traduire le programme source (Rgles smantiques)
Rsultat
Programme objet ou excutable
Programme objet : programme non excutable
dans ltat et ncessite une tape
supplmentaire (Edition de Liens)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
29
Etapes de Programmation
(3)
Programme excutable : est dans une forme
directement excutable
Edition de liens
Etape de rsolution des liens entre
programmes compils sparment
Prend plusieurs programmes objets (fichiers) pour
les rassembler et produire un programme excutable
(fichier excutable)
Rsultat
Programme excutable

Systmes dExploitation
IF3 - 2011/2012
Etapes de Programmation
(4)
Chargement + Excution
Ralises par un programme (cbl) du
systme appel CHARGEUR
Dtermination de ladresse de chargement en MC
Chargement du code excutable en MC ladresse
dfinie par le chargeur
Lancement de lexcution


Y. SLIMANI
30
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
31
Source: Martin Quinson
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
32
Utilisation dun OS
LOS interagit avec diffrentes
entits
Utilisateurs
Programmes des utilisateurs
Logiciels d'application


Systmes dExploitation
IF3 - 2011/2012
Bibliothques (1)
Prsentation
Bibliothques logicielles (Librairies)
Rassembler des fonctions (pr-compiles)
en un fichier prt lemploi
Fonction usage gnral
Exemple: Fonctions dentre/sortie (stdio.h)
Intrt
Ne pas rcrire du code qui a t dj
crit et test (rutilisation)


Y. SLIMANI
33
Systmes dExploitation
IF3 - 2011/2012
Bibliothques (2)
Types
Bibliothques statiques
Rutilises par un programme
Sintgrent durant ldition de liens
Bibliothques dynamiques
Rutilises par un programme
Leur dition de liens a t dj faite
Incorpores aux programmes au moment
de leur excution

Y. SLIMANI
34
Systmes dExploitation
IF3 - 2011/2012
Bibliothques (3)
Exemples de bibliothques statiques
Windows
Fichiers dextension *.h (stdio.h)
Unix
Fichiers dextension *.lib ou *.a
Exemples de bibliothques dynamiques
Windows
Fichiers *.dll (Dynamically Linkable Library)
Unix
Fichiers *.so (Shared Object)


Y. SLIMANI
35
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
36
Interactions Utilisateur-
Systme (1)
Deux modes dinteraction
Mode Commande ou Mode Texte
Processus cyclique
Le systme accepte une commande de lutilisateur
Il analyser la commande de lutilisateur
Il interprte la commande et renvoie le rsultat
lutilisateur ou un message derreur
Connatre un langage de commandes
Utilisation dun interprteur de
commandes : SHELL

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
37
Interactions Utilisateur-
Systme (2)
Mode Graphique
Ecran
Fentre dinteraction (Window)
Utilisation de menus et de la souris
Mode ergonomique
A la porte de tout le monde
Modes complmentaires


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
38
Interactions Programme-
Systme

Point de vue programmation
Systme
Ensemble de fonctions (services) utilises
par les programmes utilisateurs
Appeles dans les programmes utilisateurs
Format dappel prdfini
Fonctions de base (printf, scanf, malloc, )
Fonctions avances (syscall, )


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
39
Excution de programmes
(1)
Excution des programmes
Fonction ralise par un processeur
Deux types de programmes quil faudra
diffrencier
Systme
Utilisateur
Mode Systme
Privilgi, Matre, Master, Superviseur,
Systme
Rserv aux programmes du systme

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
40
Excution de programmes
(2)
Caractristiques
Accs tout lespace de la mmoire
Excution de toutes les instructions du processeur
(Jeu dinstructions)
Fonctions du systme peuvent tre utilises par les
programmes utilisateurs mais de manire indirecte
(appeles avec des instructions privilgies
spciales -)
Appel Systme (INT, SVC, Syscall, )
Pas de possibilit dexcuter directement une
fonction systme

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
41
Excution de programmes
(3)
Mode Programme
Non privilgi, Esclave, Slave, Utilisateur,
User, Programme
Mode dexcution des programmes
utilisateurs
Restrictions
Accs limit la mmoire (limites de lespace allou
au programme)
Utilisation partielle de lensemble du jeu
dinstructions du processeur

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
42
OS
P
r
o
g
r
a
m
m
e

u
t
i
l
i
s
a
t
e
u
r

M
o
d
e

S
y
s
t

m
e

M
o
d
e

P
r
o
g
r
a
m
m
e

Jeu dinstructions Processeur
Mode Systme
Mode Programme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
43
Excution de programmes
(4)
Passage du mode utilisateur au mode
systme
Appel systme
SVC (Supervisor Call), Syscall
INT (Interrupt)


Systme Utilisateur
Interrupt / Fault
Retour
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
44
Appels systme (1)
Utilit
Permettre un programme utilisateur
dutiliser des fonctions du systme
Utilisables travers des appels
spcifiques appels Appels Systme
Exemples : Fonctions dE/S, Horloge,
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
45
Appels systme (2)
Offerts par les langages de
programmation
Appel par instructions spciales
Exemple: Instruction INT de lAssembleur
Inclusion de bibliothques ou packages
C, C++, Java
#include<stdio.h>
import java.io.*;
Systmes dExploitation
IF3 - 2011/2012
Exemple

Y. SLIMANI
46
A traiter en TD
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
47
Logiciels (1)
Deux catgories de logiciels
Logiciels de base
Logiciels dapplication
Logiciels de base (OS)
Noyau (Kernel)
Fonctions minimales dun OS
Indpendantes de toute application ou mode
dutilisation dun ordinateur
Charg en mmoire centrale lors du dmarrage


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
48
Logiciels (2)
Ensemble de services
Extension du noyau
Compltent un systme (hors noyau)
Utilisables la demande (besoins)
Rsident en permanence sur disque
Chargs en mmoire centrale sur demande
Logiciels d'application
Rpondre des besoins spcifiques
Achets et/ou dvelopps

Systmes dExploitation
IF3 - 2011/2012
Exploitation dune
machine (1)
Achat dun ordinateur
Matriel
Systme pr-install
CD de secours
Mise jour du systme
R-installation du systme
Rcupration du systme suite de
mauvaises manipulations


Y. SLIMANI
49
Systmes dExploitation
IF3 - 2011/2012
Exploitation dune
machine (2)
Installation et configuration
Installation prdfinie
Systme de base
Exemples: Windows, Linux
Mise jour du systme
Service offert par le systme de base
Rajout et/ou suppression de composants


Y. SLIMANI
50
Systmes dExploitation
IF3 - 2011/2012
Exploitation dune
machine (3)
Installation dapplicatifs
Ne font pas partie du systme de base
MsOffice, Openoffice, etc
Installation manuelle
Setup, Install,
Installation personnalise
Construire son propre OS
Choisir les services installer
Possibilit de modifier le systme
Recompilation du noyau de lOS (Linux)


Y. SLIMANI
51
Systmes dExploitation
IF3 - 2011/2012
Exploitation dune
machine (4)
Configuration et installation de matriel
Modifier les caractristiques des
quipements existants
Ecran (Rsolution), Imprimante,
Installer et configurer de nouveaux
quipements
Imprimante, Scanner, Camra, etc.



Y. SLIMANI
52
Systmes dExploitation
IF3 - 2011/2012
Exploitation dune
machine (5)
Principe gnral dinstallation
Mode dinstallation graphique
Affichage de menus avec des options
Choisir les options souhaites
Type dcran, rsolution, couleurs,
Type dimprimante, forme dimpression,

Lancer linstallation

Y. SLIMANI
53
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
54
Applications et services
(1)
Applications
Ensemble de programmes (logiciels)
Fournissent des fonctions spcifiques
Traitement de texte, tableur, logiciel de dessins,
logiciel de vido, etc.
Gestion des inscriptions, Paiement lectronique,
etc.
Pr-installs ou installation par
procdure spciale
Setup, Install,

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
55
Applications et services
(2)
Services
Ensemble de programmes
Grent des ressources ou des vnements
Comptes utilisateurs, rseau, gestion des
impressions, etc.
Lancs automatiquement ou
manuellement
Exemple: Antivirus
Rveills rgulirement ou la suite de
larrive dvnements spcifiques
Rception de courrier lectronique, MAJ logiciels

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
56
Modes d'exploitation

Plusieurs modes dexploitation
dun ordinateur
Mono-utilisateur
Machine individuelle
Pas de partage
Multi-utilisateurs
Machine accessible par plusieurs
utilisateurs
Utilisateurs connects une machine
Partage des ressources de la machine


PARTIE 2
Gestion de
Fichiers
Systmes d'Exploitation
IF3 - 2011/2012
57
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
58
Introduction (1)
Notion de fichier
Elment fondamental pour lutilisation
dun ordinateur
Paramtre de toute opration
Crer, Editer, Compiler, Excuter, Enregistrer,
Diffrents types
Fichier ordinaire (simple)
Rpertoire
Bibliothque

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
59
Introduction (2)
Structure
Aucune sous Unix
Fichier: suite doctets
Sous Windows
Lie une application (nom avec extension)
Structure dpendante de lapplication
Word, XML, Mail, Vido,
Attributs
Proprits dun fichier
Stocks dans un rpertoire spcial
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
60
Introduction (3)
Exemples dattributs
Nom, Identificateur interne (Nombre, I-node sous
Unix), Type, Adresse physique, Taille, Droits daccs,
Dates,
Oprations
Multiples (Lire, Ecrire, Excuter)
Dpendent du type de fichier
Texte, excutable,
Organiss sous forme dARBRE
Arborescence de fichiers
Relation Pre-Fils avec racine unique
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
61
Introduction (4)
Appartenance
Prive
Accs restreint
Publique
Partags entre utilisateurs, applications, etc.
Accs
Se fait selon des rgles dutilisation
Droits daccs
Oprations permises sur les fichiers
Utilisateurs autoriss accder un fichier
Systmes dExploitation
IF3 - 2011/2012
SGF (1)
Systme de Gestion de
Fichiers
Elment fondamental dun OS
Ensemble de fonctions pour manipuler
les fichiers
Accessibles en mode graphique et en
mode commande
Utilises par les utilisateurs travers
leurs programmes


Y. SLIMANI
62
Systmes dExploitation
IF3 - 2011/2012
SGF (2)
Fonctions dun SGF
Organisation logique des fichiers sur
support magntique
Arborescence (arbre de fichiers)
Organisation physique
Stockage de larborescence sur un support
Passage du niveau logique au niveau
physique
Relation entre nom dun fichier et lensemble des
blocs physiques qui le composent sur support
physique

Y. SLIMANI
63
Systmes dExploitation
IF3 - 2011/2012
SGF (3)
Conservation permanente des fichiers sur
un support magntique
Partage et protection des fichiers

Y. SLIMANI
64
Systmes dExploitation
IF3 - 2011/2012
SGF (4)
Dsignation des fichiers
Dsignation symbolique
Nommage
Identifier un fichier dans un arbre de fichiers
Dsignation selon une arborescence
Nom (chemin) absolu dun fichier
Chemin, dans larbre, qui permet didentifier un
fichier depuis la racine de larbre
Nom (chemin) relatif
Chemin partir dun rpertoire courant

Y. SLIMANI
65
Systmes dExploitation
IF3 - 2011/2012
SGF Unix (1)
Prsentation
Caractristiques dun fichier
Nom symbolique (nom externe)
Peut avoir ou non une extension
Possde un INODE unique
Table regroupant les informations sur le fichier
Nom interne (numro du Inode correspondant)
Cr lors de la cration du fichier et disparat avec
sa suppression physique


Y. SLIMANI
66
Systmes dExploitation
IF3 - 2011/2012
SGF Unix (2)
Fonctionnalits
Ouverture, Fermeture, Lecture, Ecriture,
Excution
Types de fichiers
Ordinaires (-)
Rpertoire (d)
Lien symbolique (l)



Y. SLIMANI
67
Systmes dExploitation
IF3 - 2011/2012
SGF Unix (3)
Units de stockage
Pas dunits au sens Windows
A: , C: , D: , E: .
Utilisation de la notion de PARTITION
LOGIQUE
Sous arborescence de fichiers
Oprations sur les partitions
Montage (Monter une cl USB)
Dmontage (Retirer une cl USB)

Y. SLIMANI
68
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
69
Allocation de fichiers (1)
Problme
Fichier stocker
Lui allouer de lespace sur disque
Unit dallocation
BLOC (taille usuelle: 512 octets)
Allocation par multiple de blocs
CLUSTER (taille usuelle: 4Ko)
Un seul fichier par cluster
Un fichier peut occuper un ou plusieurs clusters

Systmes dExploitation
IF3 - 2011/2012
Allocation de fichiers (2)
Quelle mthode dallocation utiliser ?
Allocation contige
Allocation chane
Allocation indexe


Y. SLIMANI
70
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
71
Allocation de fichiers (3)
Allocation contige
Blocs contigus sur disque pour un fichier
Avantages
Blocs successifs
Rapidit daccs aux donnes du fichier
Inconvnients
Trouver le nombre de blocs successifs
(adjacents) requis pour un fichier
Problme de MAJ (ajout de blocs)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
72
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
73
Allocation de fichiers (4)
Allocation chane
Adresse du premier bloc
Liens entre les blocs
Avantage
Eviter la contrainte de contigut
Dispersion des blocs dun fichier sur disque
Inconvnients
Temps daccs plus long (liens)
Diminution de la taille des blocs (liens)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
74
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
75
Allocation de fichiers (5)
Allocation indexe
Permettre un accs rapide aux blocs
dun fichier
Utilisation de la notion de pointeur
Un pointeur par bloc
Pointeurs regroups dans un bloc spcial
(Bloc Index)
Blocs de
donnes
Index
Systmes dExploitation
IF3 - 2011/2012
Allocation de fichiers (6)
Avantages
Sparer les blocs de donnes des blocs
dindex
Pas de perte de place pour les blocs de donnes
Accs plus rapide
Accs direct
Inconvnients
Plus de blocs (donnes et index)
MAJ des blocs dindex

Y. SLIMANI
76
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
77
-1: pointeur NULL
Systmes dExploitation
IF3 - 2011/2012
Allocation sous UNIX
Mthode originale
Structure utilise
Table de 13 adresses
Adresses directe pour les 10 premiers blocs dun
fichier
Adresses indirectes pour la onzime entre
Deux niveaux d'indirection pour la douzime entre
Trois niveaux d'indirection pour la dernire entre
Taille dun bloc en terme dadresses
128 adresses


Y. SLIMANI
78
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
79
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
80
Gestion espace libre (1)
Problme
Fichier F de taille T(F) stocker sur
disque
Calculer le nombre de blocs ncessaires
pour stocker F (NB)
Comment savoir sil existe un nombre de
blocs libres > NB
Solution
Reprsentation de lespace libre du disque
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
81
Gestion espace libre (2)
Solution 1
Vecteur de bits
1 bit par bloc
0 : Libre
1 : Occup
Solution adopte par Macintosh et
Win2000
Exemple
00011100011000011
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
82
Gestion espace libre (3)
Solution 2
Liste chane
de blocs libres
Adopte par
MS-DOS,
Win9x

PARTIE 3
Processus
(Aspect utilisateur)
Systmes d'Exploitation
IF3 - 2011/2012
83
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Processus (1)
Prsentation
Abstraction de lexcution dun
programme par un processeur
Entit dynamique
Evolue dans le temps
Passe dun tat initial un tat final
Un programme est une entit statique
Nvolue pas dans le temps
Son tat (contenu) ne change pas malgr le
changement du temps de la machine (horloge)


Y. SLIMANI
84
Systmes dExploitation
IF3 - 2011/2012
Processus (2)
Point de vue utilisateur
Lancer un programme excutable
Systme cre un processus et gre son
volution
Possibilits de suivre un processus
Connatre son tat
Progresse, Arrt, Bloqu, Suspendu,
Agir sur le processus
Larrter dfinitivement (Tuer le processus)


Y. SLIMANI
85
Systmes dExploitation
IF3 - 2011/2012
Processus (3)
Le suspendre puis le reprendre
Moyens daction
Ctrl+Alt+Del sous Windows
Commandes sous Unix (ps)
Seuls les processus visibles sont accessibles
Exemples de processus
Excution dune application
Copier un fichier
Envoi dun message sur le rseau
Lancer une impression

Y. SLIMANI
86
Systmes dExploitation
IF3 - 2011/2012
Processus (4)
Point de vue OS
Espace dadressage
Partie(s) de la mmoire centrale dans
laquelle on a charg le code (instructions)
et les donnes du processus
Etat interne du processus
Compteur ordinal, fichiers ouverts, tat du point de
vue excution, etc.
Lutilisateur peut agir sur certains lments de cet
tat interne (exemple: arrter le processus)

Y. SLIMANI
87
Systmes dExploitation
IF3 - 2011/2012
Processus (5)
Programme vs processus
Excution dun programme
Par un seul utilisateur
1 programme 1 processus
Par plusieurs utilisateurs
Mme programme Processus diffrents
Mme chose que classe dobjets et instance dobjet

Y. SLIMANI
88
Systmes dExploitation
IF3 - 2011/2012
Processus (6)

Y. SLIMANI
89
Pile : Garder trace de lexcution de fonctions
(fonctions appelantes, fonctions appeles)

Tas (Heap) : Zone de mmoire dynamique
(crer des variables durant lexcution, allocation dynamique de mmoire)
Source: Martin Quinson
Systmes dExploitation
IF3 - 2011/2012
Processus (7)
Cration de processus
2 mthodes
Par lancement dun programme
Commande ou click sur licne du programme
Par excution dinstruction
Cration dynamique
Un processus cre un autre et ainsi de suite
Fonction fork() sous Unix (langage C)
Mthode start() de la classe Thread de JAVA

Y. SLIMANI
90
Systmes dExploitation
IF3 - 2011/2012
Processus (8)
Hirarchie ou arbre
de processus
Processus Pre
et processus fils



Y. SLIMANI
91
Source: Martin Quinson
PARTIE 4
Scurit et
Protection
(Aspect utilisateur)
Systmes d'Exploitation
IF3 - 2011/2012
92
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Introduction (1)
Pourquoi la scurit ?
Systme informatique
Ensemble de ressources
Matrielles
Logicielles
Ensemble de fichiers (code, donnes)
Systme vulnrable
Peut tre attaqu
De lintrieur ou de lextrieur

Y. SLIMANI
93
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
94
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
95
Introduction (2)
Position du problme
Exemple systme Windows
Mise en ON (manuelle)
Affichage du bureau
Accs toutes les ressources disponibles
Accs nimporte quel fichier
Lire, copier, modifier, supprimer
Installer et supprimer nimporte quelle application
Modifier les paramtres du systme et/ou des
applications
Supprimer le systme (formatter le disque)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
96
Introduction (3)
Machine individuelle
Ressources propres une seule
personne
Pas de partage
Seul le propritaire sera pnalis
Besoin quand mme de scurit
Machine partageable
Ressources partageables
Besoin de scurit plus important
Systmes dExploitation
IF3 - 2011/2012
Scurit (1)
Objectifs
Authentification
Confidentialit
Intgrit
Disponibilit
Types
Physique
Logique

Y. SLIMANI
97
Systmes dExploitation
IF3 - 2011/2012
Scurit (2)
Authentification
Identit numrique
Mthodes dauthentification
Quelque chose que lon connat
Mot de passe, Informations personnelles,
Quelque chose que lon possde
Carte puce,
Quelque chose que lon est
Empreintes, Iris de lil,

Y. SLIMANI
98
Systmes dExploitation
IF3 - 2011/2012
Scurit (3)
Quelque chose que lon fait
Voix, signature,
Authentification forte
Combinaison de deux mthodes ou plus
Objectifs
Naccdent au systme que ceux qui sont
autoriss le faire
Dterminer le statut dun utilisateur
Savoir ce quil est autoris faire aprs avoir t
autoris accder au systme


Y. SLIMANI
99
Systmes dExploitation
IF3 - 2011/2012
Scurit (4)
Confidentialit
Proprit d'une donne qui ne doit tre
diffuse quaux personnes autorises
Les informations nappartiennent pas
tout le monde, mme si elles existent
Restrictions daccs
Fichiers systme
Fichiers utilisateurs

Y. SLIMANI
100
Systmes dExploitation
IF3 - 2011/2012
Scurit (5)
Intgrit
Proprit d'une donne dont la valeur
est conforme celle dfinie par son
propritaire
Domaine de variation dune variable
Age compris entre deux valeurs prdfinies
Numro de CIN
Doit tre unique

Y. SLIMANI
101
Systmes dExploitation
IF3 - 2011/2012
Scurit (6)
Disponibilit
Capacit dun systme assurer ses
fonctions au moment o lutilisateur en a
besoin
Exemples de cas dindisponibilit
Composant physique dfaillant
Fichier corrompu
Application infecte par un virus

Y. SLIMANI
102
Systmes dExploitation
IF3 - 2011/2012
Protection
Quest ce que la protection ?
Scurit
Dfinir des objectifs et des politiques de
scurit
Protection
Mise en place de ces objectifs et de ces
politiques
Mcanismes, Outils, Mthodes, etc.

Y. SLIMANI
103
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
104
Exemple (1)
Systme Unix (Linux)
Utilisateur
Dispose dun compte sous Unix
Propritaire des fichiers quils crent
Peut en disposer comme il veut
Il possde les pleins droits sur ses fichiers
Utilisateur potentiel dautres fichiers
Fichiers systme
Fichiers des applications
Fichiers des autres utilisateurs

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
105
Exemple (2)
Rassembls en groupes dutilisateurs
G1= {U1, U2, U3}; G2= {U1,U4}; G3= {U6,U8,12}
Utilisateurs dun fichier
Diviss en 3 catgories
Propritaire : Owner (u)
Fixe les droits daccs sur les fichiers dont il est
propritaire (r, w, x)
Pour lui, pour les membres du groupe et pour
les autres
Groupe du propritaire : Group (g)
Autres : Others (o)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
106
Exemple (3)
Droits daccs ou Permissions
Fixs par le propritaire mais uniquement
sur ses propres fichiers
Droits dynamiques
Peuvent changer dans le temps (+ ou -)
Systme assure que les droits fixs par le
propritaire seront respects
Laccs un fichier nest donc pas systmatique
Vrifier si lopration daccs un fichier est
conforme aux droits fixs par son propritaire

PARTIE 5
Notion dOS
Systmes d'Exploitation
IF3 - 2011/2012
107
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
108
Systme dExploitation (1)
Operating System (OS)
Pas de dfinition standard
Dpend du point de vue
Machine (ressources)
Utilisateur (exploitation)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
109
Systme dExploitation (2)
Gestionnaire de RESSOURCES
Ressources physiques
UC, MC, Disque, Imprimante, etc.
Ressources logiques
Ensembles de donnes ( Fichiers )
Offre un ensemble de SERVICES
Gestion des ressources physiques et
logiques
Gestion de la communication


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
110
Systme dExploitation (3)
Exploitation
Utiliser et rentabiliser lexploitation des
ressources de la machine
Offre des environnements
De dveloppement dapplications
Dexploitation de ces applications
Contrle les accs des utilisateurs et de
leurs applications
Au systme
Aux ressources de la machine


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
111
Systme dExploitation (4)
Utilisateur
Machine Virtuelle
Mmes potentialits que la machine
physique
Plus simple utiliser
Ergonomie du point de vue utilisation
Ne ncessite pas de connaissances trs
pousses en informatique
Cache la complexit de la machine
physique
Systmes dExploitation
IF3 - 2011/2012
Systme dExploitation (5)

Y. SLIMANI
112
Applications / Utilisateurs
Operating System
Machine Physique
Systme Informatique
Machine
Virtuelle
Gestionnaire
de ressources
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
113
Etude des OS
Pourquoi tudier les OS ?
Logiciel fondamental
Indispensable pour exploiter un
ordinateur
Sans OS un ordinateur est inexploitable
Interface Utilisateur-Machine
Structure trs importante
Utilise beaucoup dalgorithmes et de SD
Techniques des OS utilises dans
beaucoup dapplications du monde rel
PARTIE 6
Architecture
Physique
Systmes d'Exploitation
IF3 - 2011/2012
114
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
115
Architecture vs OS
Fonctionnement dun OS
Connatre larchitecture (machine
physique) quil gre
Pourquoi ?
Architectures diffrentes
Systmes diffrents
PC isol, Portable, Rseau de machines,
Objectif
Gestion optimale des ressources dune
machine


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
116
Source: Joanna Moulierac, IUT Nice
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
117
Source: J. Delacroix
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
118
Processeur (1)
Elment fondamental
Fonction
Excuter des instructions machine
Instructions codes en binaire
Diffrentes appellations
Unit Centrale (UC)
Processeur (Microprocesseur)
Processor
CPU (Central Processing Unit)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
119
Processeur (2)
Caractristiques
Famille (Constructeur)
Intel, Motorola, ARM, MIPS, SPARC,
Vitesse
Dfinie par la frquence (cycle) dune
horloge
Envoi rgulier de tops au processeur
Exprime en nGHz


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
120
Processeur (3)
Composants
Unit de commande
Unit de coordination
Reconnaissance des instructions
Compose de registres
RI (Registre Instruction) : instruction en cours
CO (Compteur Ordinal) : adresse prochaine
instruction
RA (Registre Adresse)
RD (Registre de donnes)
Registres gnraux: R0, R1,



Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
121
Processeur (4)
Unit(s) de calcul
Unit Arithmtique et Logique (UAL, ALU)
Unit dexcution
Circuits arithmtiques (+, -, /, *)
Circuits logiques (ET, OU, )
Registres dtats (Indicateurs ou FLAGS)
Statut des priphriques
Etat dune instruction (excution correcte, erreur)
Mmoriser des vnements qui se produisent
durant lexcution des instructions

Systmes dExploitation
IF3 - 2011/2012
Processeur (5)
Unit Virgule Flottante (FPU)
Calcul sur des flottants (nombres rels)
Unit de Calcul Multimdia
Calcul vectoriel (calcul graphique)
Intel MMX, AMD 3D

Y. SLIMANI
122
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
123
Mmoire centrale (1)
Caractristiques
Unit de stockage volatile
Compose de mots mmoire
Taille usuelle des mots : 32 (64) bits
Adresse unique pour chaque mot
Taille exprime en multiple dune
certaine unit (o= octet)
Ko, Mo, Go, To, Po
K=2
10
; M=2
20
; G=2
30

T=2
40
(Tera)

; P=2
50
(Peta)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
124
Mmoire centrale (2)
Oprations
Lecture
Ecriture
Temps daccs
Temps moyen pour lire ou crire une
information dans un mot quelconque de la
MC
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
125
Mmoire cache (1)
Antmmoire
Position
Mmoire intermdiaire entre le
processeur et la mmoire centrale
Caractristiques
Taille plus petite que celle de la mmoire
centrale
Technologie diffrente
Temps daccs plus rapide que la MC
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
126
Mmoire cache (2)
Intrt
Processeur aliment partir de la MC
Instructions + Donnes
Diffrence de vitesses
Temps daccs MC plus lent que celui du processeur
Ralentissement du processeur
Comment rduire ce ralentissement
Mmoire cache
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
127
Mmoire cache (3)
Caractristiques
Taille relativement rduite
Temps daccs trs rapide
Fonction
Duplique de linformation stocke en MC
Rapprocher les donnes du processeur
Eviter, le plus possible, les accs la MC
Augmenter le nombre daccs la mmoire cache
Rduire le nombre daccs la MC


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
128
Mmoire cache (4)
Principe de fonctionnement
Recherche de linformation dans la
mmoire cache
Trouve pas daccs la MC
Accs rapide (1 seul accs et rapide)
Non trouve accs la MC
2 accs (mmoire cache puis mmoire centrale)
Mise jour permanente
Rafrachissement
Systmes dExploitation
IF3 - 2011/2012
Mmoire cache (5)
Niveaux de mmoire cache
Utilise dans diffrentes parties dun
ordinateur
Au niveau des disques
Temporary Internet Files
Garder les pages Web les plus visites
Utilitaire SmartDrive (DOS)
Au niveau des serveurs proxy
Intermdiaires (mandataires) entre clients et
serveurs


Y. SLIMANI
129
Systmes dExploitation
IF3 - 2011/2012
Mmoire cache (6)
Au niveau serveurs de pages dynamiques
Serveur statique
Se limite afficher le contenu de pages Web
Serveur dynamique
Utilise une base de donnes
Fait des traitements pour gnrer les pages
avant de les afficher (le contenu est calcul)
Au niveau des microprocesseurs
Dans les microprocesseurs
A cot des microprocesseurs

Y. SLIMANI
130
Systmes dExploitation
IF3 - 2011/2012
Au niveau des priphriques (imprimante)
Mmoire tampon
Buffer imprimante
Sauvegarde du ou des fichiers imprimer
Eviter les accs multiples la mmoire lors de
limpression physique
Mmoire cache (7)

Y. SLIMANI
131
Systmes dExploitation
IF3 - 2011/2012
Mmoire cache (8)
Niveau microprocesseur
Existence de plusieurs niveaux
Hirarchie de mmoires caches


Y. SLIMANI
132
Systmes dExploitation
IF3 - 2011/2012
Mmoire cache (9)
Niveau L1
Le plus prs du microprocesseur (intgr)
Le plus rapide (trs proche du microprocesseur)
Le plus petit (taille)
Autres niveaux
Rapidit dcroissante
Taille croissante

Y. SLIMANI
133
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
134
Hirarchie de mmoires
(1)
Prsentation
Existence de plusieurs types de
mmoires dans un ordinateur
Diffrences
Technologies
Fonctions
Capacits
Vitesses
Systmes dExploitation
IF3 - 2011/2012
Hirarchie de mmoires
(2)

Y. SLIMANI
135
Source: J. Delacroix (Cours Architecture 2006/2007)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
136
Bus (1)
Prsentation
Ensemble de liaisons physiques pour
permettre aux composants de
communiquer entre eux
Transporter de linformation dun
composant un autre

Systmes dExploitation
IF3 - 2011/2012
Bus (2)
Caractristiques
Largeur du bus
Nombre de bits transports en parallle
Vitesse
Frquence en Hertz
Nombre de paquets de donnes envoys ou reus
par seconde
Dbit maximal
Largeur x Frquence


Y. SLIMANI
137
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
138
Bus (3)
Composants
Bus adresse
Transporte des adresses mmoire
Unidirectionnel
Bus de donnes
Transporte des donnes du ou vers le
processeur
Bidirectionnel

Systmes dExploitation
IF3 - 2011/2012
Bus (4)
Bus de commande ou de contrle
Transporte les ordres et les signaux
Bidirectionnel


Y. SLIMANI
139
Systmes dExploitation
IF3 - 2011/2012
Bus (5)
Principaux bus
Bus systme
Bus interne, Front-side bus (FSB)
Communication avec la MC
Bus dextension ou dE/S
Communication entre composants
Ajout de nouveaux priphriques
Connecteurs (slots) connects sur le bus

Y. SLIMANI
140
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
141
Unit dchange (1)
Fonctions
Connexion des priphriques au bus
Grent les changes entre le processeur
et les priphriques
Intrt
Eviter une liaison directe entre UC, MC
et les priphriques
Diffrence de vitesse entre composants
Diversit des priphriques

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
142
Unit dchange (2)
Diffrences de vitesses
Processeur
Composant de calcul grande vitesse
Communique avec les priphriques
Lancer des oprations dEntre/Sortie dinformations
et les controler
Mmoire centrale
Echange de linformation avec les
priphriques
Entre/Sorties de donnes
Accs rapide / Priphriques

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
143
Unit dchange (3)
Priphrique
Vitesse trs rduite
Ralentit le processeur et la MC
Diversit des priphriques
Types (Entre, Sortie, Entre/Sortie)
Vitesse (Lents, Rapides)
Reprsentation des donnes
Chaque type de priphrique a son propre
systmes de reprsentation des donnes
Systmes dExploitation
IF3 - 2011/2012
Unit dchange (4)
Composants
Registre de commande
Opration effectuer fournie par le
processeur
Mmoire (Registres de donnes)
Donnes changer avec la MC
Registres dtat
Informations sur ltat de lunit dchange
Prte, Occupe, Erreurs, etc.

Y. SLIMANI
144
PARTIE 7
Mcanismes
de Base
Systmes d'Exploitation
IF3 - 2011/2012
145
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
146
Prsentation
Fonctionnement interne dun
calculateur
Bas sur des mcanismes de base
Indpendants des architectures
matrielles et des systmes
Contexte dexcution dun programme
Adressage des donnes en MC
Interruptions
Entres/Sorties dinformations
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
147
Contexte dexcution (1)
Excution dune instruction
machine
Ralise par le processeur
Charge partir de la MC
Excution squentielle
Une seule instruction la fois

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
148
Contexte dexcution (2)
Contexte (environnement)
Etat avant excution
Contexte dentre (E)
Etat durant lexcution
Etat aprs excution
Contexte de sortie (S)
Inst
k
E S
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
149
Contexte dexcution (3)
Contexte dentre (E)
Contexte (tat) des composants
Processeur, mmoire centrale, mmoires caches,
priphriques, etc.
Valeurs des registres du processeur, Valeurs des
mots mmoire, Etats des priphriques, etc.
Contexte de sortie (S)
Idem que E, mais aprs excution
S = E ( TOUJOURS !!! )
A dmontrer en TD
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
150
Contexte dexcution (4)
Caractristiques dun contexte
Equation
(Valeur,Instant)
Peut tre sauvegard
Arrt et reprise de lexcution dun
processus (suspendre le processus)
A quel instant le sauvegarder
Instant o il a une valeur bien prcise
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
151
Contexte dexcution (5)
Instant entre la fin dune instruction et le
dbut de la suivante
Les lments du contexte ont une valeur bien
dfinie (Registres, Mots, Etats)
Arrt (suspension) puis reprise
POINT INTERRUPTIBLE ou
OBSERVABLE
Oprations sur le contexte
Sauvegarder
Restaurer

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
152
Point interruptible
Inst. i-1 Inst. i Inst. i+1
Points Interruptibles
ou Observables
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
153
Adressage (1)
Utilit
Dfinir lemplacement dune instruction
et de ses donnes (oprandes)
Emplacements en mmoire(s)
Plusieurs formes
Utilises en programmation
Immdiat, Direct, Indirect
Relatif, Bas, Index
Combinaisons
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
154
Adressage (2)
Immdiat
Pas dadresse (utilisation directe de la
valeur dune donne)
LOAD 5
ADD -1
Direct
Adresse mmoire o se trouve la donne
LOAD X12A9
SUB X1011
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
155
Adressage (3)
Indirect
Adresse dun mot contenant ladresse
de la donne (symbole *)
LOAD *X12A9
SUB *X1011
Plusieurs niveaux dindirection


100
X12A9
X13A0
X13A0
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
156
Adressage (4)
Bas
Adressage plus flexible
Forme de ladresse
Base +/- Dplacement
Intrt
Dplacement invariant
Calcul par rapport une base fictive (0)
Base
Peut varier au cours du temps
Placer les donnes nimporte o en MC
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
157
Adressage (5)
Index
Utilise un Registre dIndex
Index
Dplacement par rapport une origine
Relatif
Idem que ladressage bas
Utilise un registre
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
158
Interruptions (1)
Signal technologique destin
au processeur
Objectifs
Arrter (interrompre) le processus en
cours pour excuter un autre
Revenir (ventuellement) au processus
interrompu

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
159
Interruptions (2)
Avertir le processeur de larrive dun
vnement quil ignore
Exemples dvnements
Fin dimpression
Touche clavier (Pause, ALT+F5, )
Insertion dune cl USB
Division par 0
Batterie vide



Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
160
Interruptions (3)
Intrt
Ragir larrive dun vnement
Appliquer un traitement spcifique qui
dpend du type dvnement signal
Traitement ralis par le systme
Traitement prdfini et cbl
Traitement peut tre dfini par
lutilisateur
Cas des exceptions (voir cours Java)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
161
Interruptions (4)
Principe gnral
Sauvegarde du contexte courant
Processus en cours dexcution
Chargement dun nouveau contexte
Processus pour ragir lvnement qui
vient dtre signal
Restaurer ventuellement lancien
contexte aprs la raction lIT
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
162
Interruptions (5)
Causes
Externes au processus en cours
INTERRUPTION
Exemples: Touches du clavier
Pause, CTRL+ALT+DEL
Internes au processus en cours
DEROUTEMENT (TRAP)
Dclench par linstruction en cours
Exemple: Division par 0
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
163
Interruptions (6)
Caractristique fondamentale
Evnement asynchrone
Imprvisible
Temps ( quel instant une interruption peut arriver)
Nombre
Effet
Commutation de contexte
Opration automatique (cable)
Sauvegarde du contexte courant
Chargement dun nouveau contexte
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
164
Interruptions (7)
Instants
Arrive
Nimporte quel instant
Avant
Durant
Aprs lexcution dune instruction
Prise en compte (raction)
Commutation automatique
Point Interruptible ou Observable
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
165
P : Processus en cours
dexcution
Interruption
Commutation de contexte
Reprise de lexcution du
processus P
Sauvegarde du contexte de P
Chargement du contexte de Q
Traitement de linterruption
Programme Q
Traitement de linterruption
Restauration (ventuelle)
du contexte de P
Commutation de
contexte
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
166
Interruptions (8)
Hirarchisation des ITs
Arrives multiples dITs
Interruptions en cascade
Successions (infinies) de commutations de contexte
Plusieurs ITs au mme instant
Dans quel ordre les traiter ?
Dfinir un ordre de priorit
Q ne peut interrompre P (commutation de contexte)
que si Q est plus prioritaire de P
Sinon attendre que P se termine puis faire la
commutation de contexte pour excuter Q
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
167
Interruptions (9)
Niveaux dinterruptions
Causes des ITs
Causes connues lavance (nombre fixe)
Niveaux dITs
Regroupement dITs de mme nature
ITs externes
ITs E/S

Programme dIT associ chaque niveau
Interrupt Handler

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
168
Interruptions (10)
Principe de commutation
Hirarchie des niveaux prdfinie
Utilisation dun Registre Masque de lUC
Bit associ chaque niveau
1 : Niveau Masqu
Ne peut pas interrompre le processus en cours
(commutation de contexte diffre)
0 : Niveau dmasqu
Commutation de contexte immdiate


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
169
ITs en cascade (squentiel)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
170
ITs en cascade (priorit)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
171
Excution dinstruction
Principe
UC ramne une instruction de la MC (CO)
CO=CO+1
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
172
Excution avec IT (1)
Principe
SI ITs dmasques, lUC vrifie sil y a des ITs en
attente de traitement
Si aucune IT, excuter linstruction suivante
Si oui (IT en attente)
Interruption du processus en cours
Excution du programme dIT
Retour (ventuel) vers le processus interrompu
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
173
Excution avec IT (2)
Systmes dExploitation
IF3 - 2011/2012
Exemple

Y. SLIMANI
174
A traiter en TD
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
175
Entres/Sorties (1)
E/S
Moyen de communication ou dchange
Entre programmes
Avec le monde extrieur
Entre les diffrentes mmoires
Priphriques
Dispositifs physiques dE/S
Fonction
Transfert physique dinformations depuis
ou vers la MC

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
176
Entres/Sorties (2)
Types
Entre uniquement
Clavier
Sortie uniquement
Imprimante
Entre/Sortie
Disque dur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
177
Entres/Sorties (3)
Modes de transfert
Caractre
Lent
Transfert un seul caractre la fois
Exemple : Clavier
Bloc
Rapide
Transfert un bloc la fois (512 octets)
Exemple : Disque
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
178
Entres/Sorties (4)
Gestion des E/S
Priphrique
Dispositif physique de transfert
Ne transfert que sur ordre
Contrleur ou Coupleur
Gre un type de priphrique particulier
Commande physique dun priphrique
Reoit ses ordres du processeur (par ITs)
Rend compte au processeur (par ITs)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
179
Entres/Sorties (5)
Assure linterface entre le processeur et le
priphrique
Ne libre pas compltement le processeur
Ne sait pas excuter un programme dE/S
Ne peut pas prendre en charge lexcution dune
squence dinstructions
Ne peut pas accder directement la mmoire
Composants ncessaires pour une E/S
UC + Contrleur + Priphrique

Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (6)
Pilote
Appel galement DRIVER
Programme qui commande le
fonctionnement lmentaire dun
priphrique
Gre linterface du coupleur
Traitement des ITs mises par le coupleur
Traitement derreurs

Y. SLIMANI
180
Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (7)
Rle du processeur
Commander les priphriques
Leur donner des ordres pour faire des
oprations dE/S
Pas de manire directe
Interception des ITs en provenance de ces
priphriques
Pas de manire directe
Gestion des erreurs
Problmes au cours dune opration dE/S

Y. SLIMANI
181
Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (8)
Interface simple et identique pour tous
les priphriques
Le processeur ne peut pas sadapter
chaque type de priphrique
Installer un (ou plusieurs) intermdiaire(s) entre le
processeur et les priphriques
Comportement identique du processeur quelque soit
le type de priphrique

Y. SLIMANI
182
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
183
Entres/Sorties (9)
Gestion par un processeur
spcialis
Ajout dun processeur spcial
Spcialis dans lexcution de
programmes dE/S
Canal ou ADM
Canal simple
Gre un seul Contrleur+Priphrique(s)
Canal multiple ou multiplexeur
Gre plusieurs Contrleurs+Priphriques
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
184
Entres/Sorties (10)
Gros ordinateurs
Canaux dE/S
Ordinateurs de type PC et portables
ADM ou DMA
Accs Direct la Mmoire
Direct Memory Access
Accde au bus systme de manire autonome par
rapport au processeur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
185
Entres/Sorties (11)
Notion de canal ou ADM
Processeur spcialis dans lexcution de
programmes dE/S
Dispose de ses propres registres et dun peu de mmoire
Autonome par rapport au processeur central
Dcharge le processeur central de toute la gestion des
oprations dE/S
Excute, de manire autonome, un programme dE/S
Permet une meilleure rentabilit des ressources
Possibilit de faire, en mme temps , du calcul et
du transfert de donnes (E/S)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
186
Entres/Sorties (12)

Intrt
Possibilit de faire deux activits
Activit de calcul : Processeur + MC
Activit dE/S : Canal + Contrleur + Priphrique +
MC
Le processeur intervient uniquement au dbut et
la fin de lE/S
Partage de la MC avec le processeur
Conflit daccs (partage du bus systme)
Accs la MC par vol de cycle

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
187
Entres/Sorties (13)

Relations entre processeur et canal
Canal initialis par le processeur par IT
Traite lE/S de manire autonome
Libre le processeur durant toute la dure
dexcution de lE/S
Interruption de dbut dE/S
Interruption de fin dE/S (normale ou anormale)
Canal rend compte au processeur par IT
Etat de droulement de lE/S
Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (14)
E/S tamponnes
Appeles Spooling
Spool: simultaneous peripheral
operations on-line
Exemple: documents imprimer stocks dans un
tampon en mmoire secondaire, rcuprs et
imprims par l'imprimante selon sa propre vitesse

Y. SLIMANI
188
Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (15)
Priphrique virtuels
Priphriques rels
Programmation lie ces priphriques
Changement de priphriques implique
une modification du programme
Programmation efficace
Utilise directement les capacits dun priphrique

Y. SLIMANI
189
Systmes dExploitation
IF3 - 2011/2012
Entres/Sorties (16)
Priphriques virtuels
Appels aussi flots dE/S ou fichiers
dE/S
Cas du systme Unix
Mme interface daccs pour un clavier, un
disque, un fichier, etc.
Programmation indpendante dun type
de priphrique
Moins performante, car il faut assurer une interface
entre le priphrique virtuel et le priphrique rel

Y. SLIMANI
190
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
191
Systmes dExploitation
IF3 - 2011/2012
Liens UC-Units dE/S (1)

Y. SLIMANI
192
Communication
Deux mthodes
Polling
Interruptions
Mthode du Polling
Initiative au programme
E/S programmes
Coupleur + Priphrique

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
193
Liens UC-Units dE/S (2)
Scrutation
Le processeur lance une opration dE/S
Processeur place les donnes transfrer dans un
registre (RD)
Interrogation priodique des registres du contrleur
par lUC (RE)
Occup ou prt recevoir une commande
Interrogation jusqu ce quil devienne libre
Attente active
LUC passe son temps faire de la scrutation
Ne peut rien faire tant que lE/S nest pas
termine

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
194
Liens UC-Units dE/S (3)
Mthode par interruptions
Initiative au priphrique
UC fonctionne indpendamment des
priphriques
LUC est libre de toute la gestion dune E/S
Elle nintervient quau dbut et la fin
Reoit une interruption quand un
vnement se produit
Fin dE/S
Erreur

PARTIE 8
Types dOS
Systmes d'Exploitation
IF3 - 2011/2012
195
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
196
Systme
Monoprogrammation (1)
Caractristiques
Mmoire Centrale
1 Seul programme charg en MC
Mmoire partage entre lOS et le
programme utilisateur
OS
Programme utilisateur
(processus)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
197
Systme
Monoprogrammation (2)
Processeur
Allou entirement au programme
utilisateur charg en mmoire centrale
Pas de partage avec un autre programme utilisateur
sauf avec les programmes systme
Toutes les ressources de la machine
alloues un seul programme utilisateur
Mauvaise gestion des ressources
Un seul programme est incapable dutiliser toutes
les ressources dune machine un instant donn
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
198
Systme
Monoprogrammation (3)
E / S E / S E / S
Programme A
Programme B
dbut
attente
E / S
fin
attente
E / S
attente
E / S
dbut
attente
fin
attente attente
attente
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
199
Systme
Monoprogrammation (4)
Inconvnients
Rentabilit des ressources
Espace mmoire inutilis
Sous-utilisation du processeur
Opration dE/S
Prise en charge par un canal
Libration du processeur
Non utilis durant lE/S (Etat Idle)
Autres composants non utiliss
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
200
Systme
Monoprogrammation (5)
Temps dattente des programmes
TA(Pi) = E
j=1..(i-1)
TE(Pj)
Dsquilibre entre temps dutilisation du
processeur et temps dattente
P1 : 60 mn de calcul / 1mn E/S
P2 : 2 mn de calcul / 1s dE/S
Temps dattente de P2 : 61 mn
Avantages
Systme simple
Ressources alloues un seul utilisateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
201
Systme Multiprogrammation
(1)
Caractristiques
Mmoire centrale
Possibilit de charger plusieurs
programmes utilisateurs en MC en mme
temps
Contenu de la MC
OS + N programmes utilisateurs (N > 1)

OS
P1 P2
Pn
. . .
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
202
Systme Multiprogrammation
(2)
Processeur
Multiplex (partag) entre les programmes
(processus) chargs en MC
Simultanit entre calcul et E/S
P1 fait du calcul
P2, , Pn en attente du processeur
P1 lance une E/S
Canal prend en charge lE/S (Processeur Libre)
Processeur allou P2 (Commutation de contexte)
Et ainsi de suite
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
203
Systme Multiprogrammation
(3)
Ressources partages entre plusieurs
programmes utilisateurs et lOS
Systme plus complexe
Chargement/Dchargement de processus
Gestion de la simultanit
Gestion des contextes des processus
Meilleure utilisation des ressources de
la machine
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
204
Systme Multiprogrammation
(4)
dbut
attente
E / S
fin
attente
E / S
attente
E / S
dbut
attente
E / S
fin
attente
E / S
attente
E / S
Programme A
Programme B
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
205
Systme Multiprogrammation
(5)
Inconvnients
Complexit du systme
Gestion de plusieurs processus
Scurit des processus
Peut tre non quitable
Effet sur le temps dattente quand le
calcul est dominant par rapport aux E/S
P1: 60 mn (UC) + 2 mn (E/S)
P2: 1 mn (UC) + 2 s (E/S)
Temps dattente de P2 : 60 mn / 1 mn

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
206
Systme Multiprogrammation
(6)
Avantages
Meilleure gestion des ressources
Espace mmoire mieux utilis
Rduction des temps dinactivit du
processeur
Simultanit entre UC et Canaux dE/S
Remarque importante
Libration processeur
Fin du processus courant ou dbut E/S
Effet sur le temps dattente du processus suivant
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
207
Systme Multiprogrammation
(7)
Techniques et principes
utiliss
Chargement de plusieurs programmes
Gestion de lespace mmoire
Allocation, Libration de lespace
Simultanit entre Calcul et E/S
Existence de canaux dE/S
Indispensables pour permettre la simultanit entre
calcul et E/S
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
208
Systme Multiprogrammation
(8)
Technique de Swap
Chargement / Dchargement de
programmes (processus)
Va et vient entre Disque et MC
Swap in
Disque Mmoire Centrale
Chargement
Swap out
Mmoire Centrale Disque
Dchargement
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
209
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
210
Systme Temps-partag (1)
Systme Time-sharing
2 objectifs
Gestion optimale des ressources
Meilleur partage du processeur entre les
programmes utilisateurs
Plus dquit (pas de privilge)
Principe de base
Politique de partage du temps processeur
plus quitable
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
211
Systme Temps-partag (2)
Principe gnral
Hritage des systmes de
multiprogrammation
Plusieurs programmes en MC
Existence de canaux dE/S
Diffrence
Manire de grer le processeur
Plus dquit entre processus utilisateurs
Mthode spcifique dallocation du processeur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
212
Systme Temps-partag (3)
Mthode dallocation de lUC
Objectif
Eviter le problme dattente de libration
du processeur dans le cas des systmes
de multiprogrammation
Fin du processus en cours dexcution
Dbut dune E/S
Solution
Retirer le processeur au processus en
cours mme sil en a encore besoin
Premption

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
213
Systme Temps-partag (4)
Technique de premption
Principe
Possibilit de retirer le processeur au
processus en cours mme sil en a besoin
Ne pas attendre la fin du processus
Ne pas attendre le dbut dune E/S
Retrait forc
Lempcher de continuer son excution
Technique applicable nimporte quelle
ressource (mmoire centrale, etc.)


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
214
Systme Temps-partag (5)
Principe dallocation
Programmes utilisateurs rangs dans
une file dattente
Classs par ordre darrive
Ordre dallocation du processeur
Premier arriv, Premier servi
Allocation cyclique du processeur aux
programmes de la file dattente
P1;P2;;Pn ; P1;P2; ; P3;P5;

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
215
Systme Temps-partag (6)
Allocation du processeur pendant une
dure de temps fixe et ininterruptible
appele QUANTUM
Dure dexcution indivisible sauf cas particuliers
Meilleur partage du temps
Allocation cyclique (un processus est sr
dtre servi)
Allocation par Quantum
Equit entre processus
Tous les processus auront la mme quantit de
temps dutilisation du processeur

Systmes dExploitation
IF3 - 2011/2012
Exemple




Processus Arrive Temps
P1 0 14
P2 3 5
P3 4 6
P4 6 8
Systme Temps-partag (7)

Y. SLIMANI
216
Quantum=3
P1 P2 P3 P4 P1 P2 P3 P4 P1

P4 P1 P1
0 3 6 9 12 15 17 20 23 26 28 31 33
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
217
Systmes Temps-rel (1)
Systme classique
But
Rendre un ou plusieurs services un
utilisateur
Exigence de lutilisateur
Lancer un service et attendre un rsultat
Seule exigence de lutilisateur: Rsultat
Pas dautres contraintes ou exigences
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
218
Systmes Temps-rel (2)
Systme Temps-rel
Introduire dautres contraintes en plus
du rsultat
Contraintes temporelles
Date de dbut dun traitement
Dure de traitement
Date de dlivrance du rsultat
La contrainte temps est plus importante
que le rsultat
Systmes dExploitation
IF3 - 2011/2012
Systmes Temps-rel (3)
Problme
Que faire si ces contraintes ne sont pas
respectes ?
Arrter le programme, accepter le rsultat, attendre,
ignorer le rsultat, etc.
Exemples dOS temps-rel
RT-Linux, RTOS Windows CE, RMX
Domaines dapplications
Industrie, Aviation, Hpitaux, etc.



Y. SLIMANI
219
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
220
Systmes Parallles (1)
Architecture classique
1 Processeur unique
Mme horloge pour tous les processus
1 Mmoire centrale unique
Mme espace pour tous les processus
Modle dexcution (calcul)
Squentiel (monoprocesseur)
1 processus la fois
1 seule instruction la fois
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
221
Systmes Parallles (2)
Architecture parallle
Une seule machine compose de
Plusieurs processeurs
Plusieurs horloges
1 seule mmoire centrale
Mme espace pour tous les processus
Modle dexcution parallle
N processus qui sexcutent en mme
temps (N Processeurs)
Accs squentiels la mmoire centrale
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
222
Systmes Distribus ou
Rpartis (1)
Architecture rpartie
Plusieurs machines physiquement
spares (distantes)
Plusieurs processeurs (N)
Plusieurs MC (N)
Relies par un rseau
Communication avec des messages
Avec ou sans partage de disque
Disk shared ou Shared Nothing

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
223
Systmes Mobiles (1)
Informatique actuelle
Rpartie (Distribue)
Dcentralise
Mobile (Nomade)
Dplacement dans le temps et dans
lespace
Pervasive
Comportement du systme dpend
De la localisation gographique
Du type dquipements

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
224
Systmes Mobiles (2)
Exemples
Ordinateurs portables, PDA,
Se dplacent avec leurs propritaires
Architectures et systmes mobiles
Donnes mobiles
Cartes magntiques
Tlphone, Bancaire, CNSS, etc.
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
225
Systmes Mobiles (3)
Caractristiques des OS pour
mobiles
Disposent de ressources limites
Nombre
Type
Capacit
Gestion de la mobilit
Localisation physique du mobile
Fonctionnement dpendant dun rseau
Dconnexion

PARTIE 9
Processus et
Ressources
Systmes d'Exploitation
IF3 - 2011/2012
226
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
227
Processus et ressources (1)
Concepts de base des OS
Processus
Ressources
Processus
Plusieurs dfinitions
Programme en excution
Programme lanc mais non termin
Encore prsent dans le systme
Peut tre dans un tat quelconque
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
228
Processus et ressources (2)
Entit dynamique
Programme
Entit statique
Texte interprtable
Processus
Entit dynamique
Abstraction de lexcution dun programme
Suite dtats
E
0
E
1
E
k

Etat initial puis convergence vers un tat final

Systmes dExploitation
IF3 - 2011/2012
Processus et ressources (3)
Activit asynchrone
Pas de connaissance sur
La date de lancement dun processus sauf si elle
programme
La date de fin dun processus
Le nombre de processus qui seront lancs
Reprsentation dans le systme
Structure de donnes (Table)
PCB (Process Control Block)
BCP (Block de Contrle de Processus)


Y. SLIMANI
229
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
230
Processus et ressources (4)
pointer
process state
process number
program counter
registers
memory limits
list of open files
.
.
.
Process control block

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
231
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
232
Processus et ressources (5)
Ressource
Elment physique ou logique
CPU, MC, Variable, Fichier,
Ncessaire lvolution dun processus
Demande explicitement ou non
Processeur, Canal, Mot mmoire, Fichier
Explicitement par une fonction de lOS
Demande mmoire (fonction malloc de C)
Implicitement : selon ltat du processus
En attente dune fin dE/S, Attente processeur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
233
Processus et ressources (6)
Rutilisable ou consommable
Mot mmoire, Ligne cran
Alloue puis Consomme (non rutilisable)
Alloue puis Utilise puis Restitue, Ralloue,
Partage ou non
Accs exclusif ou non
Possde un un tat dynamique
Occupe, Libre

Systmes dExploitation
IF3 - 2011/2012
Processus et ressources (7)
Contraintes dvolution
Evolue selon certaines contraintes
Exemple: Domaine de variation dune variable
Utilise selon des rgles prcises
Accs la ressource peut tre soumis
certaines conditions
Exemple: Droits daccs un fichier

Y. SLIMANI
234
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
235
Processus (1)
Cycle de vie
3 phases
Cration (gnration du PCB)
Lancement dun programme
Commande ou travers le bureau
Cration dynamique de processus
Fonction fork() sous Unix
Vie du processus
Existe dans le systme (dispose dun PCB)
Gr par le systme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
236
Processus (2)
Fin du processus (destruction du PCB)
Fin normale
Le processus est arriv logiquement sa
dernire instruction
Fin anormale
Erreur dexcution, Arrt par lutilisateur
Cas particulier
Ne sarrte jamais cause dune anomalie telle
que Boucle Infinie

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
237
Processus (3)
Etats dun processus
Suivi de son volution
Depuis sa cration jusqu sa fin normale
ou anormale
Passe par diffrents tats
Tout au long de son existence, un
processus passe par diffrents tats
Existence de plusieurs tats
Existence de rgles de transitions entre tats
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
238
Processus (4)
Disque
nouveau
travail
cration
d'un
processus
chargement
en mmoire
E / S
file d'attente E / S
CPU
file d'attente CPU
transfert
sur disque
SWAP
IN
SWAP
OUT
en mmoire
sur disque
stockage sur disque
file d'attente des travaux
A traiter en TD
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
239
Processus (5)
Nouveau
Ready / Prt
Running
Excution
Wait / Attente
Termin
Chargement Fin
Dbut dE/S ou dun Evnement X
Fin E/S ou Arrive dun vnement X
Interruption

Allocation
Systmes dExploitation
IF3 - 2011/2012
Exemple systme Unix (1)

Y. SLIMANI
240
Source: F. Baude, Univ. Nice
Systmes dExploitation
IF3 - 2011/2012
Exemple systme Unix (2)

Y. SLIMANI
241
Source: F. Harrouet, ENI Brest
A traiter en TD:
Donnez les noms
des transitions
Systmes dExploitation
IF3 - 2011/2012
Processus (6)
Types de processus
Processus en avant plan
Foreground (visible)
Processus avec lequel on dialogue
Dialogue travers le clavier et lcran
Processus en arrire plan
Background
Sexcute sans dialogue avec lutilisateur
Tche de fond (Job)

Y. SLIMANI
242
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
243
Threads (1)
Thread
Concept moderne des OS
Subdivision dun processus
Processus = { Threads }
Threads partagent lespace du processus
auquel ils appartiennent
Espace dadressage, Ressources,
Processus lger
Light process, Flot ou fil dexcution
Gestion plus simple quun processus

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
244
Threads (2)
Systmes dExploitation
IF3 - 2011/2012
Threads (3)
Intrts
Applications plus performantes
Excuter des tches en parallle
La notion de processus nautorise quune excution
purement squentielle
La subdivision en threads donne la possibilit
dexcuter plusieurs threads en parallle
Trs adapt pour des architectures
multiprocesseurs et multicoeurs
Excution de plusieurs threads la fois


Y. SLIMANI
245
Systmes dExploitation
IF3 - 2011/2012
Threads (4)
Contribue la structuration dun
programme et dun processus
Dcomposition en threads et non en une
seule unit (processus)
Utiliser moins de ressources systme
Beaucoup dlments sont partags entre
threads dun mme processus
Evite la duplication inutile de ressources

Y. SLIMANI
246
Systmes dExploitation
IF3 - 2011/2012
Threads (5)
Ractivit
Plus grande ractivit
Processus compos de deux threads
Lun rpond lautre attend
Adapt au paralllisme et au distribu
Excution de plusieurs threads sur la
mme machine ou sur plusieurs machines
Programmation multithreads


Y. SLIMANI
247
Systmes dExploitation
IF3 - 2011/2012
Threads (6)
Commutation plus simple
Moins coteuse (contexte plus rduit)
Communication plus simple
Partagent les mmes ressources
Interagissent travers des variables partages
Gestion plus simple
Cration, destruction,
Support par certains langages
JavaThreads


Y. SLIMANI
248
Systmes dExploitation
IF3 - 2011/2012
Threads (7)
Types de threads
Non connus par lOS
Grs entirement par le processus qui les contient
Cration, ordonnancement, synchronisation,
terminaison, etc.
Gestion laide dune bibliothque de lOS
Connus uniquement de lOS
Se charge de leur gestion de manire exclusive
Gestion programme au niveau du noyau
Gestion mixte

Y. SLIMANI
249
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
250
Processus vs Thread (1)
Processus
Environnement propre
Mmoire, Fichiers, Ressources
Contexte volumineux
Accs aux ressources dautres
processus
Possible selon des rgles daccs bien
prcises (Protection)
Contient au moins un thread

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
251
Processus vs Thread (2)
Thread
Possde
Un tat dexcution (prt, bloqu, )
Sa propre pile dexcution
Espace priv pour ses variables locales
Un contexte plus lger
Accs aux ressources du processus pre
Peut crer dautres threads

Systmes dExploitation
IF3 - 2011/2012
Multi-threading
Dfinition
Disposer de plusieurs threads dans un
mme processus
Serveur http
1 thread par client qui se connecte
Explorateur Windows
1 thread par fentre

Y. SLIMANI
252
Systmes dExploitation
IF3 - 2011/2012
Threads sous Java (1)
Mthodes de cration
Par hritage de la classe Thread et par
surcharge de la mthode run()


Y. SLIMANI
253
class MonThread extends Thread {
MonThread() {
... code du constructeur ...
}
public void run() {
... code executer dans le thread ...
}
}
MonThread p = new MonThread();
p.start();
Systmes dExploitation
IF3 - 2011/2012
Threads sous Java (2)
Dclarer une classe qui implmente
linterface Runnable



Y. SLIMANI
254
class MonThread2 implements Runnable {
MonThread2() {
... code du constructeur ...
}
public void run() {
... code executer dans le thread ...
}
}
public static void main(String[] args) {
MonThread2 p = new MonThread2();
Thread t = new Thread(p);
t.start();
}
PARTIE 10
Interactions
entre
Processus
Systmes d'Exploitation
IF3 - 2011/2012
255
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
256
Introduction
Systme
Ensemble de processus
S = { P
1
, , P
n
}
Ensemble de ressources
R = { R
1
, , R
m
}
Interactions entre processus
Relations entre processus
Premire contrainte
m << n

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
257
Interactions entre
processus (1)
Classes de processus
Processus logiquement indpendants
Aucune relation logique prvue entre eux
dans leur code
Totalement indpendants logiquement
Processus logiquement dpendants
Dpendance prvue dans le code
Exemples
Processus A doit sexcuter avant Processus B
Processus A attend un vnement de B
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
258
Interactions entre
processus (2)
Processus indpendants
Indpendance logique, mais
Dpendance physique
Utilisent les mmes ressources
Sont dits Concurrents
Comportement de lun influe sur le comportement
de lautre (utilisation de ressources partages)
Implique un phnomne de blocage ou dattente
Processus concurrents
Leur excution doit tre contrle
Peuvent donner des rsultats incohrents

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
259
Concurrence (1)


C2 demande une
rservation davion sur le
vol TU781



Base de donnes dit quil
reste une seule place

Place est alloue C2 et
marque occupe
C1 demande une
rservation davion sur le
vol TU781



Base de donnes dit quil
reste une seule place



Place est alloue C1 et
marque occupe
Interruption
P1
P2
PB: Une seule
place alloue
deux personnes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
260
Concurrence (2)
b=a



b++
a=b

P1
b=a
b++
a=b

P2
Supposons que la variable a soit gale 0 au dbut; P1 travaille sur lancien
a et donc le rsultat final sera a=1.
Rsultat final : a=2 si P1 et P2 sont excuts lun aprs lautre.
Si la variable a a t sauvegarde quand P1 est interrompu, elle ne pourrait
pas tre partage avec P2; Quel serait le rsultat ? Est-il conforme ce que
lon attend ?
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
261
Concurrence (3)
Thread P1

static char a;

void echo()
{
cin >> a;



cout << a;
}

Thread P2

static char a;

void echo()
{

cin >> a;
cout << a;
}

Trouver le rsultat si:
Variable a partage
Variable a prive (non partage)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
262
Concurrence (4)
Problmatique
Concurrence peut donner des rsultats
diffrents
Dpendent de lordre dexcution des
processus
Squentiel
P1 ; P2 OU P2 ; P1
Rsultat correct
Entrelac (Interleaving en anglais)
Non dterministe (Compltement alatoire)
Rsultat peut tre incorrect dans certains cas

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
263
Concurrence (5)
Cause du problme
Accs alatoire (non dterministe) des
ressources partages
Solution
Eviter les mauvais entrelacements
Les empcher au niveau de lexcution
Nautoriser (ventuellement) que les
entrelacements valides
Entrelacements qui donnent un rsultat quivalent
une excution squentielle

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
264
Section Critique (1)
Introduction
Section critique
Squence de code
Utilise une ressource partage
Son excution pose problme
Doit tre contrle
Section non critique
Nutilise pas de ressources partages
Ressources propres un processus
Son excution ne pose aucun problme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
265
Section Critique (2)
Problme de lexclusion
mutuelle
2 processus P
i
et P
j
Contiennent, chacun, au moins une
section critique
Se partagent une ressource
Excution de SC
i
empche celle de SC
j

et inversement

Sexcluent mutuellement
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
266
Section Critique (3)
Structure dun processus

Repeat
Section Non Critique (SNC)
Code dentre (PROLOGUE)

Section Critique (SC)

Code de sortie (EPILOGUE)
Section Non Critique (SNC)
forever

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
267
Section Critique (4)
Client A demande une rservation davion

Prologue

Base de donnes dit que la place P est
disponible

La place P est affecte au client A et elle est
marque occupe (ne pourra pas tre affecte
un autre client)
Epilogue



Section
critique
Ne peut tre excute que par un seul client la fois,
mais jamais ensemble ou de manire alterne
Systmes dExploitation
IF3 - 2011/2012
Section Critique (5)
Rsolution du problme de
lexclusion mutuelle
Trouver une solution
Qui interdit les entrelacements
Excution strictement squentielle
Donne des rsultats corrects
Excution non performante (squentielle)
Qui autorise les entrelacements valides
Prouver que la solution est valide

Y. SLIMANI
268
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
269
Conditions de validit (1)
Proprits dune solution
dexclusion mutuelle : 4
Exclusion mutuelle
A tout instant, au plus un (ou k>1)
processus peut (peuvent) tre dans une
section critique (SC) relative une mme
ressource partage
Proprit de sret (safety property)
Doit tre VRAIE tout le temps
Proprit invariante (Invariant en logique)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
270
Conditions de validit (2)
Absence de blocage
Si une SC, relative une ressource R, est
libre et quun processus demande
accder sa SC qui utilise R, la solution
ne doit pas lui refuser cet accs
Proprit de progrs (liveness property)
Assure que la ressource sera libre un moment
donn
Celui qui la dtient va la librer
Progresse normalement (non bloqu)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
271
Conditions de validit (3)
Attente finie
Tout processus qui demande accder
une SC et qui a t bloqu au niveau de
son prologue doit sortir de ce prologue au
bout dun temps fini
Proprit dabsence de famine (starvation)
Indpendance vis--vis
Du nombre de processus
De leurs vitesses
De leur ordre dexcution
Excution non dterministe
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
272
Solutions (1)
Plusieurs types
Logicielles (algorithmiques)
Matrielles
Instructions spciales du processeur
Fournies par lOS
Utilises par les processus utilisateurs
Principe gnral
Atomicit (accs mmoire, instructions)
Systmes dExploitation
IF3 - 2011/2012
Mthode gnrale de
rsolution
Identifier les ressources partages
Identifier les sections critiques
Dcrire les rgles daccs aux ressources
partages
Trouver une solution
Trouver les prologues et pilogues en
fonction des rgles daccs aux ressources

Solutions (2)

Y. SLIMANI
273
Systmes dExploitation
IF3 - 2011/2012
Prouver la correction de la solution
trouve
Vrifier les 4 proprits dune solution au problme
de lexclusion mutuelle
Faire une preuve formelle et non des tests sur
machine

Solutions (3)

Y. SLIMANI
274
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
275
Algorithmique (1)
Algorithme 1
2 Processus P0 et P1 et une variable turn
Processus Pi:
repeat
while(turn!=i);
SC
turn = j;
SNC
forever
Variable turn initialise 0 ou 1
Instruction vide: ne rien faire
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
276
Algorithmique (2)
Algorithme 2
Processus Pi:
repeat
flag[i] = True;
while(flag[j]);
SC
flag[i] = False;
SNC
forever
Une variable Boolenne par
processus:
flag[0] et flag[1]
Pi signale quil dsire excuter sa SC
en faisant flag[i] =True
Considrez la squence suivante et
dites ce qui se passe :
P0 : flag[0] = True ;
P1 : flag[1] = True ;

Je passerais
aprs vous
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
277
Algorithmique (3)
Algorithme 3 (Algorithme de Peterson)

Thread Ti:
repeat
flag[i] = True;
// je veux entrer en SC
turn = j;
// je donne une chance lautre dentrer
do while
(flag[j] && turn==j);
SC
flag[i] = False;
SNC
forever
Initialisations :
flag[0]=flag[1]=False;
turn= i ou j
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
278
Matrielles
Solution de base (niveau
physique)
Inhiber et Rtablir les ITs
Process Pi:
repeat
Inhiber (Masquer) les interruptions
Section Critique
Rtablir (Dmasquer) les interruptions
Section Non Critique
forever
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
279
Instruction cble
Instruction atomique
Test-And-Set (TAS)

bool testset(int &i)
{
if (i==0) {
i=1;
return true;
}
else return false;
}
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
280
Solutions OS
Instructions fournies par lOS
Exemple
Unix fournit un mcanisme pour rsoudre
des problmes dexclusion mutuelle
Les smaphores
Bibliothque de fonctions pour manipuler
les smaphores
Voir cours Unix
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
281
Smaphores (1)
Prsentation
Variable entire
Ne peut tre manipule qu travers 2
oprations atomiques (primitives)
P(S) ou wait(S)
V(S) ou signal(S)
P et V sont les oprations
S est une variable de type smaphore
Utilis pour rsoudre des problmes
dexclusion mutuelle ou de synchronisation
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
282
Smaphores (2)
Forme dutilisation

Processus Pi:
repeat
P(S)
SC
V(S)
SNC
forever
Permettent dencadrer une section critique (Prologue et Epilogue)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
283
Smaphores (3)
Processus P1:
repeat
P(S)
SC
V(S)
SNC
forever

Processus P2:
repeat
P(S)
SC
V(S)
SNC
forever

Valeur initiale dun smaphore S >= 1
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
284
Smaphores (4)
Implmentation
Structures de donnes
Variable
Domaine: valeurs entires
Une File dAttente
Primitive P
Potentiellement bloquante
Bloque (ventuellement) le processus qui
lexcute et le met dans la file dattente du
smaphore associ
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
285
Smaphores (5)
Primitive V
Potentiellement rveillante
Sort un processus de la File dAttente (sil
existe) du smaphore associ et le met
ltat PRT (rveil dun processus)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
286
Smaphores (6)
Pi excute P(S) ou V(S); Pj dans FA(S)
P(S):
S=S-1;
if S < 0 { // SC occupe
Insrer Pi dans FA(S);
Etat(Pi)=Bloqu
}

V(S):
S=S+1;
if S s 0 { // Pj dans FA(S)
Sortir Pj de FA(S);
Etat(Pj)=Prt
}
C
o
d
e
s

d
e

P

e
t

V

Systmes dExploitation
IF3 - 2011/2012
Rgles sur les smaphores
Utiliss pour rsoudre un problme
dexclusion mutuelle
Valeur initiale toujours positive
Pas de primitives V dans un prologue
Pas de primitives P dans un pilogue
Possibilit davoir plusieurs P (ou
plusieurs V) dans un prologue (dans un
pilogue)
Smaphores (7)

Y. SLIMANI
287
Systmes dExploitation
IF3 - 2011/2012
Lordre des P est trs important dans un
prologue
Lordre des V dans un pilogue na
aucune importance
Le code des primitives P et V nest pas
modifiable
La politique de gestion de la file dattente
dun smaphore est inconnue
Smaphores (8)

Y. SLIMANI
288
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
289
Smaphores (9)
Problmes
Famine
Un processus ne peut jamais arriver
excuter sa SC
Bloqu indfiniment au niveau de son prologue
Interblocage ou Deadlock
2 processus se bloquent mutuellement
Pi empche Pj daccder sa SC, et
Pj empche Pi daccder sa SC
Difficiles programmer
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
290
Modles de base (1)
Producteur/Consommateur
Modle trs classique en systme
Un processus produit des donnes
Un autre processus les consomme
Elments du modle
2 ou plusieurs processus
Zone(s) partage(s) pour la communication
TAMPON ou BUFFER
Taille finie ou infinie



Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
291
Modles de base (2)
Prod
Cons
1 donne
Prod
Cons
1 donne 1 donne 1 donne
Si le tampon est de longueur 1, le producteur et consommateur doivent
forcment aller la mme vitesse (synchronisation)
Tampons de longueurs plus grandes que 1 donnent des comportements
diffrents (asynchronisme)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
292
Modles de base (3)
Analyse du problme
2 processus concurrents
Producteur et Consommateur
Vitesses et comportements indpendants
Ressource partage
Tampon de taille finie ou infinie
Relations entre les processus
Dfinies par leur comportement, et
Imposes par le tampon
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
293
Modles de base (4)
Producteur
Ne peut dposer (produire) une donne
dans le tampon que si :
Le tampon est libre
Non occup par le consommateur
Le tampon est non plein
Il existe une place libre pour dposer une
donne (le tampon peut tre assimil un
tableau)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
294
Modles de base (5)
Consommateur
Ne peut extraire (consommer) une donne
du tampon que si :
Le tampon est libre
Non occup par le producteur
Le tampon est non vide
Il existe une donne extraire (produite par le
producteur et une donne extraite ne peut pas
tre extraite une deuxime fois)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
295
Modles de base (6)
Lecteurs/Rdacteurs
2 classes de processus
Processus Lecteurs (Readers)
Lisent un fichier F sans modifier son contenu
Processus Rdacteurs (Writers)
Ecrivent dans le fichier F (modifient son contenu)
Classes disjointes
Un processus appartient une et une
seule classe

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
296
Modles de base (7)
Analyse du problme
Classes de Processus: 2
Lecteurs et Rdacteurs
Ressource partage
Fichier
Relations entre processus
Exclusion mutuelle entre Lecteurs et Rdacteurs
Un lecteur et un rdacteur ne peuvent pas
accder simultanment au mme fichier
Exclusion mutuelle entre Rdacteurs
Un seul rdacteur peut utiliser le fichier la fois
Systmes dExploitation
IF3 - 2011/2012
297
Moniteurs (1)
Outil de synchronisation
Plus simple programmer que les
smaphores
Intgr dans des langages
Concurrent Pascal, Modula 3, Java,
Plus facile grer que les smaphores
Mcanisme de plus haut niveau que les
smaphores


Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
298
Moniteurs (2)
298
Moniteur: Ressource
partage par plusieurs
processus

Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (3)
Structure
Module compos de
Une ou plusieurs procdures externes
Points daccs au moniteur de lextrieur
Au moins un point daccs
Appelables de lextrieur par des processus
Dclares avec le mot cl Extern Procedure
0 ou plusieurs procdures internes
Ne peuvent tre appeles que de lintrieur du
moniteur
299
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (4)
Une squence dinitialisation
Excute une seule fois lors du premier appel au
moniteur
Variables locales partages
Accessibles, uniquement lintrieur du moniteur,
par les procdures internes et externes
Une file dattente externe
Contient les processus qui attendent daccder au
moniteur alors quil est occup
Un processus est en train dexcuter une
procdure externe du moniteur

Y. SLIMANI
300
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (5)
Caractristiques
Assure lui-mme son exclusion mutuelle
Moniteur est une ressource critique
Pas besoin de programmer son exclusion mutuelle
Proprit de base dun moniteur
Etats dun moniteur
Libre
Nexcute aucune procdure
Occup
Excute le code dune procdure externe
301 Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (6)
Appel dun moniteur
Appel sous forme de notation pointe
NomMoniteur.NomProcedure Externe ([Par])
M.P1()
M.P2(x)
File dattente du moniteur
Gre selon la politique FIFO

Y. SLIMANI
302
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (7)
Synchronisation des processus
Assure par le moniteur grce des
variables spciales appeles VARIABLES
CONDITIONNELLES
Ne prennent jamais de valeur
Nont pas de domaine de dfinition
Equivalentes aux files dattente des smaphores
Une file dattente par variable conditionnelle
Utilisables uniquement lintrieur du moniteur
Utilises comme prfixes de deux primitives
wait() et signal()
303 Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (8)
Oprations de synchronisation
X : variable conditionnelle
x.wait()
* Bloque le processus qui lexcute et le met dans la
file dattente de X
* Le processus bloqu ne pourra reprendre son excution
que si un autre processus excute X.signal()
x.signal()
Rveille un processus bloqu sur la variable
conditionnelle X (se trouve dans la file dattente de X)
* Si aucun processus dans la file dattente, alors il
ne se passe rien
* Sil en existe plusieurs, alors rveiller un seul
304 Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (9)
Blocage et moniteurs
Un processus est bloqu
A lextrieur dun moniteur
Le trouve occup au moment o il lappelle
A lintrieur dun moniteur
Accs de lextrieur russi
Bloqu par la primitive x.wait()
Moniteur libre
Aucun processus ne lexcute
Un processus sest bloqu lintrieur
(excution de la primitive X.wait( ) )
305 Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (10)
Rveil et moniteur
Processus rveill
Avant dtre rveill, il est bloqu dans le
moniteur (au niveau de X.wait ( ))
Rveill par un autre processus qui est
lui-mme est dans le moniteur
Excution de la primitive X.signal()
Le processus rveill reprend son excution
derrire la primitive X.wait()
306 Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012
Moniteurs (11)
Le rveil pose un problme
Exclusion mutuelle du moniteur viole
Deux processus se trouvent en mme temps dans le
mme moniteur
Solutions
Lun attend lautre
Celui qui a fait X.signal() nexcute aucune autre
opration
X.signal() doit tre la dernire opration
excute


Y. SLIMANI
307
PARTIE 11
Gestion des
Ressources
Systmes d'Exploitation
IF3 - 2011/2012
308
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
309
Introduction
Gestion des ressources
Fonction fondamentale des OS
Objectifs
Utiliser les ressources physiques et
logiques dune machine
Grer le partage des ressources
Assurer la protection des ressources
Elments fondamentaux pour la gestion
Files dattente
Ordonnanceurs
Systmes dExploitation
IF3 - 2011/2012
Files dattente (1)
Introduction
Terme gnrique
File dattente devant un guichet
File dattente dentre un stade
File dattente de voitures
Dfinition
Ensemble dlments
Organiss dune certaine manire et qui attendent
dtre servis
Servis dans un certain ordre

Y. SLIMANI
310
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
311
Files dattente (2)
FA en informatique
Structure de donnes fondamentale en
informatique
Stockage dinformations
Rgle dentre
Gnralement par la Queue Queue- de la file
Rgle de sortie
Gnralement par la Tte Head- de la file

Sortie Entre


Systmes dExploitation
IF3 - 2011/2012
Files dattente (3)
Capacit
Taille finie
Insertion dun nombre fini dlments
Taille infinie
Insertion toujours possible
Politiques de gestion
Plusieurs politiques possibles
LIFO, FIFO, Priorit, Random, etc.

Y. SLIMANI
312
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
313
Files dattente (4)
Pourquoi des files dattente
dans un OS ?
Ressources dun systme : { R }
Processus : { P }
, P , >> , R ,
Comment partager { R } entre { P } ?
Dfinir une politique de gestion de { R }
Distinguer entre processus qui utilisent
une ressource A et ceux qui attendent de
lutiliser (File dattente)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
314
Files dattente (5)
File dattente de gestion des
ressources
Une par ressource
Contient les processus en attente de cette
ressource
Instant t
Processus Pi dans une seule file dattente
Passage dune file une autre
Changement dtat du processus
Changement de ltat des ressources
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
315
Ordonnanceurs (1)
Prsentation
Gestionnaires de ressources
Scheduler en anglais
Types
Ordonnanceurs court terme
Ordonnanceurs moyen terme
Ordonnanceurs long terme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
316
Ordonnanceurs (2)
Ordonnanceurs court terme
Grent des processus (tats prts)
Slectionnent le processus excuter
A qui allouer le processeur
CPU scheduler
Sollicits trs souvent (ms)
Combins avec un Dispatcheur
Dispatcheur donne le contrle au
processus choisi par le scheduler
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
317
Ordonnanceurs (3)
Ordonnanceurs moyen
terme
Moins sollicits que ceux court terme
Job scheduler
Chargent ou dchargent des processus
en mmoire centrale
Charger un processus en mmoire
centrale
Nouveau ou ancien
Dcharger un processus sur disque

Systmes dExploitation
IF3 - 2011/2012
Ordonnanceurs (4)
Ordonnanceurs long terme
Accepter ou non des processus
utilisateurs dans le systme
Capacit du systme accepter les
travaux des utilisateurs
Capacit dynamique

Y. SLIMANI
318
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
319
Premption (1)
Allocation dune ressource
Mise la disposition dun processus
Doit en principe la restituer
Pour tre utilise par dautres
Instant de libration
Fin de lutilisation de la ressource
Problmes
Un processus risque de ne pas la restituer
Que faire en cas de besoin urgent
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
320
Premption (2)
Technique de premption ou
de rquisition
Retirer une ressource un processus
alors quil en a encore besoin
Retrait forc
Pour lallouer un autre processus
Re-allocation aprs un certain temps
Systmes dExploitation
IF3 - 2011/2012
Ordonnanceurs et
premption
Combinaison
Ordonnanceurs premptifs
Utilisent la rquisition
Peuvent rcuprer une ressource alloue
un processus tout moment
Ordonnanceurs non premptifs
Nutilisent pas la rquisition
Rcuprent la ressource une fois que le
processus laura libr

Y. SLIMANI
321
PARTIE 12
Allocation du
Processeur
Systmes d'Exploitation
IF3 - 2011/2012
322
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
323
Introduction (1)
Problmatique
1 Processeur
Excution dun seul processus la fois
Systme
Ensemble (ventuellement vide) de
processus qui sont dans ltat Prt
Allocation du processeur
Quel processus choisir parmi ceux qui
sont dans ltat prt ?
Systmes dExploitation
IF3 - 2011/2012
Introduction (2)
Critres relatifs lallocateur
Point de vue utilisateur
Temps de rponse
Point de vue systme
Nombre de processus excuts
Rentabilit du processeur
Equit
Garantir les priorits


Y. SLIMANI
324
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
325
Introduction (3)
Critres dvaluation
Pourcentage dutilisation du processur
Diffrencier entre priodes dactivit et
priodes dinactivit du processeur
Maximiser lune et minimiser lautre

Dbit ou Throughput
Nombre de processus excuts pendant
une dure bien dtermine


75 %
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
326
Introduction (4)
Temps de
traitement
(Turnaround ou
temps de
rotation)

Temps dattente
(Waiting time)
Temps de
rponse



Processus A
arrive fin
temps d'attente
temps de traitement
A
arrive fin
temps d'attente
temps de traitement
A A A
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
327
Allocation Processeur (1)
Modle
Phases dun processus
Succession de cycles
Calcul, E/S, Calcul, E/S, , Calcul
On sintresse uniquement aux phases
de calcul et non aux phases dE/S
Phase de calcul ou Burst Time
Phase dexcution dinstructions arithmtiques
ou logiques


Systmes dExploitation
IF3 - 2011/2012
Allocation Processeur (2)
Temps dexcution connu a priori
Fourni par lutilisateur (estimation)
Calcul par mthodes destimation
File dattente des processus prts
Diagramme de Gantt
Reprsentation graphique de
lordonnancement de lexcution dun
ensemble de processus selon un
algorithme dordonnancement

Y. SLIMANI
328
Systmes dExploitation
IF3 - 2011/2012
Allocation Processeur (3)



Y. SLIMANI
329
Processus
Temps de
Traitement
Temps CPU
(Burst Time)
Temps
dAttente
P1 12 - 12 = 0
P2 17 - 5 = 12
P3 19 - 2 = 17
Total 48 - 19 = 29
Moyenne (/3) 16 - 6,.. = 9,..
P1 P2 P3
0 12 17 19
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
330
Algorithmes (1)
FCFS
First Come First Served (FIFO)
Critre
Ordre darrive des processus
Classer les processus par date darrive
Caractristiques
Le plus simple mettre en uvre
Le plus mauvais
Donne de mauvaises performances
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
331
Algorithmes (2) cas FCFS
Processus Burst Time
P1 14
P2 3
P3 3
P4 5

File dattente :





P
1

P
2
P
3

14 17 20 0
P
4

25
P
1
P
2
P
3

P
4

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
332
Algorithmes (3)
SJF
Shortest Job First ou Le plus court
dabord
Critre
Plus petit temps dexcution
Caractristiques
Privilgie les petits processus
Risque dattente infinie pour les processus
longs (problme de famine ou starvation)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
333
Algorithmes (4)
Avec ou sans premption
Sans premption
Slection du prochain processus la fin du courant,
mme sil y a arrive de nouveaux processus avec un
temps plus petit que celui du courant
Avec premption
Vrifier le critre dallocation chaque arrive de
nouveaux processus
Comparer le temps restant du processus courant
avec le temps du ou des nouveaux processus
Selon le cas, utilisation ou non de la premption

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
334
Algorithmes (5) cas 1 SJF
P
1
P
3
P
2

7 3 16 0
P
4

8 12
Arr. P
2
Arr. P
3
Arr. P
4
Processus Arrive Temps dexcution
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
335
Algorithmes (6) cas 2 SJF
4
2
11 0
5 7
16
Processus Arrive Temps dexcution
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Arr. P
2

Arr. P
3

Arr. P
4

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
336
Algorithmes (7)
Priorit
Priorit
Urgence dutilisation du processeur
Dfinie par un nombre ou une lettre
Exemples
0..F, A..Z
0..39 (Cas du systme Unix)
Statique ou dynamique
Commande nice sous Unix

Systmes dExploitation
IF3 - 2011/2012
Algorithmes (8)
Critre
Processus le plus prioritaire
Caractristiques
Rpond la notion durgence
Risque de famine
Privilgie les processus prioritaires


Y. SLIMANI
337
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
338
Algorithmes (9)
Round Robin ou Tourniquet
Introduit avec les systmes temps-
partag (Time Sharing)
Elments de base
File dattente des processus
Ordonns selon leur ordre darrive
Utilisation de la notion de QUANTUM
Unit de temps dutilisation du processeur
Unit de temps ininterruptible (pas de premption
durant un quantum)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
339
Algorithmes (10)
Principe
Allocation par multiple de Quantums
Allocation du processeur au processus Pi
Fin du quantum
Pi termin Quitte la file dattente
Pi non termin Revient la fin de la file (queue)
Allocation du processeur au processus Pi+1
Fin processus Pi < Fin Quantum
Assimile une fin de Quantum
Allocation du processeur au processus Pi+1
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
340
Algorithmes (11) cas 1 RR
P[0]
P[1]
P[7] P[2]
P[6] P[3]
P[4] P[5]
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
341
Algorithmes (12) cas 2 RR
Processus Burst Time Quantum = 20
P
1
53
P
2
17
P
3
68
P
4
24





P
1
P
2
P
3
P
4
P
1
P
3
P
4
P
1
P
3
P
3
0 20 37 57 77 97 117 121 134 154 162
Systmes dExploitation
IF3 - 2011/2012
Algorithmes (13)
Exemple du systme Unix
RR volu
Technique du RR + Priorit dynamique
Plusieurs files dattente
Priorit entre files
Un algorithme RR par file

Y. SLIMANI
342
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
343
Algorithmes (14)
Files multi-niveaux
1 seule file (1 niveau)
Mlange de processus de diffrentes
natures
Systme, Utilisateurs,
Ide
Utiliser plusieurs files
File contient des classes de processus
Type (utilisateur, systme, )
Catgorie (tudiant, enseignants,
administration, )
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
344
Algorithmes (15)
Principe gnral
Fixer le nombre de files
Nombre fixe
Hirarchiser les files
Dfinir un ordre entre files
Priorit dallocation (F1 > F2 > > Fn)
Allocation selon le niveau dune file dans
la hirarchie

Systmes dExploitation
IF3 - 2011/2012
Algorithmes (16)
Politique de gestion de chaque file
Dfinir un ordonnanceur par file
Peut tre le mme pour toutes les files
Diversifier les ordonnanceurs
Dfinir une stratgie pour les nouveaux
processus
Entre dans une file bien dtermine fixe
lavance
Sinon dfinir un critre dentre


Y. SLIMANI
345
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
346
Algorithmes (17)
Principe dallocation
Allocation
Commencer par la file la plus prioritaire
File de plus haut niveau non vide
Ne passer la file (i+1) que si tous les
processus de la file i ont t satisfaits
File i plus prioritaire que la file (i+1)
Premption entre files
Revenir une file prioritaire en cas
darrive de nouveaux processus dans
cette file
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
347
Algorithmes (18)
Types de files
Simples
Pas de liens entre files
Problme de famine (Starvation)
Avec liens
Unidirectionnel
Dfinir un critre de passage dune file une autre
F1 F2 Fn
Bidirectionnel
F1 F2 Fn


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
348
Algorithmes (19)
PRIO = 0
la + leve
PRIO = 1
PRIO = 2
la plus faible
Systmes dExploitation
IF3 - 2011/2012
Algorithmes (20)

Y. SLIMANI
349
PRIO = 0
la + leve
PRIO = 1
PRIO = 2
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
350
Algorithmes privilge
Problmatique
Privilgient certains processus par
rapport dautres
SJF avec premption, Priorit,
Risque majeur
Famine ou starvation
Attente infinie
Lallocation du processeur ne sera pas refuse
mais sera toujours diffre dans le temps
Systmes dExploitation
IF3 - 2011/2012
Exemples (1)
Windows 2000
Priorit et premption
Nombre de niveaux de priorit: 32
1 seule file gre par RR avec priorit
Priorit dynamique (+/-)
Quantum plus grand pour les processus
en avant plan

Y. SLIMANI
351
Systmes dExploitation
IF3 - 2011/2012
Exemples (2)
Linux
Classes dordonnancement
Processus temps-partag
Processus temps-rel
Cas temps-rel
Ordonnancement bas sur la priorit

Y. SLIMANI
352
Systmes dExploitation
IF3 - 2011/2012
Exemples (3)
Cas temps-partag
Utilisation de la priorit avec crdit
Fin du quantum et processus non termin
Perte dun crdit
Suspension du processus qui na plus de
crdit
Tous les processus prts suspendus
Rcuprent tous des crdits
Processus en background
Priorit faible et moins de crdit

Y. SLIMANI
353
PARTIE 13
Gestion de
la Mmoire Centrale
Systmes d'Exploitation
IF3 - 2011/2012
354
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
355
Introduction (1)
Mmoire
Espace de stockage temporaire
Compose de mots mmoire
Mmorisation volatile
Passage obligatoire pour toute
information
Charge en MC pour tre manipule
Espace partag
Processus systme
Processus utilisateurs
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
356
Introduction (2)
Gestion de la mmoire
Problmatiques
Gestion de lespace
Allocation
Libration
Protection (accs)
Systme contre les utilisateurs
Utilisateurs entre eux
Contrler les accs une donne
Utilise la technique de swap
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
357
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
358
Adressage (1)
Formes
Physique
Adresses relles des mots de la MC
0001, 12B4
Logique
Espace dun programme
Dclarations
Chaque variable est identifie par un nom
Translation entre adresses physiques et
adresses logiques

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
359
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
360
Gestion Mmoire
Structuration de lespace
Structure de la mmoire
Espace systme (noyau+extension)
Espace utilisateur (user)
Comment structurer lespace user
Partitionnement Fixe
Partitionnement Variable
Algorithmique associe
Allocation, Libration
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
361
Partitionnement fixe (1)
Structure
Espace dcoup en zones appeles
Partitions
Dcoupage statique en partitions
A linstallation de lOS
Tailles homognes ou htrognes
Mmes tailles ou tailles diffrentes des partitions



OS
Pa Pb
Pk
. . .
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
362
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
363
Partitionnement fixe (2)
Caractristiques dune partition
Adresse unique (adresse dbut)
Taille fixe
Indivisible
Ne peut contenir quun seul processus
Non partageable
Etat
Libre (non alloue)
Libre ne veut pas dire vide
Occupe (alloue un processus)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
364
Partitionnement fixe (3)
Algorithmique
Principe
Processus P de taille T(P) charger en MC
Trouver une partition Pi tel que:
Pi libre et Taille(Pi) > T(P) (1)
Chargement immdiat ou diffr
Immdiat si contrainte (1) vrifie
Aucune partition libre mais Taille(Pi) > T(P), i
Attendre (diffrer le chargement)
Faire du swap (chargement immdiat)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
365
Partitionnement fixe (4)
Problmes
Gnral
Taille T(P) > toutes les partitions (libres
et occupes)
A priori chargement impossible
Particulier
T(Pi) > T(P)
Espace rsiduel (Fragment) inutilisable
Partition indivisible
Problme de la fragmentation interne
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
366
Partitionnement variable
(1)
Principe
Pas de partitionnement initial
Une seule partition libre (toute la mmoire)
Partitions crs au fur et mesure de
lallocation (chargement)
Partitions cres correspondent aux
processus chargs en MC
Pas de fragmentation interne
Taille(espace allou) = Taille(processus charg)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
367
Partitionnement variable
(2)
Algorithmique
Principe
Processus P de taille T(P) charger
Trouver un espace libre gal T(P)
Allocation immdiate ou diffre
Terminaison des processus
Librent leurs partitions
Existence de plusieurs partitions libres au lieu
dune seule comme dans le cas initial

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
368
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
369
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
370
Partitionnement variable
(3)
Algorithmique
Existence de plusieurs partitions libres
Quelle partition choisir ?
Algorithmes dallocation
First Fit
Premire partition libre
Best Fit
Partition qui donne le plus petit rsidu
Worst Fit
Partition qui donne le plus grand rsidu
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
371
Partitionnement variable
(4)
Problme
Emiettement de la mmoire
Prsence de petites partitions (fragments)
disperses dans la mmoire
Solution
Compactage
Ramasse-miettes, Garbage Collector
Programme du systme
Rcrer une seule partition libre
Dplacements physiques des donnes (swap)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
372
Compactage (1)
Position du problme
Processus P de taille T(P) charger en
MC
Aucun espace contigu et libre ne peut
contenir P
Existence de plusieurs espaces libres de
tailles < T(P)
Remarque
Somme des espaces libres >> T(P)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
373
Compactage (2)
Principe
Dplacer les processus en MC
Objectif
Recrer une seule partition libre
Regrouper tous les fragments libres
Ncessite des swaps (disque)
Opration coteuse (E/S physiques)
Ralise priodiquement ou sur demande
Exemple: dfragmentation du disque sous Windows
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
374
Problmes du
partitionnement (1)
Fragmentation interne
Rsidu dans une partition
Inutilisable car partition indivisible
Cas du partitionnement fixe
Rsolu en changeant de mode de
partitionnement
Passer du fixe au variable
Partitionnement fixe ne tient pas compte de la taille
des processus
Partitionnement variable
Sadapte la taille des processus

Systmes dExploitation
IF3 - 2011/2012
Problmes du
partitionnement (2)
Fragmentation externe
Tailles des partitions < Taille processus
Mauvais choix des tailles de partitions
Rinstaller le systme pour faire un
nouveau partitionnement (cas du fixe)
Ne permet pas de rsoudre le problme
Critre dallocation mmoire
Tenir compte de 2 contraintes
Espace Contigu + Chargement Total


Y. SLIMANI
375
PARTIE 14
Mmoire
Virtuelle
Systmes d'Exploitation
IF3 - 2011/2012
376
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
377
Introduction (1)
Allocation mmoire
Contraintes dallocation : 2
Chargement total dun processus
Recherche dun espace contigu
Contraintes difficiles satisfaire en
mme temps
Question
Ces contraintes sont-elles relles ou
fictives ?

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
378
Introduction (2)
Caractristiques dun
processus
Structure modulaire et non linaire
Possibilit de charger le processus par
parties ou par morceaux
Programme C = {Fonction Main + Autres fonctions}
Programme JAVA = {Classes}
Excution dun processus
Ne ncessite pas son chargement total
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
379
Introduction (3)
Taille dun processus
Largement suprieure la taille de la MC
Impossible de le charger totalement en MC
Solutions
Augmenter physiquement la taille de la MC
Solution limite par des contraintes physiques
Autre solution
Charger totalement un processus en mmoire
secondaire
Le charger partiellement en mmoire centrale
pour lexcuter

Systmes dExploitation
IF3 - 2011/2012
Introduction (4)
Nouvelle formulation du problme
dallocation mmoire
Contrainte de chargement total est leve
Chargement partiel (selon les besoins)
Exemple dun programme C
Charger la fonction main
Les autres fonctions seront charges la
demande (au moment de leur appel)
Reste trouver une solution la
contrainte de contigut
Mmoire Virtuelle

Y. SLIMANI
380
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
381
Mmoire Virtuelle (1)
Hirarchie de mmoires
Mmoire centrale
Extension virtuelle et non physique de la
mmoire centrale
Extension physique
Rajouter des modules mmoire
Extension logique ou virtuelle
Rserver une partie du disque pour tendre la MC
Mmoire de type Swap
Partie non gre par le SGF

Systmes dExploitation
IF3 - 2011/2012
Mmoire Virtuelle (2)
Espaces pour un processus : 2
Mmoire centrale
Mmoire swap
Partie du disque
Questions
Comment structurer ces 2 espaces ?
O charger les processus et comment ?
Relations entre MC et mmoire swap


Y. SLIMANI
382
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
383
Mmoire Virtuelle Pagine
(1)
Structuration des espaces
Mmoire Virtuelle (MV)
Dcoupe en units dallocation : PAGES
Page : suite contige doctets (512 ou plus)
Allocation par multiple de pages
Allocation contige ou disperse des pages
Contigut nest plus une contrainte forte respecter
Devient un critre de performance
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
384
Mmoire Virtuelle Pagine
(2)
Mmoire centrale (MC)
Mme type de dcoupage que la MV
Units dallocation : CASES
Case : suite contige doctets
Taille(Page) = Taille(Case)
Allocation contige ou disperse
Contigut nest pas une contrainte
Exemple
Processeur Pentium supporte 2 tailles: 4KB
ou 4MB

Systmes dExploitation
IF3 - 2011/2012
Mmoire Virtuelle Pagine
(3)
Chargement des processus
Chargs totalement sur disque
Lui allouer le nombre de pages
ncessaires (toujours possible)
Contiges ou disperses
Chargs partiellement (ou totalement)
en MC
Lui allouer le nombre de cases
ncessaires
Contiges ou disperses

Y. SLIMANI
385
Systmes dExploitation
IF3 - 2011/2012
Mmoire Virtuelle Pagine
(4)
Excution de processus
Excution virtuelle
Utilise que des ressources virtuelles
Processeur, MC, Disque, etc.
Toujours possible
Comme une excution la main
Excution relle
Processus doit disposer de toutes les
ressources physiques ncessaires son
excution un instant t

Y. SLIMANI
386
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
387
Mmoire Virtuelle Pagine
(5)
Types dadressage : 2
Adressage virtuel
(Numro de page, dplacement)
Accs virtuel
Toujours possible car processus charg totalement
en mmoire virtuelle
Adressage rel ou physique
(Numro de case, dplacement)
Nest pas toujours possible
Processus peut tre charg partiellement en MC
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
388
Mmoire Virtuelle Pagine
(6)
Correspondance entre
adressages
Fonction de transformation
Dfinit comment passer dune adresse
virtuelle une adresse relle
Fonction partielle
Nombre de pages suprieur au nombre de cases
A une page on ne peut pas toujours associer
une case un instant t

Systmes dExploitation
IF3 - 2011/2012
Mmoire Virtuelle Pagine
(7)
Table de Pages
Fonction de transformation
Taille (# entres) = Nombre de pages
Une entre par page
Contenu dune entre
Bit de prsence (0 ou 1)
Bit de modification -dirty bit- (0 ou 1)
N de case associe (si page prsente en MC)
Informations pour le remplacement de pages
Autres informations (droits daccs, etc.)


Y. SLIMANI
389
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
390
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
391
Mmoire Virtuelle Pagine
(8)
Accs une information
Accs en mmoire virtuelle
Toujours possible
Les pages dun processus se trouvent toutes en
mmoire virtuelle
Accs uniquement virtuel
Existence de linformation
Pour y accder physiquement, il faut la faire migrer
en MC
Swap entre disque et MC
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
392
Mmoire Virtuelle Pagine
(9)
Accs en mmoire centrale
Processus charg partiellement en
mmoire centrale
Accs physique une donne D
Possible que si la page qui contient D est charge
en mmoire centrale
Utilisation de la Table des Pages pour le savoir
Si page non charge
Droutement
Cause : Dfaut de page
Rsolution du dfaut de page par le systme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
393
Performances (1)
Transformation dadresses
Opration de transformation
Opration frquemment sollicite
Excute chaque accs
Augmente le temps daccs une donne
Ralise par le hardware
MMU: Memory Management Unit

Systmes dExploitation
IF3 - 2011/2012
Performances (2)
Utilisation de la table de pages
Table de pages en MC
Rside de manire permanente en MC
2 daccs la mmoire pour effectuer la
transformation
Accs la Table de Pages
Vrifier si dfaut de page ou pas
Accs au mot rfrenc
Si pas de dfaut de page


Y. SLIMANI
394
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
395
Performances (3)
O stocker la table de pages
Solution 1 : Registres de lUC
Rapidit
Nombre de registres limits
Premire solution utilise
Solution 2 : dans une ou plusieurs
mmoires
Chargement total si taille rduite
Augmentation du temps daccs

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
396
Mmoire associative (1)
Dfinition
Mmoire classique
Accessible par adresse
Adresse Contenu (Valeur)
Mmoire associative
Taille plus petite
Technologie diffrente de celle de la MC
Accs rapide (accs parallle)
Accessible par contenu
Contenu (Valeur) Adresse (?)
Systmes dExploitation
IF3 - 2011/2012
Mmoire associative (2)
Mmoire associative et
transformation dadresse
Peut tre utilise comme fonction de
transformation
Mmoire rapide
Cherche la prsence dune valeur
Objectif
Savoir si une page est charge ou non en MC
Cache associatif

Y. SLIMANI
397
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
398
Mmoire associative (3)
No Page
No Case
3
7
0
2
15
19
17
23
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
399
Techniques de pagination
(1)
Pagination un niveau


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
400
Techniques de pagination
(2)
Pagination 2 niveaux
Taille de la TP
Trs grande
Nombre de pages trs grand
Ncessaire pour faire la transformation
Difficult de la charger totalement
Taille de mmoire disponible limite
Taille de la TP
Chargement de TP par parties
Augmente les E/S
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
401
Techniques de pagination
(3)
Paginer la table de pages
Notion dhyperpage
Ensemble de pages
Adressage
(Hyperpage,Page,Dplacement)
Table des hyperpages
Taille rduite
Charge totalement en MC
Tables de pages dune hyperpage
Ne charger que celles qui sont utilises
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
402
Techniques de pagination
(4)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
403
Mmoire Virtuelle
Segmente (1)
Pagination
Unit dallocation fixe
PAGE (taille uniforme)
Fragmentation interne
Uniquement dans la dernire page
Solution
Choisir une unit de taille variable
SEGMENT au lieu de Page
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
404
Mmoire Virtuelle
Segmente (2)
Segmentation
Correspond au dcoupage logique dun
programme
Segment
Unit logique : partie dun programme
Fonction, Classe, Mthode,
Unit physique : suite contige doctets
Tailles variables
Mmoire virtuelle segmente
Ensemble de segments virtuels
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
405
Fonction
Principale
Fonction D
A
B
C
D
Donnes
Donnes
Appel(D)
Accs(C,x)
Accs(B,y)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
406
Mmoire Virtuelle
Segmente (3)
Adressage
Adressage virtuel segment
(S,Dep)
S: numro de segment
Dep: dplacement lintrieur du segment
Transformation dadressage
Utiliser une fonction de transformation
comme dans le cas des pages
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
407
Mmoire Virtuelle
Segmente (4)
Table de segments
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
408
Algorithmique (1)
Problmes dallocation
Problme de placement
Rsolution dun dfaut de page
La charger en MC
Existence de case(s) libre(s) en MC
Placer la page charger dans une des
cases libres
Nimporte laquelle
Cases = {Ressources Banalises}
Mettre jour la Table des Pages
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
409
Algorithmique (2)
Problme de remplacement
Rsolution dun dfaut de page
Pas de cases libres
Solutions
Chargement diffr
Attendre quune case se libre
On se ramne au problme de placement
Chargement immdiat (Ex: Priorit)
Dcharger une page (librer une case)
Charger la page qui a fait dfaut la place de la
page dcharge
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
410
Remplacement (1)
Position du problme
MC sature
Pas de cases libres
Dfaut de page (DP) qui ncessite un
chargement immdiat
Ncessit de faire du swap
Dcharger une page (P) Librer la case qui la
contient
Remplacer (P) par celle qui a provoqu le DP (P)


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
411
Remplacement (2)
Remplacement
Dcharger une page P
P est appele PAGE VICTIME
Une page parmi celles qui sont en MC
Libration de la case qui la contient
Faut-il lcrire sur disque ou non (swap-out) ?
Connatre si elle a t modifie ou non depuis
sa date de chargement
Chargement de la page P
Problme de placement
P sera charge dans la case qui tait alloue P

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
412
Remplacement (3)
Problme pos par le remplacement
Page victime
Dcharge en mmoire virtuelle
Peut crer un dfaut de page si elle est de nouveau
rfrence
Problme de choix dune page victime
Selon quel critre la choisir ?
Meilleur critre
Choisir une page qui ne sera plus rfrence
Ne provoquera plus de dfaut de page partir
de linstant o elle a t dcharge
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
413
Algorithmes de
remplacement (1)
Elments de base
Chane de rfrences
Squence des n de pages rfrences par
un processus durant son excution
Exemple
<1,1,1,4,4,5,2,3,3,3,1,1, >
Principe de localit daccs
Durant une priode, un processus accde
au mme sous-ensemble de pages au
cours de son excution
Concentration des accs dans ce sous-ensemble
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
414
Algorithmes de
remplacement (2)
Critres de performance
Existence de plusieurs algorithmes
Comment savoir quel est le meilleur ?
Meilleur algorithme
Celui qui gnre le plus petit nombre de
dfauts de pages pour une chane de
rfrences donne

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
415
Algorithmes de
remplacement (3)
Proprit dune chane de
rfrences
Sous-squence stable
A : priode de temps
Priode de t t+A
Sous-squence stable durant la priode A
Processus fait rfrence aux mmes pages
durant cette priode
Accs regroups
Exemple: Excution squentielle dune fonction
Systmes dExploitation
IF3 - 2011/2012
Algorithmes de
remplacement (4)
Sous-squence non stable
Processus fait rfrence des pages de manire
alatoire
Exemple : appels de fonctions, mthodes, etc.
Les sous-squences non stables sont moins
frquentes et moins longues que les sous-squences
stables
Intrt
Possibilit de deviner les accs futurs
partir des accs rcents
Processus entre dans une priode de stabilit quand
il commence lexcution dune fonction, dune
mthode, etc.



Y. SLIMANI
416
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
417
Algorithmes de
remplacement (5)
OPTIMAL
Critre de choix
Page qui ne provoquera pas de dfaut de
page dans le futur, ou
Page qui repoussera le plus loin possible
le dfaut de page (vers la fin du processus)
Suppose la connaissance de la chane des
rfrences futures
Algorithme thorique de rfrence
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
418
Algorithmes de
remplacement (6)
FIFO
Critre de remplacement
Choix de la page victime
Premire page charge sera la premire tre
dcharge en cas de dfaut de page
Algorithme trs simple mettre en uvre
Classement des pages par date de chargement
Garder la trace des dates de chargement

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
419
Algorithmes de
remplacement (7)
LRU
Least Recently Used
Approximation de lalgorithme Optimal
Critre de choix de la page victime
La page la moins rcemment rfrence
Ide base sur la localit daccs
Page rcemment rfrence a plus de chance dtre
rfrence de nouveau par rapport une page
ancienne
Classer les pages par date dutilisation
Garder trace des dates de rfrence (daccs)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
420
Algorithmes de
remplacement (8)
Algorithme de lhorloge
Appel aussi Algorithme de la Seconde
Chance (FINUFO)
Principe
FIFO amlior
Utilise deux dates
Date de chargement et date de rfrence
Pages rcemment rfrences ne seront pas
remplaces tout de suite (obtiennent une seconde
chance)
Garder une trace sur lutilisation des pages (bit)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
421
Algorithmes de
remplacement (9)
Principe
Utilisation dun anneau circulaire des
cases
Nombre dlments de lanneau
Nombre de cases de la mmoire centrale
Chaque lment de lanneau correspond une case
bien prcise
Numros des cases organiss selon lordre croissant
Contenu dun lment de lanneau
Numro de page charge dans la case
correspondante
Systmes dExploitation
IF3 - 2011/2012
Algorithmes de
remplacement (10)
Parcours de lanneau selon les aiguilles
dune montre
Utilisation dun pointeur
Pointe sur la case qui suit celle dans laquelle on a
fait le dernier chargement dune page


Y. SLIMANI
422
Systmes dExploitation
IF3 - 2011/2012
Algorithmes de
remplacement (11)
Choix de la page victime
Partir de la position courante du pointeur
Rechercher de manire circulaire, sur lanneau, la
premire page dont le bit dutilisation est gal 0
Page victime : page dont le bit est 0
Durant la recherche, tous les bits qui sont 1 sont
remis 0
Bit 1: page a t utilise (rfrence)
Remise 0 : supposer quelle ne sera plus
rfrence (hypothse)
Si elle est de nouveau rfrence, son bit
basculera 1 sinon il restera 0


Y. SLIMANI
423
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
424
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
425
Algorithmes de
remplacement (12)
WORKING SET (WS) ou
ensemble de travail
Bas sur une notion de fentre
Fentre : espace de travail pour un
processus
Dfinie par une taille A
Nombre de pages de la fentre
Contenu de la fentre (espace de travail)
Pages ncessaires un processus pour ne pas
provoquer de dfauts de pages

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
426
Algorithmes de
remplacement (13)
Critre de choix de la page victime
Page qui ne fait partie de lespace de
travail
Page en dehors du working set
Mise jour permanente du contenu de
lespace de travail
Difficult
Choisir une taille approprie de lespace
de travail (fentre)

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
427
Algorithmes de
remplacement (14)
WS(t
1
) = {1, 2, 5, 6, 7}
t
1

A
WS(t
2
) = {3, 4}
t
2

A
2 6 1 5 7 7 7 7 5 1 6 2 3 4 1 2 3 4 4 4 3 4 3 4 4 4 1 3 2 3 4 4 4 3 4 4 4
Chane de
rfrences
A = 4 donnerait le mme rsultat
pour t
2
!!!

Exemple de working set
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
428
Algorithmes de
remplacement (15)
Anomalie de Belady
Nombre de dfauts de pages
Dpend
Du nombre de cases de la MC
De la chane de rfrences
Algorithme de remplacement utilis
Intuitivement
Augmentation de la taille de la MC Diminution
du nombre de dfauts de pages
Constat
Laugmentation du nombre de cases mmoire peut
augmenter le nombre de dfauts de pages
Anomalie de Belady
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
429
Ecroulement dun systme
(1)
Position du problme
Appel aussi TRASHING
Objectif de gestion
Rentabiliser lutilisation du processeur
Augmenter le degr de multiprogrammation
Plus de processus en mmoire centrale
Moins despace pour chaque processus
Augmentation du nombre de dfauts de pages
Nombre lev dE/S (Rsolution des DP)
Systmes dExploitation
IF3 - 2011/2012
Ecroulement dun systme
(2)
Ecroulement dun OS
Trs forte activit de pagination
Nombre de dfauts de pages trs grand
Succession de swaps
Le processeur passe son temps rsoudre des
problmes de dfauts de pages (droutements)
plutt que dexcuter des processus
Cas trs frquent du systme Windows

Y. SLIMANI
430
PARTIE 15
Gestion de
Disque
Systmes d'Exploitation
IF3 - 2011/2012
431
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
432
Introduction
Mmoires secondaires
Mmoires de stockage permanentes
Caractristiques
Technologie (IDE, SCSI, )
Taille
Type daccs (R, RW)
Temps daccs
Fixes ou Mobiles
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
433
Disque magntique (1)
Prsentation
Surface magntique
1 ou 2 faces
Division de la surface
Pistes (Track)
Pistes divises en Secteurs (Sectors)
Lecture/Ecriture avec des dispositifs
magntiques
Ttes de lecture/criture (R/W)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
434
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
435
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
436
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
437
Disque magntique (2)
Composants
Partie lectronique
Rapide
Partie lectromcanique
Dplacement des ttes
Moins rapide
Ralentit les temps daccs
Peut tre optimise
Gestion des dplacements des ttes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
438
Disque magntique (3)
Unit dallocation et daccs
Secteur ou Bloc
Taille usuelle : 512 octets
Oprations
Lecture
Ecriture
Spcifiques
Dplacement des ttes de R/W

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
439
Disque magntique (4)
Adressage
Information se trouve dans un secteur
Adresse dune information
Triplet : (Cylindre,Piste,Secteur)
Linformation cylindre est utilise quand on a plus
dune surface
Gestion dun disque
Espace (rentabiliser)
Temps daccs (minimiser)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
440
Disque magntique (5)
Paramtres de gestion
Soit une opration daccs une
information dadresse (p,s) sur disque
Temps ncessaires pour lexcuter : 4
Temps dattente du canal pour excuter
lopration
Oprations prises en charge par un canal
Excutes de manire squentielle
Attendre (ventuellement) la libration du canal
Occup par une autre opration
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
441
Disque magntique (6)
Temps de positionnement des ttes
Dplacement des ttes de R/W pour les positionner
sur la piste considre
Appel Seek time
Temps de latence ou de rotation
Attendre que le secteur considr se positionne sous
les ttes de lecture/criture
Temps de transfert physique
Temps de lecture ou dcriture de linformation

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
442
Gestion des accs disque
Files dattente
Demandes daccs stockes dans une ou
plusieurs files dattentes
Suite de numros de pistes
Une file par piste ou une file pour toutes
les pistes dun disque
Piste courante (dynamique)
Piste o se trouvent, un instant donn,
les ttes de lecture/criture
Piste o a eu lieu la dernire opration
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
443
Algorithmique (1)
Position du problme
Piste courante : PC
File dattente des demandes daccs
Choix dun ordre de traitement
Fixer lordre de traitement des demandes
daccs
Objectif
Rduire au maximum les dplacements physiques
des ttes de lecture/criture
Rduire le nombre de mouvements mcaniques

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
444
Algorithmique (2)
Critre de performance
Existence de plusieurs algorithmes
Comment dcider quel est le meilleur ?
Critre de performance
Nombre de dplacements des ttes de
lecture/criture
Meilleur algorithme
Celui qui gnre le plus petit nombre de
dplacements pour une file dattente

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
445
Algorithmique (3)
Algorithme FIFO
Traitement des demandes dans lordre
de leur arrive
Similaire un dplacement de cheval
Va et vient (saut) alatoire
Fonction des pistes auxquelles on accde par
rapport la piste courante
Avant, Arrire
Mauvaises performances
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
446
Mouvement total: 640 = (98-53) + (183-98) +...
En moyenne: 640/8 = 80
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
447
Algorithmique (4)
Algorithme SSTF
Plus court dabord
Shortest Seek Time First
Choisir la piste qui ncessite le minimum
de dplacements par rapport la piste
courante
Peut causer une Famine
Concentration des accs autour dune
piste ou dun sous-ensemble de pistes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
448
Mouvement total: 236 (680 pour le prcdent)
En moyenne: 236/8 = 29.5 (80 pour le prcdent)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
449
Algorithmique (5)
Algorithme SCAN
Utilise la stratgie dun ascenseur
Balayage des pistes dun disque dans un
sens puis dans lautre
En avant ou en arrire
Traitement des demandes daccs dans
le sens du balayage des pistes
Changement de sens
Arrive aux pistes extrmes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
450

Mouvement total: 208
En moyenne: 208/8 = 26 (29.5 pour SSTF)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
451
Algorithmique (6)
Algorithme LOOK
Problme de SCAN
Dplacement jusquaux pistes extrmes
pour changer de sens
Dplacements inutiles
Pas de demandes daccs au-del dune certaine
piste
Solution
Changer de sens nimporte quelle piste
Piste au-del de laquelle il ny a plus de demandes
traiter (ncessite des tests pour le savoir)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
452
Algorithmique (7)
Variantes de SCAN et LOOK
C-SCAN
Retour rapide la piste 0 pour changer
de sens
Retour considr comme un seul dplacement
On considre que les pistes du disque sont
adjacentes (Circulaire)
C-LOOK
Algorithme Look circulaire
Aller vers la piste o il y a une demande
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
453
Exemple 1 de C-LOOK
153 sans considrer le retour (19.1 en moyenne) (26 pour SCAN)
MAIS 322 avec retour (40.25 en moyenne)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
454
Exemple 2 de C-LOOK
direction
Retour 169
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
455
Disques RAID (1)
Performances daccs
Comment amliorer les temps daccs
Mthodes dallocation de lespace disque
Exemple du systme Unix (voir cours Unix)
Utilisation de nouveaux types de disques
RAID (Redundant Array of Inexpensive/Independent
Disks)
Objectifs
Redondance des donnes
Paralllisation des E/S
Systmes dExploitation
IF3 - 2011/2012
Disques RAID (2)
Types de disques RAID
5 niveaux de disques
Raid 0 Raid 4
Raid 0
Dcoupage dun ensemble de donnes en partitions
de tailles gales
Distribution des partitions sur diffrents disques
Pas de redondance

Y. SLIMANI
456
Systmes dExploitation
IF3 - 2011/2012
Disques RAID (3)
Raid 1 (Niveau 1)
Utilisation de disques miroirs
Un disque miroir pour chaque disque
Ecriture sur tous les disques pour assurer la
cohrence
Lecture de nimporte quel disque

Y. SLIMANI
457
PARTIE 16
Systme de
Gestion de Fichiers

Systmes d'Exploitation
IF3 - 2011/2012
458
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
459
Introduction (1)
Notion de fichier
Elment de base dun systme
Ensembles dinformations destins tre
Stocks
Utiliss
Organisations des fichiers
Organisation logique
Vue utilisateur
Arbre de fichiers
Organisation physique
Implantation de larbre sur un support physique
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
460
Introduction (2)
SGF
Elment fondamental dun OS
Interface entre un utilisateur et les
fichiers
Ensemble de services internes (fonctions)
Transparents par rapport lutilisateur
Ensembles de services externes (fonctions)
Visibles lutilisateur
Peut les utiliser soit travers des interfaces
graphiques soit travers ses programmes et
applications
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
461
SGF (1)
Organisation dun disque
Dtermine le fonctionnement dun SGF
Structure logique dun disque
Partitions physiques et logiques
Partitionnement physique
Espace disque divis en partitions
SGF propre chaque partition
Rpertoire propre chaque partition
Ensemble des fichiers de la partition
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
462
SGF (2)
Intrts
Scurit
Fichiers spars
Possibilit dinstaller plusieurs systmes
dexploitation
Inconvnient
Perte dun peu despace
Informations sur le partitionnement
Partitionnement logique
Eclater un disque dur
Systmes dExploitation
IF3 - 2011/2012
SGF (3)
Outils de partitionnement
FDisk, Partition Magic, GParted, etc.
Partition
Partie dun disque
Types
Primaire ou principale
Possibilit davoir au maximum 4 (contrainte du
BIOS), dont une seule peut tre active
Seule la primaire est amorable sous Windows
Sous Linux, elles sont toutes amorables

Y. SLIMANI
463
Systmes dExploitation
IF3 - 2011/2012
SGF (4)
Etendue
Introduite pour dpasser la limite de 4 partitions
primaires
Une partition primaire parmi les 4 peut tre
dcompose en partitions logiques
Doit contenir au moins une partition logique
Logique
Proprits
Amorable
Visible ou cache
Active ou non

Y. SLIMANI
464
Systmes dExploitation
IF3 - 2011/2012
SGF (5)
Secteur Boot dune partition
Un secteur boot par partition
Premiers secteurs (blocs) de la partition
Contenu
Proprits de la partition (SGF utilis)
Secteur damorage si elle contient un OS
Secteur MBR
Master Boot Record
Premiers secteurs dun disque
Cylindre 0, Tte 0, Secteur 1
Situ avant la premire partition physique



Y. SLIMANI
465
Systmes dExploitation
IF3 - 2011/2012
SGF (6)
Contenu
Informations sur le disque
Fabricant, Numro de srie, Nombre doctets
par secteur, Nombre de secteurs par cluster, etc.
Table des partitions primaires
Taille, proprits
Systme damorage
Programme excut par le BIOS


Y. SLIMANI
466
Systmes dExploitation
IF3 - 2011/2012
SGF (7)

Y. SLIMANI
467
Systmes dExploitation
IF3 - 2011/2012
SGF (8)

Y. SLIMANI
468
Systmes dExploitation
IF3 - 2011/2012
SGF (9)
Systmes de fichiers
Existence de plusieurs systmes
FAT32
Windows
Reconnu par Linux
Peut grer des disques de 2 To
NTFS
Utilis par Windows NT, 2000, XP, 7
Reconnaissable par Linux


Y. SLIMANI
469
Systmes dExploitation
IF3 - 2011/2012
SGF (10)
Linux Ext2 (Ext2FS)
Non reconnu par DOS et Windows
Linux Ext3 (Ext3FS)
Extension de Ext2FS
Disques de 4 To
Journalise les oprations sur les fichiers
Rcupration rapide en cas de corruption
Linux Swap
Systme pour la mmoire virtuelle

Y. SLIMANI
470
Systmes dExploitation
IF3 - 2011/2012
SGF (11)
Rpertoire
Organisation dun ensemble de fichiers
Les structurer (organiser) sous forme dun
arbre (graphe acyclique) de fichiers
Relation entre les lments de cette arborescence
Relation Pre/Fils
Un pre peut avoir 0 ou plusieurs fils
Un fils a un et un seul pre
Seul un rpertoire peut jouer le rle de Pre
Existence dune seule racine pour un arbre

Y. SLIMANI
471
Systmes dExploitation
IF3 - 2011/2012
SGF (12)
Deux rpertoires fondamentaux
Rpertoire racine
Plus petit arbre possible
Rpertoire courant ou rpertoire de base
Reprsente une base pour toute opration sur
les fichiers sauf indication contraire
Toutes les oprations seront dfinies partir de
ce rpertoire courant
Peut voluer dans le temps


Y. SLIMANI
472
PARTIE 17
Scurit et
Protection
(Aspects systme)
Systmes d'Exploitation
IF3 - 2011/2012
473
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
474
Introduction
Scurit
Dfinir des objectifs et des politiques
de scurit
Protection
Mise en place de ces objectifs et
politiques
Mcanismes, Outils, Mthodes, etc.
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
475
Protection (1)
Protger laccs au systme
Accs physique
Mise en ON (manuelle)
Reconnaissance physique de la machine
Reconnaissance des composants de la machine
Aucun accs au systme
Ressources physiques et logiques non accessibles
Pas daffichage du bureau, ni de la fentre de
commandes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
476
Protection (2)
Accs logique
Mise en place dune procdure daccs
Procdure de login
Accs soumis des conditions
Acceptation ou refus de laccs
Accs nest plus libre (cas Windows)
Accs uniquement pour les utilisateurs autoriss

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
477
Protection (3)
Technique utilise
Authentification
Existence de comptes pour les utilisateurs
Compte dans une machine
Donne accs , selon certaines conditions, aux
ressources de cette machine
Caractristiques dun compte
Nom et Mot de passe
Groupe, Privilges particuliers,

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
478
Protection (4)
Protection des ressources
Protection de laccs au systme
Accs matris ( par authentification)
Et aprs
Ne pas laisser lutilisateur faire nimporte quoi
Rglementer lutilisation des ressources du systme
Accs aux ressources
Dfinir des rgles (droits) dutilisation des
ressources (physiques et logiques)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
479
Protection (5)
Principe fondamental
Need to Know
Permettre une entit daccder uniquement ses
propres donnes et aux donnes dont elle a besoin
Libert daccs ses propres fichiers
Laccs aux autres donnes est soumis des
conditions qui doivent tre respectes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
480
Protection (6)
Protection des donnes en MC
Mmoire centrale partage
Donnes et processus systme(s)
Donnes et processus utilisateurs
2 niveaux de protection
Protger le systme contre les utilisateurs
Protger les espaces utilisateurs entre eux
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
481
Protection (7)
Mcanismes
Utilisation de deux registres limites
Adresse dbut de lespace allou un processus
Adresse fin de cet espace
Font partie du contexte dun processus
Accs autoriss uniquement dans les
limites dfinies par ces deux registres
Impossibilit daccs la zone systme
Systme non protg
MS-DOS et Windows
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
482
Protection (8)
Mcanisme de contrle de base
Assur par la MMU
Memory Management Unit
Circuit physique qui gre les accs la mmoire
centrale
Exemple
Eviter quun programme utilisateur accde la
zone systme et aux autres zones de la mmoire
Sassurer quil reste dans lespace qui lui a t
allou par le systme (comparaison dadresses)



Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
483
Protection (9)
Notion de domaine
Modle abstrait de protection

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
484
Protection (10)
Notion danneau de protection
Introduite par le systme MULTICS

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
485
Protection (11)
Matrice daccs
Dfinit les modalits daccs aux
ressources
Non accessible directement par les users
Modalits dutilisation
Matrice accessible que par des processus
systme ou utilisateurs autoriss (root
sous Unix)
Permet lOS de vrifier les accs
Comparaison entre accs demands et accs
autoriss
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
486
Protection (12)
Dfinition des droits daccs
Permissions, Policies, Right access,
Capacits, Capabilities
Dfinis par les utilisateurs propritaires
des fichiers, objets,
Qui accde Quoi et Pour faire Quoi
Peuvent changer au cours du temps
Modifiables uniquement par ceux qui les
dterminent
Propritaires des ressources (fichiers sous Unix)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
487
capacits
du
domaine D2
capacits sur le fichier F2
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
488
Protection sous UNIX (1)
Principes
Utilisateur
Tout utilisateur a un compte Unix
Il est propritaire des fichiers quil cre
Il est utilisateur potentiel des autres
fichiers (ceux quil na pas cre)
Utilisateurs rassembls en groupes
G1 = {U1, U2, U3}
G2 = {U1,U4}
G3 = {U6,U8,12}
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
489
Protection sous UNIX (2)
Utilisateurs dun fichier
Diviss en 3 catgories
Propritaire : Owner
Fixe les droits daccs sur ses propres fichiers
Droits: R, W, X
Il les fixe pour lui, pour les membres de son
groupe et pour les autres
Groupe du propritaire : Group
Autres : Others
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
490
Protection sous UNIX (3)
Droits daccs
Fixs par le propritaire uniquement
Droits dynamiques
Systme assure que les droits fixs par
le propritaire seront respects tout
instant
Accs un fichier nest pas systmatique
Vrifier si lopration daccs un fichier est
conforme aux droits fixs par le propritaire de ce
fichier

PARTIE 18
Structuration
des OS
Systmes d'Exploitation
IF3 - 2011/2012
491
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
492
Structuration des
systmes (1)
Intrt de la structuration
Dfinir des normes, des rgles, des
mthodes, des techniques, des outils
pour faciliter
La Conception
Le Dveloppement
La Maintenance
LEvolution des systmes (et des
applications)




Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
493
Structuration des
systmes (2)
Types de structuration
Monolithique
Par couches ou par niveaux
Machines Virtuelles
Client/Serveurs
Micro-noyau



Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
494
Structure monolithique (1)
Forme
Ensemble indissociable de fonctions
Cooprent pour raliser des fonctions
plus complexes
Chaque fonction est visible par toutes
les autres (accessible directement)
Aucune transparence
Coopration par appel de procdure
Absence de structuration
Un seul programme excutable

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
495
Structure monolithique (2)
Exemples
MS/DOS, Win--, Unix
Principe de fonctionnement
Dclencher un appel systme
Appel dune fonction du noyau
Excution de la fonction en mode systme
Retour au processus appelant
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
496
Structure monolithique (3)
Synthse
Structure complexe
Mlange de fonctions trs diversifies
Manque de flexibilit
Evolution trs difficile
Maintenance complexe
Systme : Bote noire
Difficile (voire impossible) de comprendre son
fonctionnement interne
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
497
Structure en couches (1)
Principe
Dcomposer un systme en couches
Hirarchiser les couches
Couche la plus basse
Matriel
Couche la plus haute
Applications utilisateurs
Hirarchie des couches correspond une
logique
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
498
Structure en couches (2)
Fonctionnement
Couche i utilise les services (fonctions)
de la couche (i-1) et fournit des
fonctions (services) pour la couche (i+1)
Je dfinis (i) partir de (i-1)
Tu (i+1) utilises ce que jai (i) dfini
Tu (i+1)dfinis, et ainsi de suite
Exemples
THE (Dijkstra), MULTICS, UNIX,
Systmes dExploitation
IF3 - 2011/2012
Structure du systme THE

Y. SLIMANI
499
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
500
Matriel
Gestion de la Mmoire
Gestion des IT et des processus
Gestion des E/S
Allocation de ressources
Gest. de fichiers
Shell
Prog. dapp
Utilisateur
Matriel
Gestion des priphriques
et des Interruptions
Gest. de fichiers
Shell
Prog. dapp
Utilisateur
Mono-utilisateur
mono tche
Unix
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
501
Couches Fonctionnelles
Machine physique
(mmoire centrale, processeur, priphriques, )
Microprogramme
Langage machine
Systme dexploitation
Programmes systmes (compilateur,
chargeur, ...)
Programmes dapplication
(diteur, tableur, base de donnes, ...)
Programmes
utilisateur
Interface
utilisateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
502
Avantages et
Inconvnients (1)
Avantages
Hirarchie
Connaissance restreinte de fonctionnalits
par couche
Contrle propre chaque couche
Confinement des erreurs (dans une couche)
Dveloppement
Simultanit (cot, rapidit, test, )
Facilit dintgration
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
503
Avantages et
Inconvnients (2)
Inconvnients
Efficacit
Passage oblig par la hirarchie
Appel de fonctions de bas niveau
Modle thorique
Bon principe de conception
Impose de la rigueur et de la discipline du point de
vue dveloppement
Pas toujours suivi en pratique
Problme de cot (temps, financier, )
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
504
Exemples (1)
Systme MS/DOS
Caractristiques
Fonctionnalits maximales avec le
minimum de ressources
Mono-utilisateur, mono-tche
Pas de modularit dans sa conception
Non structur
Ne supporte pas de fonctionnalits
complexes
Adaptation trs complexe

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
505
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
506
Exemples (2)
Systme UNIX
Mono ou Multi-utilisateurs
Multi-tches
Structure du systme
Noyau (Kernel)
Nombre lev de fonctionnalits
Muni dinterfaces
Programmes (Services) du systme
Complment du noyau
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
507
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
508
Structure Client/Serveur (1)
Structure du systme
Noyau
Rduit au minimum
Fonctions essentielles de base
Ensembles de Serveurs
Ralisent des fonctions plus complexes
Serveurs de fichiers, Serveurs dimpression,
Serveurs de courriers, etc.

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
509
Structure Client/Serveur (2)
Elments du systme
Clients (utilisateurs de services)
Serveurs (fournisseurs de services)
Communication entre clients
et serveurs
Envoi de messages
Client vers Serveur : Requte
Serveur vers Client : Rponse
Communication travers le noyau


Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
510
Exemple: WinNT
Systmes dExploitation
IF3 - 2011/2012
Source: Tanenbaum

Y. SLIMANI
511
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
512
Structure micro-noyau (1)
Objectif
Rduire le noyau en terme de taille
Rduction des fonctionnalits de base
dpendantes du noyau
Evacuer certaines fonctions vers une
hirarchie suprieure (sous-systme)
Fonctions places dans un espace utilisateur
Construire des sous-systmes partir du
micro-noyau

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
513
Structure micro-noyau (2)
Systme de base
Noyau minimal
Fonctions de base
Nest pas le systme final
Ensemble de services
Dfinis partir du micro-noyau
Dfinir son propre systme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
514
Structure micro-noyau (3)
Avantages
Interface plus simple
Configurable
Possibilit de mettre des serveurs au
dessus du micro-noyau
Utilisation des services du micro-noyau
Plus performant
Systme fonctionne mme en cas de
panne dun serveur
Reprise chaud sans redmarrage

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
515
Structure micro-noyau (4)
Adapte la rpartition
Rpartition
Absence de centralisation
Systme global compos dun ensemble de
sous-systmes
Utilisables distance travers le rseau
Exemples
Chorus, Argus, Amoeba, Mach
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
516
Exemple: OS/2 dIBM
Systmes dExploitation
IF3 - 2011/2012
Exemples de micro-noyaux

Y. SLIMANI
517
Source: Wikipedia
Source: Cours C. Kaiser, CNAM Paris
Systmes dExploitation
IF3 - 2011/2012
Micro-noyau enrichi

Y. SLIMANI
518
S
o
u
r
c
e
:

W
i
k
i
p
e
d
i
a

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
519
Machines Virtuelles (1)
Constat
Systme li une architecture
Accs aux ressources physiques de cette
architecture
Problme
Machine i Systme i
Que se passe-t-il si on change de machine ?
Peut-on dfinir un OS pour tout type de
machine ?
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
520
Machines Virtuelles (2)
Solution
Approche logicielle
Dfinir une couche qui offre plusieurs
machines physiques virtuelles
Faire fonctionner un OS sur chacune de
ces machines
Ide
Sparer la fonction de gestion de la
fonction dutilisation
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
521
Machines Virtuelles (3)
Principe
Ressource Virtuelle
Tout ce qui nest pas physique
A priori aucune contrainte
Nombre, type, etc.
Machine virtuelle (MV)
Cre par couche(s) logicielle(s)
Mmes potentialits que la physique (MP)
Mmes ressources, mme jeu dinstructions,
Plusieurs MV sur la mme MP
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
522
Machines Virtuelles (4)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
523
Machines Virtuelles (5)
Exemples
SUN, APPLE, Linux permettent de faire
fonctionner Windows sur leurs plates-
formes
Fournissent un environnement
reconnaissable par Windows sous Intel
Virtual Box, VMWare
PARTIE 19
Evolution des
OS
Systmes d'Exploitation
IF3 - 2011/2012
524
Y. SLIMANI
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
525
Evolution (1)
Historique
Plusieurs priodes
Evolution technologique
Evolution conceptuelle
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
526
Evolution (2)
Priodes
Premiers systmes
Systmes Batch
Systmes Multiprogramms
Systmes Temps-partag
Ordinateurs Personnels (PC)
Systmes Rseaux

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
527
Evolution (3)
Systmes Parallles
Systmes Rpartis ou Distribus
Systmes Mobiles
Grilles de calcul et de donnes
Architectures multicoeurs
Cloud computing

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
528
Dbut
Dcouverte des OS
Fonctionnalits communes tous les
programmes
Programmation de ces fonctionnalits
Mises la disposition des users
Entre/Sortie
Amorage du systme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
529
Systmes Batch (1)
Caractristiques
Dbut des vritables OS (50)
Soumission de lots de Jobs (Programme)
Opration manuelle
Ralise par un Oprateur
Excution Job/Job
Opration automatique (Moniteur)
Moniteur rsident en MC (premier OS)
Excution dun seul Job la fois
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
530
Lecteur de
cartes
Bandes
magntiques
Disques
Console oprateur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
531
Systmes Batch (2)
Fondements
Premiers concepts des OS
Repris par tous les systmes
Evolution
Avances technologiques
Techniques de dveloppement de logiciels
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
532
Systmes Batch (3)
Concept de Moniteur
Programme rsident en MC
Lecture des Jobs
Suite de cartes perfores
Interprtation des cartes
Dbut; Donnes+Instructions; Fin
Chargement en MC du Job excuter
Moniteur donne le contrle au Job charg

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
533
Systmes Batch (4)
Excution dun Job jusqu
Fin du Job
Dclenchement dune E/S
Erreur (arrt du Job)
Moniteur reprend le contrle
Le donne au mme Job (fin dE/S)
Ou au Job suivant
Excution squentielle de Jobs
Enchanement automatique de lexcution des Jobs
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
534
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
535
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
536
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
537
Systmes Batch (5)
Proprits exiges
Protection mmoire
Jobs ne doivent pas accder au moniteur
Gestion du temps
Eviter quun Job utilise le temps
indfiniment
Boucle infinie
Larrter (interrompre) en cas de besoin

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
538
Systmes Batch (6)
Excution des instructions
Deux classes dinstructions machine
(Modes)
Celles excutes uniquement par le moniteur
Instructions Privilgies
Mode Moniteur
Celles excutes par les Jobs utilisateurs
Instructions non privilgies
Mode Utilisateur
Passage de mode mode selon des rgles

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
539
Systmes Batch (7)
Interruptions
Elment fondamental des OS
Assurent, selon des conditions prcises, le
transfert de contrle entre
Systme dexploitation
Priphriques dEntres/Sorties
Programmes utilisateurs
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
540
Systmes
Multiprogramms (1)
Caractristiques
Dfaut des systmes batch
Trs mauvaise utilisation des ressources
Excution Job/Job
Ralentissement d aux E/S
Evolutions technologiques
Utilisation de disques (vs bandes)
Grandes capacits
Accs direct aux donnes (non squentiel)
Temps daccs rapide
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
541
Systmes
Multiprogramms (2)
Apparition des canaux dE/S
Processeurs autonomes spcialiss pour lexcution
de programmes dE/S
Evolution des mmoires centrales
Plus grandes capacits
Temps daccs plus rapide
Multiprogrammation
Multiprogrammer lutilisation de la
machine par plusieurs programmes
Faire du calcul en mme temps que les E/S

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
542
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
543
Systmes
Multiprogramms (3)
Proprits exiges
Les mmes que pour le Batch
Mais plus importantes
Protection
Systme par rapport aux utilisateurs
Mais aussi utilisateurs entre eux
Interruptions
Rle plus important
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
544
Systmes
Multiprogramms (4)
Nouveaut
Spooling ou Spoule
Anticipation
Stocker les Jobs (programmes) sur un
support externe (Disque)
Les charger, sans intervention dun
oprateur humain, en MC pour excution
Quand charger ?
Combien faut-il charger ?
Quels programmes charger ?
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
545
Systmes
Multiprogramms (5)
Principe
Simultanit entre calcul et E/S
Processeur : Calcul
Canal : E/S
Pnalise certains programmes
Programmes qui font peu de calcul
Excuts aprs de longs programmes de calcul
Trouver un quilibre
Rpartir quitablement les ressources entre les
programmes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
546
Systmes Temps-Partag
ou Time-sharing (1)
Systmes multiprogramms
Meilleure exploitation des ressources
Pas dinteractivit avec les utilisateurs
(user passif)
Soumission, rcupration des rsultats
Mauvaise rpartition des ressources
dune machine entre utilisateurs
Exemple: temps processeur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
547
Systmes Temps-Partag
ou Time-sharing (2)
Ide
Garder les principes des systmes
multiprogramms
Partager quitablement le temps
Accs simultan et interactif au
systme laide de TERMINAUX
Lgers: Clavier/Ecran
Terminaux esclaves
Lourds: PC, Stations,
Terminaux intelligents
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
548
Terminaux Esclaves
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
549
Terminaux Intelligents
Ordinateur central
Serveur
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
550
Systmes Temps-Partag
ou Time-sharing (3)
Proprits exiges
Nouvelles exigences
Communication entre users
Gestion plus complexe
Partage du processeur et de la mmoire centrale
Interactivit plus grande
Utilisateur prsent de manire permanente pendant
lexcution de ses programmes
Temps de rponse acceptable lchelle
humaine
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
551
Ordinateurs Personnels
Caractristiques
Evolution de la technologie
Diversit des domaines dapplication
Ordinateur la porte de tous
Puissance de + en + grande
Mobilit

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
552
Systmes Rseaux (1)
Caractristiques
Evolution des technologies de
communication
Evolution des ordinateurs
Plus petits, plus puissants
Dveloppement de lInternet
Notion de machine SERVEUR
Utilisateurs
Deviennent des clients vis--vis des serveurs
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
553
Systmes Rseaux (2)
Ide
Interconnecter des ordinateurs
Rseau Local (LAN)
Rseau Mondial (WAN)
Aspect communication
Gestion de la communication
Protocoles de communication
TCP/IP,
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
554
Systmes Temps-rel
Caractristiques
Contrainte temporelle en plus de la
contrainte de rsultat
Dure de traitement
Date de dlivrance dun rsultat
Embarqus, le plus souvent, dans des
dispositifs physiques
Avion, portable,
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
555
Systmes Parallles
Caractristiques
Plusieurs processeurs
Plusieurs horloges
1 seule mmoire centrale
Mme espace pour tous les programmes
Modle dexcution parallle
N programmes en mme temps (N UCs)
Accs squentiel la mmoire centrale
Synchronisation et communication entre
programmes
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
556
Systmes Distribus ou
Rpartis
Caractristiques
Machine compose de N sites htrognes
Site = 1 machine
Connexion des sites travers un rseau
Communication par messages
Sites sont distants les uns par rapport aux autres
Utilisation dun middleware
Systme au dessus des OS
Gre lhtrognit et la communication entre sites

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
557
Systmes Mobiles
Caractristiques
Ordinateurs portables
Systmes incorpors des composants
physiques
Tlphone portable
Cartes puces (banque, voiture, )
Capacits limites (ressources)
Connexion continue un rseau
Problme de dconnexion

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
558
Grilles de calcul
Caractristiques
Relier des machines, travers un rseau,
une chelle +/- grande
Super machine virtuelle
Utilisent un middleware spcifique
Types
Grilles de calcul (Grid Computing)
Grilles de donnes (Data Grid)
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
559
Architectures multi-curs
(1)
Prsentation
Nouvelles architectures
Dfinitions un peu confuses
Core, Core 2 Duo, Dual Core,
Objectif
Intgrer de la puissance de calcul sur une
seule puce
Offrir la puissance de calcul des machines
parallles
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
560
Architectures multi-curs
(2)
Terminologie
Cur ou Core
Architecture qui remplace le Pentium
2
Version du cur
Duo
Nombre de curs
Exemple
Core 2 Quad

Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
561
Architectures multi-curs
(3)
Architecture
Processeur Double cur ou Dual Core
Un seul processeur muni de 2 Curs
(Units de Calcul) sur la mme puce
Diffrent dun biprocesseur
2 Processeurs distincts
Partage de la mmoire cache (L2)
Commune aux curs
Intermdiaire entre curs et bus systme
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
562
Architectures multi-curs
(4)
Accs mmoire
Dcouplage des accs mmoire
Traitements parallles sur des donnes diffrentes
Bus de donnes
1 seul cycle pour traiter des donnes de
128 bits (2*64 bits)
Dsactivation de curs non utiliss
Rduction de la consommation dnergie
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
563
Architectures multi-curs
(5)
Systmes dexploitation
Gestion plus complexe
Gestion des contextes
Gestion des accs (Cache et MC)
Communication
Programmation
Parallle, Distribue, Pipe-line
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
564
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
565
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
566
Systmes dExploitation
IF3 - 2011/2012

Y. SLIMANI
567
Systmes dExploitation
IF3 - 2011/2012
Caractristiques
Extension du grid computing (grilles de
calcul)
Grid computing
Laccent est mis sur les aspects architecture
Cloud computing
Laccent est mis sur les aspects applicatifs
Appel aussi Calcul dans les nuages
Cloud Computing (1)

Y. SLIMANI
568
Systmes dExploitation
IF3 - 2011/2012
Objectif
Dplacer des traitements informatiques
sur des serveurs distants
Cloud Computing (2)

Y. SLIMANI
569
S
o
u
r
c
e
:

h
t
t
p
:
/
/
w
w
w
.
m
e
r
z
e
a
u
.
n
e
t
/
i
n
f
o
c
o
m
/
w
i
k
i
/
N
u
a
g
e

Systmes dExploitation
IF3 - 2011/2012
Quelques rfrences
douvrages de base sur les OS
A. SILBERSCHATZ, P. GALVIN, G. GAGNE. Operating System
Concepts. International Student Version, 8th Edition, Wiley,
February 2009.
A. SILBERSCHATZ, P. GALVIN, G. GAGNE. Operating System
Concepts with Java, 8th Edition, Wiley, February 2010.
Andrew S. TANENBAUM. Systmes d'exploitation, 3
me
dition,
Octobre 2008, Edition Pearson Education.
W. STALLINGS. Operating Systems: Internals and Design Principles,
5
me
Edition, 2005, Prentice-Hall.
Daniel P. BOVET, M. CESATI. Understanding the Linux Kernel,
Second Edition, December 2002, Edition O'Reilly Media.


Rfrences (1)

Y. SLIMANI
570
Systmes dExploitation
IF3 - 2011/2012

Kay A. ROBBINS, S. ROBBINS. UNIX Systems Programming:
Communication, Concurrency and Threads, 2003, Prentice-Hall.
W. RICHARD STEVENS, Stephen A. RAGO. Advanced Programming in
the UNIX Environment, 2nd Edition, 2005, Addison-Wesley.
U. RAMACHANDRAN, William D. LEAHY Jr. Computer Systems: An
Integrated Approach to Architecture and Operating Systems, First
Edition, July 2010, Addison Wesley.

Rfrences (2)

Y. SLIMANI
571

Vous aimerez peut-être aussi