Vous êtes sur la page 1sur 31

ENI-ABT-Mali Chargé de cours

Système d’exploitation Dr Yacouba GOITA


2019

Système d’exploitation
Fonctionnalités
Module4

© Copyright eni Dr Yacouba GOITA 1


OBJECTIFS
❶Multiprogrammation
❷Processus et allocation du CPU
❸Gestion de la mémoire
4 Système de fichiers
5 Programmation concurrente

© Copyright eni Dr Yacouba GOITA 2


MULTI-PROGRAMMATION

Deux processus à exécuter

Processus A
début attente attente attente fin
E/S E/S E/S

Processus B
début attente attente attente fin
E/S E/S E/S

© Copyright eni Dr Yacouba GOITA 3


Exécution sans multiprogrammation

Processus A
début attente attente attente fin
E/S E/S E/S

Processus B
attente attente attente attente
début fin
E/S E/S E/S

Exécution avec multiprogrammation


Processus A
début attente attente attente fin
E/S E/S E/S

Processus B
début attente attente attente fin
E/S E/S E/S

© Copyright eni Dr Yacouba GOITA 4


Processus A NOYAU Processus B

exécute

read / write
sauvegarde en attente
les registres

restaure les
registres

exécute
en attente
interruption
sauvegarde
les registres

restaure les
registres

en attente
exécute

© Copyright eni Dr Yacouba GOITA 5


NEW TERMINATED
admitted interrupt exit

scheduler
READY RUNNING
dispatch

completion of IO or event wait on IO or event

WAITING

Les états d'un processus

© Copyright eni Dr Yacouba GOITA 6


Process control block

pointer
process state
process number
program counter

registers

memory limits
list of open files
.
.
.

© Copyright eni Dr Yacouba GOITA 7


nouveau
travail
file d'attente des travaux
création
d'un
Disque
processus

ALLOCATION
DU CPU et SWAP
IN SWAP
stockage sur disque OUT
GESTION DES
sur disque
TRAVAUX chargement
en mémoire
transfert
sur disque
en mémoire

CPU
file d'attente CPU

E/S
© Copyright eni Dr Yacouba GOITA 8
file d'attente E / S
MULTI-PROGRAMMATION
0
NOYAU

processus # 1

0
P1
CPU processus # 2

0
P2
CPU

Translation d'adresse: logique --> physique


- lors du chargement
- à l'exécution - dynamique (matériel spécial)
Problèmes: protection et performance
© Copyright eni Dr Yacouba GOITA 9
ADRESSE LOGIQUE VS ADRESSE PHYSIQUE
0
MÉMOIRE

A quoi correspondent données 0


Processus

les adresses dans le mov ad_1, ad_2


code en mémoire ?
jmp ad_3

+ relatives au processus
CPU ad_3

+ doivent être traduites ad_1

