Bibliographie du présent chapitre 56








télécharger 1.17 Mb.
titreBibliographie du présent chapitre 56
page4/56
date de publication29.03.2017
taille1.17 Mb.
typeBibliographie
ar.21-bal.com > loi > Bibliographie
1   2   3   4   5   6   7   8   9   ...   56

1.3Modèle serveur-client


Le modèle serveur-client est le modèle théorique utilisé pour réaliser des communications entre processus distants.

Un processus client s'exécutant sur une station A fait des requêtes de services à un processus serveur s'exécutant sur une station B. Le processus serveur détient la ressource demandée et le processus client émet des requêtes sur cette ressource.

On distingue donc deux types de stations fonctionnant en réseau : le serveur et le client. Le serveur met à la disposition du client des services réseau, définis à partir de nombreux fichiers de configuration.



La relation serveur-client est asymétrique : le processus client est actif, le processus serveur est passif. Le dialogue serveur-client se déroule de la façon suivante :

    Processus serveur

Le processus serveur est endormi, en attente des requêtes de service de la part des processus clients. Il doit idenpifier le processus client pour l'authentifier. Il exécute alors le traitement de la requête par la création du processus approprié. Il assure ensuite l'émission des données.

    Processus client

  • Localise le processus serveur (adresse, numéro de port, liaison).

  • Etablit la liaison vers le processus serveur (nom du serveur).

  • Etablit la transaction (sur la couche socket).

  • Reçoit les résultats du traitement.

  • Exemple

Sous UNIX, un processus démon est verrouillé en mémoire, prêt à répondre immédiatement à d'éventuelles requêtes. Par exemple, avec UNIX BSD, le processus serveur d'impression lpd s'exécute à la suite de la requête de service lpr. Soit lp l'étiquette logique d'une imprimante. L'exécution de la commande

lpr -Plp fichier

provoque la création du fichier /usr/spool/lp/fichier, imprimé par la suite par le processus lpd dont l'algorithme de fonctionnement, basé sur le modèle du producteur et du consommateur, permet l'impression effective d'un fichier une et une seule fois.

Le modèle client-serveur se généralise à des processus s'exécutant sur des stations distantes permettant la réalisation des réseaux locaux.

Exemple :  station A (Client) station B (serveur)

ftp ftpd (démon)

rlogin rlogind (démon)

telnet telnetd (démon)

1.3.1Le problème des accès concurrents


  • Soit une base de données accessible depuis plusieurs postes de travail. Une transaction est une opération complète d'entrées/sortie sur un élément (enregistrement logique, ou champ) de cette base, par exemple la consultation ou le retrait d'argent d'un compte bancaire. Plusieurs transactions simultanées sur le même objet définissent des accès concurrents. Comme nous allons le voir, des précautions d'utilisation sont nécessaires.

  • Une ressource critique est une ressource dont le partage entre plusieurs processus entraîne une incohérence.

  • Exemples

  • Soit une imprimante unique et P,Q deux processus produisant simultanément des données à éditer. Quand P est en impression, il faut que Q soit en attente, faute de quoi les résultats de P et Q seraient mélangés. Dans ce cas, l'imprimante est une ressource critique à un seul point d'accès.

  • Soit l'application distribuée définie par la suite d'instructions suivantes :

LIRE X

ADD 1 /* additionner 1 à X */

ECR X /* écrire X sur un fichier */

On suppose que deux processus différents P1 et P2 l'exécutent simultanément. C'est le cas classique de deux transactions bancaires simultanées sur le même compte. Supposons qu'aucune hypothèse ne soit faite sur l'ordre dans lequel doivent être exécutées les instructions suivantes :

Processus P1 Processus P2

a) LIRE X d) LIRE X

b) ADD 1 e) ADD 1

c) ECR X f) ECR X

L'utilisation d'un algorithme de gestion des processus en temps partagé peut conduire à une séquence aléatoire d'instructions, par exemple :

S1 = (a,b,c,d,e,f)

ou bien la séquence

S2 = (a,b,d,c,e,f).

Le résultat de l'exécution est différent suivant la séquence exécutée :

Séquence S1 : la valeur ((X+1)+1) est écrite sur le fichier,

Séquence S2 : la valeur X+1 est écrite sur le fichier.

Dans le cas S2, une des transactions a été perdue alors que les deux transactions ont été comptabilisées dans le cas S1. L'ensemble de la transaction doit donc être protégé puisque l'exécution d'une transaction rend impossible l'exécution simultanée d'une autre transaction. Chaque transaction doit s'effectuer en exclusion mutuelle d'une autre transaction.

1.3.2Le modèle des lecteurs et des rédacteurs


Le problème des accès concurrents est modélisé de la façon suivante : plusieurs processus font simultanément des requêtes d'accès en lecture (processus lecteurs) ou en écriture (processus rédacteurs) à une ressource partageable (fichier, enregistrement logique, zone mémoire...). L'algorithme est le suivant :

LECTEURS

Début

demande de lecture

si les conditions d'accès sont satisfaites

alors

lecture

fin de lecture

sinon

mise en attente

is

Fin

REDACTEURS

Début

demande d'écriture

si les conditions d'accès sont satisfaites

alors

écriture exclusive

fin d'écriture

sinon

mise en attente

is

Fin

Les conditions d'accès concurrents sont :

    Processus lecteur

