• Aucun résultat trouvé

Solutions avec attente active :

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 cest pas son tour quand lautre ne lest 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

Documents relatifs