( translation d'adresse ) MMU ad_2

adresse

© Copyright eni Dr Yacouba GOITA 10


Translation d'adresse

données
MÉMOIRE

CPU registre

+
adresse

© Copyright eni Dr Yacouba GOITA 11


Protection mémoire

données
MÉMOIRE

base
CPU
+
<

limite
adresse

© Copyright eni Dr Yacouba GOITA 12


PARTITIONS VARIABLES

Le nombre et la taille des partitions


sont variables
0

NOYAU
0

P1 P1

P2
P2

© Copyright eni Dr Yacouba GOITA 13


PAGINATION
mémoire
physique
adresse logique
0
p d mémoire
page déplacement
1
0

2
1

3
2

déplacement = adresse modulo taille des pages


no de page = adresse / taille des pages

© Copyright eni Dr Yacouba GOITA 14


ALLOCATION NON CONTIGÜE DES PAGES

mémoire physique
P1
0 P1 - 1
1 P2 - 1
P1 - 0

P2
0
1 P2 - 0
2 P2 - 2

© Copyright eni Dr Yacouba GOITA 15


TABLE DES PAGES
read only / valide /
read write invalide
Processus P1 Mémoire
0 Code A 0
0 6 ro v
1 Code B 1 10 ro v 1 Code C
2 Code C 2 1 ro v 2 Data 1
3 2 rw v
3 Data 1 4 5 rw v 3
4 Data 2 Table des pages 4 Code E
5 Data 2

Processus P2 6 Code A
0 Code D 0 7 ro v 7 Code D
1 Code E 1 4 ro v 8
2 10 ro v
2 Code B 3 9 rw v 9 Data 3
3 Data 3 4 i 10 Code B
Table des pages
11
12

© Copyright eni Dr Yacouba GOITA 16


SEGMENTATION

mémoire physique
P1
P1 - S 1
S0
P2 - S 1
S1
P1 - S 0

P2
S0

S1 P2 - S 0

P2 - S 2
S2

© Copyright eni Dr Yacouba GOITA 17


DISQUE
PRINCIPE DU CACHE
la mémoire rapide donne
l'impression qu'elle
remplace (cache) la
mémoire lente RAM
mémoire
cache

CPU

conserver dans la mémoire rapide


une partie de la mémoire lente

conserver l'information
immédiatement nécessaire

© Copyright eni Dr Yacouba GOITA 18


MÉMOIRE VIRTUELLE

▪ séparation entre
l'espace logique d'un
programme et la
mémoire physique
▪ l'espace logique peut
être plus grand que la
mémoire
▪ seulement une partie
du programme est en
mémoire

© Copyright eni Dr Yacouba GOITA 19


si la page est valide
 alors accéder à la mémoire
sinon
 traiter la faute de page

cas simple
 il y a une page de libre
en mémoire
sinon
 supprimer un processus
( swap-out )
ou faire un remplacement
de page

principe
 garder en mémoire l'infor-
mation immédiatement
nécessaire ( active )

© Copyright eni Dr Yacouba GOITA 20


ENTRÉES / SORTIES

donnée Mémoire
CPU 0
adresse

cartes E/S
FFFF
d'interface

Disque Ruban

© Copyright eni Dr Yacouba GOITA 21


ORGANISATION DU NOYAU

PROC A PROC A
read

Procédure
N PCB PCB
E/S
O
Y
A
U DSC DSC

PILOTE 1 PILOTE 2

© Copyright eni Dr Yacouba GOITA 22


GESTION DES FICHIERS

Table des inodes et structure d'un répertoire


Disque

Répertoire Table
Super Bloc
ALPHA inode de
ALPHA Table des
inodes

Fichiers

Un fichier peut avoir plusieurs noms/chemins d'accès.

© Copyright eni Dr Yacouba GOITA 23


Commande ls
Listing court
% ls
SEEK.o io.h test1
cours oper

Listing long
% ls -l
total 10
-rwxr-xr-x 1 jean 217 Jul 14 09:47 SEEK.o
-rw-r--r-- 1 jean 0 Aug 20 14:05 cours
-r--r--r-- 1 jean 134 Jul 16 16:16 io.h
-rwxr-xr-x 1 Jean 1406 Jun 18 16:08 oper
drwxr-xr-x 2 Jean 512 Jul 17 11:28 test1
nombre Dimension Nom du
de liens (octets) fichier
types et
propriétaire date et heure
droit d'accès

© Copyright eni Dr Yacouba GOITA 24


Protection ou droit d'accès

drwxrwxrwx
o - other - autres

g - group - groupe

u - user - utilisateur / propriétaire

type de fichier
- : fichier standard Droit d'accès
d : répertoire
l : lien symbolique r : en lecture
b : périphérique "block" w : en écriture
c : périphérique "character" x : pour exécution
s : "socket"

© Copyright eni Dr Yacouba GOITA 25


2.14
Gestion des fichiers par le noyau
Mémoire usager Mémoire système Disque

bloc de
données

Table des
Table Table des
fichiers
globale i-nodes
ouverts par
des fichiers en mémoire
processus
read( 3, ...)

Table des
i-nodes
synchro-
nisation

© Copyright eni Dr Yacouba GOITA 26


Organisation des répertoires et des périphériques
/ bin ls
cat
etc
...
dev hda1
tty1
lib
...
usr bin

include sys types.h


stdio.h ...
opt lib
unistd.h
tmp man ...
...
proc

home bacc lumon lab1


.bashrc
home1 cours jagar7
...
var prof mitur3
... ...
sbin
...
Chemin d'accès (path) absolu ou relatif.
© Copyright eni Dr Yacouba GOITA 27
PROCESSUS CONCURRENT

Interrelation  considérer toutes les séquences possibles


P1 P2
S1 S3

S2 S4

 S1  S2  S3  S4
 S1  S3  S2  S4
 S1  S3  S4  S2
 S3  S1  S2  S4
 S3  S1  S4  S2
 S3  S4  S1  S2

© Copyright eni Dr Yacouba GOITA 28


Synchronisation  réduction des séquences
Sémaphore a = 0, b = 0 ;
P1 P2
S1 wait( a)
signal( a) S3
wait( b) S4
S2 signal( b)

une seule séquence possible :


 S1  S3  S4  S2

© Copyright eni Dr Yacouba GOITA 29


SECTION CRITIQUE:
Sémaphore ex = 1 ;
P1 P2
wait( ex) ? wait( ex)
S1 S3
S2 S4
signal( ex) signal( ex)

© Copyright eni Dr Yacouba GOITA 30


7-9
Problème de la section critique
Un seul processus peut exécuter le code
de sa section à la fois.
P0 P1

instructions instructions

code d'entrée code d'entrée


Section Section
Critique données Critique
communes
code de sortie code de sortie

instructions instructions

© Copyright eni Dr Yacouba GOITA 31

Vous aimerez peut-être aussi