A un instant donné, n processus lecteurs ( n ³1) peuvent accéder à l'information à condition qu'aucun processus rédacteur ne la modifie (accès partagé).

    Processus rédacteur

A un instant donné, l'accès exclusif de l'information à un processus rédacteur est garanti.

La gestion des accès en écriture ou en lecture est une opération complexe dans un environnement distribué. Le modèle des lecteurs et des rédacteurs permet de modéliser les différents cas et de mettre en évidence les sections critiques en écriture.

    Exercice

1°) Ecrire les conditions d'accès concurrents avec des sémaphores binaires.

2°) On considère quatre stratégies de gestion des priorités des processus lecteurs et rédacteurs. Quels en sont les inconvénients et les avantages ?

a) Un processus rédacteur n'est jamais mis en attente sauf si un processus lecteur est actif.

b) La requête d'un processus rédacteur est satisfaite dès que les processus lecteurs actifs au moment de la requête sont terminés. Tous les nouveaux processus lecteurs sont alors mis en attente.

c) Aucune catégorie de processus n'est prioritaire. Quand un processus lecteur est actif, toute requête d'un nouveau processus lecteur est satisfaite jusqu'à l'émission d'une requête d'un processus rédacteur. A partir de ce moment, tous les processus arrivants attendent sans distinction de catégorie. Quand le processus rédacteur est terminé, il réveille le premier processus (inconnu) en attente.

d) Les processus lecteurs sont prioritaires sur les processus rédacteurs si et seulement un processus lecteur est actif. Dans le cas contraire, les processus lecteurs et rédacteurs ont la même priorité.

3°) On cherche un algorithme au cas 2a. Soient les sémaphores mutex et wrt et la variable entière readcount définis de la façon suivante :

  • readcount est le compteur associé au nombre de processus lecteurs simultanés de l'objet partagé,

  • mutex est un sémaphore d'exclusion mutuelle associé à la variable d'état readcount,

  • wrt est le sémaphore d'exclusion mutuelle associé soit à la phase d'écriture des processus rédacteurs soit à la phase de lecture des processus lecteurs.

a) Quelles sont les valeurs initiales de readcount, mutex, et wrt.

b) A partir des variables que l'on vient de définir, proposer un algorithme suivi par un processus lecteur.

Indication : wrt est utilisé par le premier et le dernier des processus lecteurs dans la phase d'écriture.

c) Même question pour un processus rédacteur.

1.3.3Méthodes de verrouillage d'accès


Une solution au problème des accès concurrents est la pose d'un verrou d'accès lors d'une transaction suivant l'algorithme :

structure verrou lock

lock = faux

/* requête de transaction */

si lock == faux alors

lock = vrai

exécution de la transaction

lock =faux

réveil du processus en attente du verrou

sinon

mise en attente de la requête

is

Il est possible de définir un verrou sur un fichier, un enregistrement logique ou un champ d'un enregistrement. C'est la granularité du verrou.

    Verrou consultatif

Un verrou est consultatif (advisory locking) s'il n'a pas d'influence sur les primitives d'entrée/sortie. Un verrou consultatif n'empêche pas un processus ayant les droits d'accès convenables d'écrire sur un fichier verrouillé par un autre processus.

    Verrou impératif

Un verrou est impératif (mandatory locking) s'il peut modifier le fonctionnement habituel d'une primitive d'entrée/sortie. Par exemple, en contrôlant la phase d'écriture en la rendant bloquante ou en l'empêchant. Ce type de verrou garantit le meilleur niveau de sécurité.

    Verrou partagé et verrou exclusif

Un verrou partagé en lecture garantit à plusieurs processus lecteurs l'accès à un fichier en empêchant la pose d'un verrou exclusif en écriture.
1   2   3   4   5   6   7   8   9   ...   56

similaire:

Bibliographie du présent chapitre 56 iconBibliographie. Chapitre II

Bibliographie du présent chapitre 56 iconBibliographie. Chapitre II

Bibliographie du présent chapitre 56 iconRésumé : Le présent chapitre s’intéresse aux liens entre la stratégie...

Bibliographie du présent chapitre 56 iconChapitre I reglement applicable a la zone 1AU
«orientations d’aménagement» (voir cette pièce du présent dossier de P. L. U.) doivent être respectées

Bibliographie du présent chapitre 56 iconBibliographie sélective Table des matières introduction generale...
«Santé publique» et est destiné aux étudiants en deuxième année de graduat en Sciences Infirmières pour toute les orientations

Bibliographie du présent chapitre 56 iconBibliographie sculptures
«adjugé», le dit objet sera immédiatement remis en adjudication au prix proposé par les enchérisseurs et tout le public présent sera...

Bibliographie du présent chapitre 56 iconBibliographie chapitre premier
En partant des montagnes Bédjin-taou, le cours de la rivière Khorgos, jusqu'à l'endroit où celle-ci se jette dans la rivière ILI...

Bibliographie du présent chapitre 56 iconBibliographie bibelots verrerie pendules flambeaux
«adjugé», le dit objet sera immédiatement remis en adjudication au prix proposé par les enchérisseurs et tout le public présent sera...

Bibliographie du présent chapitre 56 iconBibliographie Ce document, la bibliographie détaillée et les données...

Bibliographie du présent chapitre 56 iconBibliographie 62 Cône Sud et Brésil Introduction du Chapitre 4 :...
«nouveau régionalisme», caractérisé par la multiplicité des flux et des réseaux qui polarisent les activités tissant les filets de...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com