Les verrous
Algorithme :
1- while (verrou == 1) ; /*Attente active*/
2- verrou=1 ; /*Verrouillage*/
3- section_critique();
4- verrou=0 ; /*Déverrouillage*/
Attente active : un processus ne pouvant entrer en SC utiliserait l’UC inutilement
Deux processus se trouvent à la fois en SC :
Si le système est multi-processeur
S'il y a interruption entre 1 et 2
Protéger le verrou par l'instruction TSL
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Solutions avec attente active :
L'instruction câblée TSL
L'appel de TSL bloque l'accès en mémoire
Algorithme :
Entrer_en_SC :
TSL reg,verrou ;met la valeur du verrou dans le
;registre et la remplace par 1 en
;mémoire si elle est nulle
CMP reg,0 ;Teste si verrou est libre
JNZ Entrer_en_SC ;Boucle si verrou non libre
CALL Section_Critique
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
64
Solutions avec attente active :
L
’alternance Algorithme d’utilisation pour N processus
While (1) {
while (tour != monNumero) ; /*Attente active*/
Section_critique();
tour = (monNumero +1) % N ; /*Au suivant*/
Suite du programme }
Simple et facile
Famine si le tour est cédé à un processus non intéressé immédiatement par la SC
Interblocage si le tour est cédé à 1 processus bloqué
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Solutions avec attente active :
Solution de Peterson (1981)
Plus de famine ni d'interblocage
Un processus souhaitant utiliser la SC doit le
signaler et positionner soit même la variable tour
Un processus intéressé peut entrer en SC même si c’est pas son tour quand l’autre ne l’est pas
Utilise un drapeau (tableau) et une variable tour
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
66
Solutions avec attente active :
Solution de Peterson (1981)
Algorithme pour deux processus P0 et P1
interesse[ps]=1 ; /*Lever le drapeau*/
tour = ps ; /*Passer en dernier*/
while (tour==ps && interesse[1-ps]==1);
Section_critique();
interesse[ps]=0;
Attente active
Processus prioritaire est mis en attente si l'autre est intéressé et a le tour
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Solutions sans attente active
Un processus s'endormit et ne sera réveillé que lorsqu'il pourra entrer en SC
Appels système sleep et wakeup
Les sémaphores
Les moniteurs
La communication par message
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
68
Exemple du Producteur/Consommateur
Producteur : Vérifie si le tampon est plein
Consommateur : Vérifie si le tampon est vide
Le producteur informe le consommateur en attente d'un objet dans le tampon
Le consommateur informe le producteur en attente d'un emplacement vide
Deux processus ne doivent accéder simultanément au tampon
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Exemple du Producteur/Consommateur Algorithme du producteur
while (1) {
produire_objet(…) ;
if (compteur == N) sleep () ; /*Si tampon plein*/
while (verrou == 1) ; /*attendre l'accès au tampon*/
verrou=1 ; /*Verrouillage d'accès au tampon*/
mettre_objet(…) ;
verrou=0 ; /*Déverrouillage*/
compteur ++;
if (compteur == 1) /*Si le tampon était vide*/
wakeup(consommateur) ;
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
70
Exemple du Producteur/Consommateur Algorithme du consommateur
while (1) {
if (compteur == 0) sleep() ; /*Si tampon vide*/
while (verrou == 1) ; /*attendre l'accès au tampon*/
verrou=1 ; /*Verrouillage d'accès au tampon*/
retirer_objet(…)
verrou=0 ; /*Déverrouillage*/
compteur -- ;
if (compteur == N-1) /*Si le tampon était plein*/
wakeup (producteur) ;
consommer_objet(…) ;
}
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Chapitre 3 : Système de Gestion de Fichiers
Introduction
Concepts de fichiers et répertoires
Stockage des fichiers et répertoires
Structure logique et physique du disque
Organisation du disque
Quelques appels système
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
72
Introduction
2 types de mémoire : Centrale et Secondaire
Mémoire secondaire ?
Disque, disquettes, CD-ROM… moins coûteux et de grande capacité mais d'accès lent
Support de stockage permanent d'informations énormes dans des fichiers et répertoires
Un système de gestion de fichiers est nécessaire
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Système de Gestion de Fichiers
Objectifs
Gérer l'information (organisation sur le disque, protection, partage…)
Offrir une interface permettant d'y accéder :
Création, lecture…suppression indépendamment de la structuration physique
Fonctions
Allouer et récupérer de la MS
Mémoriser les zones libres en MS
Optimiser le temps d'accès et protéger
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
74
Concepts de fichiers
Un fichier est la plus petite unité de stockage d'informations en MS
Il est stocké en mémoire secondaire selon une représentation physique (série de blocs)
Il est accessible à l'utilisateur par son nom (représentation logique)
La correspondance entre les représentations logique et physique est assurée par le SE
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Types de fichiers
Fichiers ordinaires
contiennent les données des utilisateurs
Fichiers spéciaux (bloc ou caractère)
modélisent les disques ou les périphériques d'E/S (bloc: disque,bande…/caractère: écran,clavier…)
Répertoires
sont des regroupements de fichiers et/ou d'autres répertoires
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
76
Fichiers ordinaires
Types
Fichiers Texte : lignes de codes ASCII
Fichiers binaires à différentes structures internes (fichiers exécutables, archives…)
Opérations
Création/Suppression
Lecture/Ecriture,
Ouverture/Fermeture,
Concaténation, Copie, renommage…
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Exemple de structures internes de fichiers binaires sous Unix
Nombre magique Taille code Taille
données Taille BSS Taille table symboles Code
Données
Numéros de ligne Table des symboles
Entête
Nom du module
Date Propriétaire
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
78
Attributs de fichiers
Différents attributs
Type
Nom
Taille
Propriétaire
Dates (création, dernière modification, dernier accès…)
Protection (droits d'accès : lecture, écriture, exécution)
...
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Attributs de fichiers sous Unix
$ ls −l
−rw−r−−r−− 1 c1 cours 342 Oct 18 15:28 fichA
Nom Date de modification Taille
Groupe Propriétaire Liens
Droits d'accès des autres Droits d'accès du groupe
Droits d'accès du propriétaire
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
80
Opérations sur les fichiers sous Unix
Quelques commandes sous Unix
cat fichier1 fichier2
cp fichier1 fichier2
mv fichier1 fichier2
rm fichier
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Typages et extensions de fichiers
Typage fort (MS-DOS)
L'extension (.txt, .dat, .exe…) est nécessaire pour déterminer la nature des fichiers
Un fichier dans MS-DOS ne peut être exécuté que s'il porte l'extension .exe, .com ou .bat
Typage déduit (Unix)
L'utilisation d'extension est indifférente
La nature du fichier est déduite par le système
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
82
Concepts de répertoires
Les répertoires (catalogues) assurent une meilleure organisation des informations
Organisation
à un niveau:1 répertoire pour tous les utilisateurs
à 2 niveaux: un répertoire pour chaque utilisateur
arborescente: plusieurs répertoires par utilisateur (Unix, Dos)
Root
User3 User2
User1
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Représentation des répertoires
Liste dont chaque entrée représente un fichier ou répertoire,en général, par son nom, ses attributs et le numéro de son premier bloc
Fichier1 Attributs+N° Fichier2 Attributs+N° Fichier3 Attributs+N° Fichier4 Attributs+N°
Fichier1 Fichier2 Fichier3 Fichier4
Attributs+N° dans le répertoireAttributs+N° dans des structures
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
84
Opérations sur les répertoires
Différentes opérations
Création, destruction, Liste du contenu,
changement de répertoire, Accès aux fichiers…
Quelques commandes sous Unix
mkdir répertoire
rmdir répertoire
ls répertoire
cd répertoire
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Structure physique des fichiers
Suite d’octets (Unix, MS-DOS)
Suite d'enregistrements de taille fixe (CP/M)
Arbre d'enregistrements de taille variable
(ISAM : Indexed Sequential Access Method)
classés dans des blocs hiérarchiques selon les valeurs de leurs clés
N G
A E
B H K M P
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
86
Stockage des fichiers
Un fichier est stocké en MS sous forme de blocs d'octets
L'allocation des blocs d'un fichier en MS influe sur la performance du SGF
Deux stratégies d'allocation
L'allocation contiguë
L'allocation non contiguë
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Allocation contiguë
Allocation d'un nombre de blocs consécutifs selon la taille du fichier
Implémentation simple
Accès rapide
Gaspillage de mémoire (fragments inutilisés)
Compactage coûteux de fichiers
Déplacement du fichier en cas de son extension (Réallocation mémoire)
Fichier1
MS Fichier2
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
88
Allocation non contiguë
Allocation de blocs de fichier non forcément consécutifs
Pas de gaspillage mémoire
Extension de fichiers sans réallocation
Trois méthodes pour retrouver les blocs
Liste chaînée de blocs
Liste chaînée indexée (des numéros de blocs)
I-noeud
Blocs du Fichier 5 6 1 2 3 4
MS
a-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
Liste chaînée de blocs
Un bloc contient des données et un pointeur sur le numéro (en mémoire) du bloc suivant
Accès lent : parcourir tous les blocs précédents à un bloc pour le retrouver
Les pointeurs sont stockés sur le disque
0 3 4 6 8 910 Pointeurs
MS Premier bloc du fichier
me Fatima-Zahra BELOUADHA Ecole Mohammadia d
Ingénieurs’
90