Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia

Dimension: px
Commencer à balayer dès la page:

Download "Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014"

Transcription

1 Systèmes Répartis Mr. Mehrez Boulares, Mr. Nour Ben Yahia

2 Introduction aux systèmes répartis 2 Les ordinateurs ont subi des changements incroyables depuis leur mise en opération vers 1945: plus en plus de puissance, coût de fabrication a constamment diminué permettant aux usagers de disposer d'un objet peu dispendieux compte tenu de ce qu'il nous offre en retour. Les appareils subissent des changements constants et de plus en plus rapides tant du point de vue logiciel que matériel. Depuis très peu de temps, nous retrouvons sur le marché des systèmes multiprocesseurs, des systèmes d'exploitation pour le traitement parallèle et des réseaux puissants d'interconnexion. C'est là l'importance de prendre brièvement connaissance avec le système d'exploitation de demain. Nous sommes déjà entrés quelque peu dans l'informatique répartie qui elle nous amènera vers l'informatique distribuée /2014

3 Introduction aux systèmes répartis 3 L'informatique répartie s'oppose à la fois à l'informatique centralisée, celle des gros ordinateurs, et à l'informatique individuelle, celle des micro-ordinateurs. Elle pallie certains désavantages de cette dernière par : Le partage des données grâce à un accès individuel, en lecture, par le réseau à des fichiers communs situés sur un disque quelconque ainsi que par le transfert de fichiers d'un disque à un autre. Le partage des applications. Pour l'exploitation individuelle, par le réseau, d'un seul logiciel de base de données sur le disque d'une des machines connectées. Le partage des ressources : chaque utilisateur connecté peut utiliser une même imprimante. les communications : envoi par le réseau de courrier dans une boîte aux lettres électronique à un ou plusieurs utilisateurs connectés. Accès par le réseau téléphonique à des services d'informations : annuaires, banques de données, etc /2014

4 Introduction aux systèmes répartis /2014

5 Introduction aux systèmes répartis /2014

6 Exemple de Système Réparti : Un intranet 6 Source : Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley /2014

7 Pourquoi une informatique répartie 7 Raisons budgétaires : économie de logiciels, de matériels Raisons intrinsèques : adapter le système à l application BDD réparties, Web, systèmes bancaires Besoin de partager des informations : fichiers, BDD, messages des ressources : unités de stockage, imprimantes, serveurs Des services Accélérer le calcul Parallélisation de tâches Alléger la charge : réduire les goulots d'étranglement Augmenter la fiabilité : duplication de machines, de données réalisation de systèmes à haute disponibilité Qualité de service : diminuer les coûts, les délais, augmenter la disponibilité Réaliser des systèmes ouverts, évolutifs : adjonction facile de matériels et logiciels /2014

8 Inconvénients 8 Très peu de logiciels existent sur le marché. Le réseau peut très vite saturer. La sécurisation des données sensibles est compliquée. La mise en œuvre est difficile /2014

9 Définitions (1) 9 Un système à plusieurs processeurs n est pas forcément un système réparti Qu est-ce qu un système réparti, distribué, parallèle? Classification de flynn [1972]: On différencie les systèmes sur la base du flux d instructions et de données. SISD : PC monoprocesseur SIMD : machines vectorielles MISD : pipeline MIMD : machines multiprocesseurs faiblement et fortement couplées (systèmes parallèles, systèmes distribués, systèmes d exploitation réseaux) /2014

10 - 2013/

11 Classification de Flynn 11 L'acronyme PU, de l'anglais, signifie processeur. Le terme «Instruction Pool» représente l'ensemble des instructions disponibles pour le ou les PU. Le terme «Data Pool» représente l'ensemble des données nécessaires aux calculs /2014

12 Définitions (1) 12 MIMD à mémoire partagée Les processeurs ont accès à la mémoire comme un espace d'adressage global. Tout changement dans une case mémoire est vu par les autres CPU. La communication inter-cpu est effectuée via la mémoire globale. MIMD à mémoire distribuée Chaque CPU a sa propre mémoire et son propre système d'exploitation. Ce second cas de figure nécessite un middleware pour la synchronisation et la communication. Un système MIMD hybride est l'architecture la plus utilisée par les superordinateurs. Ces systèmes hybrides possèdent l'avantage d'être très extensibles, performants et à faible coût /2014

13 Définitions (2) 13 Un système réparti est un ensemble de sites reliés par un réseau, comportant chacun une ou plusieurs machines. "Un système réparti est un système qui vous empêche de travailler quand une machine dont vous n avez jamais entendu parler tombe en panne" Lamport "Du point de vue utilisateur, un système réparti se comporte comme un système traditionnel, mais s exécute sur de multiples unités indépendantes" Tanenbaum Un système d exploitation réparti fournit et contrôle l accès aux ressources du système réparti. Un système d exploitation parallèle contrôle l exécution de programmes sur une machine parallèle (multiprocesseurs). Un système d exploitation de réseaux fournit une plateforme de machines reliées par un réseau chacune exécutant son propre système d exploitation /2014

14 Exemples de SRs 14 WWW, FTP, Mail. Guichet de banque, agence de voyage. Téléphones portables (et bornes). Télévision interactive. Agents intelligents. Robots footballeurs /2014

15 Les différentes structures 15 Les structures centralisées Tous les courriers sont stockés sur C (station centrale). 1 usager = 1 boîte aux lettres sur C. Volume de stockage important sur C. Disponibilité du service = disponibilité de C. 1 opération = 1 transfert d'informations. L'architecture centralisée consiste en un noyau central fort autour duquel tous les périphériques sont regroupés (ou centralisées). Ce noyau central prend la plupart des actions. L'avantage est une facilité d'administration /2014

16 Les différentes structures 16 Structure décentralisée-ou répartie les architectures de réseau informatique se sont de plus en plus orientées vers une distribution des ressources et de la puissance informatique. Internet est sans doute l'exemple le plus marquant d'un réseau à architecture distribuée puisqu'il ne possède aucun site central. Dans la mise en œuvre de réseaux de moins grande ampleur, le degré de distribution (ou de centralisation) de la puissance de calcul, des périphériques, des bases de données dépend de différentes considérations stratégiques, humaines et professionnelles /2014

17 Les différentes structures 17 Structure parallèles (Systèmes de haute performance) Les ordinateurs parallèles sont des machines qui comportent une architecture parallèle, constituée de plusieurs processeurs identiques, ou non, qui concourent au traitement d'une application. La performance d'une architecture parallèle est la combinaison des performances de ses ressources et de leur agencement. (Latence, débit) /2014

18 Les différentes structures 18 Structure parallèles (Systèmes de haute performance) Architectures parallèles : Pas de limite de mémoire. Pas de limite de processeurs. Accélération des calculs complexes ou coûteux en temps d'occupation CPU (calcul matriciel, simulation numérique, transformée de fourrier...). Calcul répétitif sur un large ensemble de données structuré. Traitement indépendant /2014

19 Les différentes structures 19 Structure parallèles (Systèmes de haute performance) Le parallélisme est la conséquence : Besoin des applications. Calcul scientifique. Traitement d'images. Bases de données qui demandent des ressources en CPU et en temps de calcul de plus en plus importantes. Limites des architectures séquentielles. Performance. Capacité d'accès à la mémoire. Tolérance aux pannes /2014

20 Comparaison entre différentes architectures Comparaison des deux architectures de Systèmes de haute performance et de Systèmes distribués 20 Un système parallèle de HP est une réponse à un besoin de HP : Une solution au problème. Un système distribué est une solution à un problème de distribution géographique (historiquement). Mais de nos jours, la distribution peut résoudre un problème de HP. Donc, dans certains cas, un SD peut être considéré comme un système de HP /2014

21 Comparaison entre différentes architectures Comparaison des deux architectures centralisée et distribuée L'architecture centralisée supporte un noyau central alors que l'architecture distribuée peut supporter plusieurs. 21 Le coût de l'une ou l'autre architecture varie suivant le domaine. En règle générale, si les périphériques ne sont pas utilisés à plein temps (par exemple, une imprimante), l'architecture centralisée est plus économique (car on économise en se basant sur le fait que tous les périphériques ne seront jamais tous utilisés en même temps). Dans le cas contraire (carte vidéo, réseau de PC), c'est l'architecture distribuée la plus économique (un gros ordinateur coûte plus cher que 10 petits ordinateurs 10 fois moins puissants) /2014

22 Comparaison entre différentes architectures Comparaison des deux architectures centralisée et distribuée 22 Du point de vu de l architecture : Pas parallèle/pas distribué : Machine séquentielle (un seul processeur). Parallèle/Pas Distribué : Machines vectorielles, Machines à mémoires partagées, Machines SIMD. Pas Parallèle/Distribué : Réseau d ordinateurs avec communication lente exemple : Internet. Parallèle/Distribué : Réseau haut débit /2014

23 - 2013/

24 - 2013/

25 25 Systèmes parallèles Systèmes répartis Systèmes d exploitation de réseaux Processeurs Sites Ressources Homogènes Hétérogènes Hétérogènes Partage ou non de mémoire Mémoires individuelles Mémoires individuelles Couplage fort Couplage failbe Couplage failbe Topologie du réseau d interconnexion Les users sont au courant de la multiplicité des Processeurs Réseau LAN + WAN Les users ont l impression d être dans un système centralisé Réseau LAN Les users sont au courant de la multiplicité des Machines /2014

26 Identification des problèmes 26 Que doit résoudre un système réparti? Tolérance aux pannes. Passage à l échelle. Nommage et accès aux applications. Intégration de l existant. Déploiement des applications. Sécurité et authentification. Disponibilité de l application /2014

27 Tolérance aux pannes 27 En anglais : reliability, fault tolerance. Un serveur participant à l application tombe en panne. Un serveur envoie des informations erronées. Un serveur n est plus atteignable (mais pas en panne) puis le redevient. Atomicité dans les applications réparties /2014

28 Passage à l échelle 28 En anglais : scalability. Ce qui marche pour un utilisateur, marchera-t-il pour ? Ce qui marche pour un objet, marchera-t-il pour ? Ce qui marche pour un site, marchera-t-il pour 1000? Exemple : les applications de gestion de commerce électronique /2014

29 Nommage et accès aux applications 29 Nommage et accès aux applications En anglais : naming. Comment retrouver les objets distants? Un objet = un identifiant + un état + un comportement. Applications non réparties : nommage géré par le langage (référence) ou par l OS (adressage). Applications réparties : nommage explicite, dynamique? Exemple de nommage : DNS, URL, /2014

30 Intégration de l existant 30 En anglais : legacy. Connexion sur toutes les ressources d une entreprise. Interopérabilité des applications. Transactions réparties /2014

31 Déploiement des applications 31 Comment installer tous les composants logiciels sur différents clients et serveurs? Lorsque je change un nom de serveur ou j en ajoute un, je recompile? je redéploie? ou je peux configurer automatiquement le redéploiement? /2014

32 Sécurité et authentification 32 Confidentialité. Intégrité : Droits d accès, Pare-Feu. Authentification : Identification des applications partenaires. Non-répudiation. Messages authentifiés. Combien de personnes utilisent l application, qui sont-ils? Nécessité de se protéger contre les intrusions. Nécessité de stocker les accès des clients dans des fichiers journaux /2014

33 Disponibilité d une application 33 répartie Exemple : un serveur qui fait de la tolérance aux pannes ne peut plus assurer d autres tâches. Permettre des accès simultanés sur un même objet : Sérialiser les objets. Paralléliser les accès. Appliquer différentes politiques. Multi-threading /2014

34 Notions de Middleware 34 Middleware = Intergiciel = classe de logiciels systèmes agissant en qualité d infrastructure pour le développement ou le déploiement d applications reparties: exemple CORBA Supporte des applications tournant sur des plateformes matérielles et logicielles différentes. Le middleware fournit : un support de haut niveau pour la distribution exemple invocation de méthodes à distance. Des services de désignation, sécurité, transactionnels /2014

35 35 Le Middleware conceptualise et réalise les fonctions suivantes : communications entre les applications réparties, échanges de données, facilités de mise en œuvre. Il résout les problèmes d intégration et d interopérabilité : indépendance entre les applications et le système d exploitation, portabilité des applications, partage des services distribués. Services d un Middleware : communication, localisation, transactions, sécurité, administration /2014

36 Types de Middleware 36 Middleware de bases de données (ODBC) Middleware à messages MOM Message OrientedMiddleware : IBM MQSeries, Microsoft Message Queues. Middleware à objets répartis (CORBA, JAVA RMI) Middleware à composants (EJB, COM/DCOM, Web services) Middleware à environnement : XML /2014

37 Historique et état de l art Syst. temps partagé(unix), envir. Graphiques, réseaux 1970 Ordinateurs personnels, Stations de travail Client/serveur, Réseaux locaux : Ethernet XeroxDFS 1980 Systèmes ouverts,tolérance aux fautes Premiers serveurs de fichiers Évolution du C/S : Appel de procédures àdistance DNS en 85, Amoebaen 84, Mach en 86, Chorus en Internet, E-commerce AFS, NFS, LDAP DCE, corba, com/dcom /2014

38 Le modèle Client-Serveur (1/2) 38 Coté serveur : Externalisation de services. Attente de requêtes en provenances de clients puis exécution des requêtes en séquentiel ou en parallèle. Interface : Skeleton reçoit l appel sous forme de «stream» décapsule les paramètres demande l exécution renvoi les paramètres (par références) et les résultats Coté client : Émission de requêtes puis attente de la réponse. Initiateur du dialogue. Interface : Stub Reçoit l appel en local encapsule les paramètres attends les résultats du serveur décapsule les résultats redonne la main à la fonction appelante /2014

39 Le modèle Client-Serveur (2/2) 39 Client/Serveur «traditionnel» : RPC Client/Serveur «à objets» : RMI, CORBA, DCOM Client/Serveur «de données» : Requêtes SQL Client/Serveur «WEB» : CGI, Servlet, asp, jsp, php, /2014

40 Du centralisé vers le réparti /2014

41 Gestion du temps dans les SRs Mehrez Boulares, Nour Ben Yahia ISI KEF 2013/2014

42 INTRODUCTION 2 Les systèmes répartis sont présents dans toutes les applications et sont, par nature, très complexes. Le problème principal est qu il n y a plus d état global connu de toutes les parties mais seulement des états locaux permettant de faire émerger un état global. La propriété d émergence est souvent mentionnée dans les systèmes à agents ou systèmes multi agents : l activité de chacun concourt à la réalisation d un objectif global. Très naturellement, le contrôle de ces systèmes répartis n est pas simple mais il est important de pouvoir s assurer de la réalisation d un objectif donné par un ensemble d activités élémentaires.

43 INTRODUCTION 3 Un système réparti est constitué de N composants (processus ou sites) communiquant par messages (et uniquement de cette manière). Chacun de ces composants agit comme un automate : il réalise des opérations qui modifient son état. Les opérations réalisées par un des composants sont naturellement ordonnées par l'ordre dans lequel elles sont réalisées : s il s'agit d'un processus abritant plusieurs activités (threads), sur un système monoprocesseur, c'est l'ordre de l'exécution des instructions des instructions sur ce processeur qui ordonne les événements. La définition de l'ordre des événements sur un système multiprocesseurs (fortement et a fortiori faiblement couplés) est plus problématique du fait de la difficulté de maintenir une notion de temps absolu cohérente.

44 INTRODUCTION 4 Dans un contexte de répartition: L observation des programmes en exécution présente des difficultés qui rendent le problème non trivial. Un programme réparti est constitué d un ensemble de processus s exécutant en parallèle et communiquant seulement par envoi de messages sur des canaux les interconnectant. Il n y a pas d horloge commune aux différents processus, et de plus, les temps de transfert des messages ne sont pas bornés (dans un contexte de communication fiable, ils sont toutefois finis). Dans ces conditions, il est impossible d effectuer une observation simultanée de l état des différents processus et canaux. La réalisation d une observation cohérente qui reflète un état global constitué des états locaux des différentes parties du système, pris à des instants physiques différents mais de manière à rendre une information utile sur l état du système dans son intégralité, constitue donc un problème désormais classique, connu sous le nom de détection d un état global réparti cohérent.

45 PROBLEMATIQUE 5 Obtenir une vision instantanée d'un système réparti, consistant en la collection des états des différents sites le composant (typiquement une image mémoire de chacun des sites) est difficile à obtenir sans figer chacun des systèmes. L'absence de mémoire commune et le caractère aléatoire des délais d'acheminement des messages échangés entre les sites rendent impossible le calcul d'un état global du système dans un système réparti. Typiquement, l'image qu'un site possédera de l'état des autres sites ne pourra lui être communiquée qu'au travers de messages et ne pourra de ce fait correspondre qu'à un état du passé de ces sites : la chronologie des différentes images ainsi collectées n'est pas connue a priori.

46 PROBLEMATIQUE 6 L'absence d'un état global accessible directement constitue incontestablement une caractéristique de la répartition et est source de difficultés dans le développement d'applications relatives à : l'interblocage ou verrou mortel (deadlock): situation dans laquelle un ensemble de processus est en situation de blocage du fait de l'existence d'un cycle dans le graphe d'allocations et de demandes des ressources à ces processus ; le ramasse-miettes (garbage collecting), opération consistant en le épération des ressources allouées à un objet inutilisé ; la mise au point (debugging): opération incluant par exemple la consultation et/ou la modification des valeurs de variables dans différents composants à un instant donné.

47 PROBLEMATIQUE 7 Les Systèmes répartis ont une évolution asynchrone pas de mémoire commune (communication par messages) pas d horloge commune Les horloges locales ne sont pas synchrones et dérivent L état d un site distant ne peut être connu que par des informations véhiculées par les messages. De plus, les communications introduisent des délais L'ordre des messages n'est pas forcément préservé Conséquences : Perception différente des mêmes événements depuis des sites distincts Chaque site a sa propre horloge, la notion d'état global n'existe pas On ne peut pas mettre en œuvre des algorithmes répartis basés sur le temps.

48 CONSTRUCTION D UN ÉTAT GLOBAL 8 L'exécution d'un algorithme réparti est une succession d'événements, chacun d'eux se produisant sur un site donné (Un événement : émission/ réception de message, calcul local au site) Une horloge unique permet de donner une date à chacun des événements et de les ordonner entre eux. Sur chaque site, il est possible de définir un état local et de définir un ordre entre les événements Deux processus de deux sites différents peuvent avoir des informations différentes sur l état du système et sur l ordre des événements qui s y produisent. La solution de synchronisation des sites entre eux est donnée par la construction d'un état global Utilisation d'horloges : logiques, vectorielles, matricielles Utilisation d états locaux des sites et de messages en transit entre eux

49 LE MODÈLE DE CALCUL 9 Un système réparti est constitué d un ensemble fini de processus qui ne communiquent que par envoi de messages. La structure d un tel système peut être modélisée par un graphe orienté: les sommets de ce graphe sont les processus et les arcs représentent les canaux de communication unidirectionnels (canaux virtuels) reliant des processus entre eux. A priori, aucune hypothèse particulière n est faite quant à la topologie du graphe. Les processus seront désignés par P1, P2,..., Pn et le canal allant de Pi vers Pj, s il existe, sera désigné par C i j.

50 LE MODÈLE DE CALCUL 10 Les processus ne partagent ni mémoire commune ni horloge globale, et aucune hypothèse n est faite quant à leur vitesse relative. L envoi et la réception de messages sont effectués de manière asynchrone, mais aucun délai maximum de transfert des messages n est supposé connu. La seule hypothèse générale sur les communications concerne leur fiabilité: les messages ne sont ni perdus (le délai de transfert est fini: tout message émis est reçu) ni altérés ni dupliqués (tout message reçu a été émis). De telles hypothèses caractérisent ce qu il est convenu d appeler un système réparti asynchrone fiable

51 ETAT GLOBAL 11 Chaque processus et chaque canal possède à tout moment un état local. L état local «el i» d un processus «P i» résulte de son état initial et de la séquence d événements dont ce processus a été le siège. L état EC ij d un canal C ij est l ensemble des messages en transit sur ce canal, c est à dire qui ont été émis par le processus P i et n ont pas encore été reçus par le processus P j. L évolution du système est régie par un ensemble d événements. Chaque événement met en jeu un processus et éventuellement un canal. Il y a trois sortes d événements: les événements internes à un processus, qui ne modifient que l état local du processus, les émissions de messages, qui modifient l état local du processus émetteur et l état du canal sortant sur lequel est émis le message et les réceptions de messages, qui modifient l état local du processus récepteur et l état du canal entrant par lequel le message a été reçu.

52 ETAT GLOBAL 12 Schématiquement on a, à ce niveau de description (m désigne un message): événement interne sur P i : provoque la transition de el i à el' i, états avant et après l événement émission de m par P i sur C i j (cet événement est noté émission i (m)): provoque la transition de el i à el' i et l affectation EC i j := EC i j U {m} réception de m par P i sur C j i (cet événement est noté réceptioni(m)): provoque la transition de el i à el' i et l affectation EC j i := EC j i \ {m}.

53 ETAT GLOBAL 13 Chacun de ces événements est supposé atomique. On dit qu un événement e est capté dans l état local el i d un processus P i si e appartient à la séquence d événements ayant conduit P i dans l état el i. Il est important de remarquer que l état local d un processus n est immédiatement observable que par un observateur local à ce processus (c est à dire ayant accès en lecture à la mémoire locale de ce processus), tandis que l état local d un canal C i j n est immédiatement observable ni par son origine P i ni par son extrémité P j (P i - resp. P j - n a pas connaissance immédiate des événements de réception -resp. d émission-); c est notamment ce fait qui rend difficile le problème de l observation cohérente dans un système réparti. L état global S d un système réparti est constitué de l ensemble des états locaux des processus et des canaux qui le constituent

54 ETAT GLOBAL 14 Un état global cohérent correspond à un état global dans lequel le système peut se trouver. Formellement, cela signifie: i) i : eli est un état local du processus Pi. ii) Les conditions C1 et C2 qui suivant sont vérifiées: C1: si l événement émissioni(m) est capté dans eli, alors l événement réceptionj(m) est soit capté dans elj, soit le message m appartient à ecij. C2: si l événement émissioni(m) n est pas capté dans eli, l événement réceptionj(m) n est pas non plus capté dans elj.

55 ETAT GLOBAL 15 Considérons l exécution représentée par la figure 2, où trois processus Pi, Pj et Pk captent respectivement leurs états locaux eli, elj et elk (le graphe de communication est celui de la figure 1).

56 ETAT GLOBAL 16 L ensemble { eli, elj, elk} ne forme pas un état global. Si l on considère la paire (Pk, Pj), l émission du message m3 est enregistrée dans l état local elk du processus Pk alors que sa réception ne l est pas dans l état local elj du processus Pj. La condition C1 est mise en défaut, puisque l état du canal EC kj n est pas considéré (un éventuel redémarrage de Pj et de Pk, suite à une reprise après défaillance, à partir de cet état global entraînerait la perte du message m3). D autre part, même en considérant l état des canaux dans l état global, la cohérence n est pas assurée car la réception du message m4 est enregistrée dans elj sans que son émission le soit dans ELk, ce qui met en défaut la condition C2 (les deux états locaux elj et elk et l état du canal ECjk ne sont pas mutuellement cohérents).

57 NOTION DE PRÉCÉDENCE CAUSALE 17 Pour définir un état global il faut tout d abord pouvoir ordonner les événements entre eux, afin que : Si un des événements contient l émission d un message et que l autre contient la réception du même message, alors le premier a eu lieu avant le second. Si un site émet une demande d allocation d une ressource, il est considéré avant un autre site qui aurait émis sa requête après le premier. Cette relation d ordre partiel sur les événements est appelée relation de causalité. On définit la précédence comme suit : Un événement e précède un événement f si et seulement si : Ou bien e et f se déroulent sur le même site dans cet ordre Ou bien e contient l émission d un message m et f contient la réception du même message m.

58 NOTION DE PRÉCÉDENCE CAUSALE 18 Un événement E1 sur un site 1 précède un autre événement E2 sur un site 2 si E1 a été généré avant E2 : Il y a une précédence causale entre E1 et E2. Il existe une chaine d événement qui démarre à E1 et finit par E2 et qui consiste par un enchainement émission, exécution et réception. La précédence causale est concrétisée par le mécanisme d horloge logique, une notion logique permettant de comparer logiquement les événements de point de vu leur ordre d exécution quelque soit le site. Afin de dater les événements des horloges logiques de différents types peuvent être utilisées : Scalaire, Vectorielle, Matricielle.

59 NOTION DE PRÉCÉDENCE CAUSALE 19

60 NOTION DE PRÉCÉDENCE 20 CAUSALE Cette relation définit un ordre partiel des événements. Des événements e et e' non comparables sont dits concurrents, ce qu'on note e e'. A un événement e on peut alors associer trois ensembles d'événements : Passé(e) : ensemble des événements antérieurs à e dans l'ordre causal (e appartient à cet ensemble) ; Futur(e): ensemble des événements postérieurs à e dans l'ordre causal (e appartient à cet ensemble) ; Concurrent(e) : ensemble des événements concurrents avec e.

61 NOTION DE PRÉCÉDENCE CAUSALE 21 La précédence causale est concrétisée par le mécanisme des horloges logiques, une notion de temps logique permettant de comparer logiquement des événements du point de vue de leur ordre d'exécution quel que soit le site. Afin de dater les événements, des horloges logiques de différents types peuvent être définies afin de rendre compte de la relation de causalité entre les événements. Les valeurs des horloges associées à des événements (leurs estampilles logiques) comparables doivent être elles-mêmes comparables et refléter l'ordre des événements

62 HORLOGE LOGIQUE 22 Lamport a proposé de définir pour ce type de systèmes une notion de temps logique permettant de comparer logiquement des événements du point de vue de leur ordre d'exécution : d'une part, sur un site, les événements locaux peuvent être ordonnés en se basant sur l'ordre de leur exécution (ou le temps absolu s'il est défini) et d'autre part l'émission d'un message sur le site émetteur précède toujours sa réception sur le site récepteur. Cela correspond à la notion de précédence causale.

63 HORLOGE LOGIQUE 23 Selon Leslie Lamport l'horloge logique permet de comparer logiquement des événements (requêtes, messages ) du point de vue de leur ordre d'exécution (Horloges scalaires) Chaque site gère une horloge de type compteur dont la valeur est un entier (initialisé à 0 au lancement du système). La valeur de l'horloge logique d'un site est incrémentée chaque fois qu'un événement local s'y produit : opération locale, ou envoi/réception d'un message. Dans le cas d'un envoi, la valeur courante (après incrémentation) de l'horloge de l'émetteur est embarquée avec le message et sert à l'estampiller (La réception d'un message permet de synchroniser l'horloge du récepteur avec celle de l'émetteur du message qui est transportée par le message. Le principe est simple : il consiste à attribuer à l'horloge du récepteur une valeur supérieure à la fois à la valeur courante de l'horloge du site et à celle de l'estampille du message reçu.) La réception d'un message permet de synchroniser l'horloge du récepteur avec celle de l'émetteur du message qui est transportée par le message.

64 HORLOGE LOGIQUE SCALAIRE 24 Principe : attribuer à l'horloge du récepteur une valeur supérieure à la fois à a valeur courante de l'horloge du site et à celle de l'estampille du message reçu. Conséquence : Garantit que la réception sera postérieure à l'émission.

65 HORLOGE LOGIQUE SCALAIRE 25

66 HORLOGE LOGIQUE SCALAIRE 26

67 HORLOGE LOGIQUE SCALAIRE 27 Cette technique permet donc d'associer à chaque événement une date (estampille logique) correspondant à la valeur de l'horloge de son site modifiée selon les règles que nous venons de définir. On peut observer que : l'ordre des événements qui est ainsi défini n'est pas un ordre strict : plusieurs événements peuvent porter la même valeur. C'est le cas (parmi d'autres) sur notre exemple des événements e, o et x appartenant respectivement à P, Q et R qui ont chacun 6 comme date. Il est facile de rendre cet ordre strict en modifiant légèrement le système de datation : la date d'un événement sur un site est obtenue en adjoignant à la valeur de l'horloge scalaire de ce site l'identification du site (par exemple un entier attribué artificiellement ou une adresse IP ou physique).

68 HORLOGE LOGIQUE SCALAIRE 28 La règle de comparaison des dates est alors :

69 HORLOGE LOGIQUE SCALAIRE 29 De nombreux algorithmes répartis : Algorithmes utilisant une file d attente virtuelle répartie (Exclusion mutuelle répartie, mise à jour de copies multiples, diffusion cohérente (ordre de réception uniforme)) Détermination de l accès le plus récent (gestion cohérente de caches multiples, mémoire virtuelle répartie) Synchronisation des horloges physiques (borne supérieure sur la dérive entre sites) Algorithmes de détection de terminaison, d'élection, de diffusion de messages,

70 HORLOGE LOGIQUE VECTORIELLE 30 Nous venons de voir que le système de datation par estampilles scalaires d'une part introduisait un ordre artificiel sur des événements concurrents et d'autre part ne permettait pas de corriger les défaillances vis-à-vis de la relation FIFO des canaux de communication. Le mécanisme de datation par estampilles vectorielles (et les horloges vectorielles maintenues par les différents composants d'un système) permet de pallier ces deux inconvénients. Chaque site gère une horloge vectorielle constituée de n entiers (n est le nombre de composants du système). Une telle horloge permet de dater les événements d'un site et est mise à jour lors de l'occurrence des événements. Comme pour les horloges scalaires, les messages envoyés par un site sont estampillés en utilisant la valeur courante de l'horloge vectorielle du site émetteur et la réception d'un message pemet au site récepteur de synchroniser son horloge vectorielle avec celle du site émetteur du message. De manière plus précise, les règles suivantes sont appliquées pour la gestion des horloges vectorielles:

71 HORLOGE LOGIQUE VECTORIELLE 31

72 HORLOGE LOGIQUE VECTORIELLE 32

73 HORLOGE LOGIQUE VECTORIELLE 33 La propriété fondamentale que possèdent les estampilles vectorielles déduites des horloges vectorielles et de leur actualisation par les règles énoncées est que Par exemple l'estampille vectorielle de l'événement p est [4, 7, 5]. Cela correspond au fait que Passé(p) contient 4 événements sur P (a, b, c, d); 7 événements sur Q (j, k, l, m, n, o, p); 5 événements sur R (u, v, w, x, z).

74 HORLOGE LOGIQUE VECTORIELLE 34 La relation d'ordre suivante peut par ailleurs être définie sur les estampilles vectorielles : Par exemple [4,7,5] est plus petite que [6,7,8], plus grande que [4,6,4] et incomparable avec [6,5,7]

75 HORLOGE LOGIQUE VECTORIELLE 35 Muni de cette relation d'ordre, le système de datation par estampilles vectorielles a la remarquable propriété de refléter exactement la relation de précédence causale entre événements :

76 HORLOGE LOGIQUE VECTORIELLE 36 On peut vérifier sur notre exemple que : les estampilles vectorielles des événements précédant causalement p sont inférieures (au sens qui a été défini) à l'estampille vectorielle de p ([4,7,5]). Par exemple l'estampille vectorielle de l'événement d antérieur à p est ([4,1,0]) qui est inférieure à ([4,7,5]); les estampilles vectorielles des événements suivant causalement p sont supérieures à l'estampille vectorielle de p. Par exemple l'estampille vectorielle de l'événement C postérieur à p est ([8,9,9]) qui est supérieure à ([4,7,5]); les estampilles vectorielles des événements concurrents de p sont incomparables avec l'estampille vectorielle de p; Par exemple l'estampille vectorielle de l'événement e concurrent avec l'événement p est ([5,3,3]) qui est incomparable avec ([4,7,5]).

77 Correction TD 37

78 Correction TD 38 Considérons l'événement p. Il appartient à son propre passé et est précédé directement par o et y. - On a Passé(p) = {p} + Passé(o) + Passé(y) Le calcul de Passé(p) suppose donc le calcul de celui de o et y. - On a Passé(o) = {o} + Passé(n) + Passé(d) En pousuivant le calcul: - Passé(n) = {n} + Passé(m) - Passé(m) = {m} + Passé(l) + Passé(a) - Passé(l) = {l} + Passé(k) - Passé(k) = {k} + Passé(j) + Passé(u) - Passé(j) = {j} - Passé(u) = {u} - Passé(a) = {a} - Passé(d) = {d} + Passé(c) - Passé(c) = {c} + Passé(b) - Passé(b) = {b} + Passé(a) + Passé(j) - Passé(y) = {y} + Passé(x) - Passé(x) = {x} + Passé(w) + Passé(n) - Passé(w) = {w} + Passé(v) - Passé(v) = {v} + Passé(u) + Passé(l) Par conséquent Passé(p) = {a, b, c, d, j, k, l, m, n, o, p, u, v, w, x, y}

79 Correction TD 39 Par un calcul analogue, on obtient: Futur(p) = {g, h, i, p, q, r, s, t, C, D} Finalement les événements n'appartenant ni à Passé(p), ni à Futur(p) sont concurrents avec p. On a donc Concurrent(p) = {e, f, z, A, B}

80 Correction TD 40

81 Correction TD 41

82 Correction TD 42

83 Accès concurrent dans les SR Mehrez Boulares, Nour Ben Yahia

84 Les accès concurrents : rappels 2 Un problème d'accès concurrent a lieu quand deux processus partagent une ressource logicielle ou matérielle: on parle de section critique au niveau du programme. Exemples: section de ligne ferroviaire à voie unique. Trains dans un sens ou dans l'autre, mais pas dans les deux sens en même temps. Lecteurs/rédacteurs, producteurs/consommateurs On rentre en section critique, par une section d'entrée qui met en œuvre une condition et on la quitte par une section de sortie. Section d'entrée Section critique : inst1, inst2, inst3 Section de sortie

85 Les accès concurrents : rappels 3 Rappelons tout d'abord en quoi consiste ce problème. Des applications s'exécutant de manière concurrente et partageant des ressources peuvent, dans certaines circonstances, avoir besoin d'accéder de manière exclusive à une ou plusieurs de ces ressources appelées ressources critiques. Le code exécuté nécessitant cet accès exclusif est lui-même appelé une section critique. On fait couramment le parallèle avec une voie de chemin de fer ou un pont étroit supportant une charge limitée susceptibles d'être empruntés par des véhicules dans les deux sens. Le bon fonctionnement (et la survie des usagers) suppose que seul un véhicule ne puisse utiliser, à un instant donné, la section de rail ou de route correspondante. D'un point de vue informatique, ce problème est fréquent. Citons-en quelques exemples : suite d'opérations dans un fichier ou une base de données ; accès à une ressource telle qu'une imprimante ; accès à une zone de mémoire centrale ; (segment de mémoire partagée) par plusieurs processus

86 Les états d'un processus 4 Un processus est dans 3 états possibles, par rapport à l'accès à la ressource Demandeur : demande à utiliser la ressource, à entrer dans la section Dedans : dans la section critique, utilise la ressource partagée Dehors : en dehors de la section et non demandeur d'y entrer Changement d'état par un processus De dehors à demandeur pour demander à accéder à la ressource De dedans à dehors pour préciser qu'il libère la ressource Le passage de l'état demandeur à l'état dedans est géré par le système et/ou l'algorithme de gestion d'accès à la ressource

87 Propriétés d'un algorithme d'exclusion mutuelle 5 Une solution n'est considérée correcte que si elle respecte les propriétés suivantes Sûreté (safety) : au plus un processus est à la fois dans la section critique (dans l'état dedans) Vivacité (liveness) : tout processus demandant à entrer dans la section critique (à passer dans l'état dedans) y entre en un temps fini Un algorithme qui assure ces deux propriétés assure également l'absence de deux problèmes, l'interblocage et la famine: Interblocage (Deadlock) : est une situation du système où il y a plusieurs sites à l'état Demandeur et aucun ne peut accéder à la SC. Famine (Starvation) : aura lieu si un site qui se trouve à l'état Demandeur ne passe jamais à l'état Dedans.

88 Solutions 6 On parle d'exclusion mutuelle quand un seul processus à la fois a le droit de rentrer en section critique. Solutions logicielles : Sémaphores, Moniteurs. Solutions matérielles : Désactiver les interruptions.

89 Solutions matérielles 7 La solution la plus simple, mais qui ne peut s'appliquer que dans le cas de machines monoprocesseurs, consiste à masquer les interruptions susceptibles de provoquer une concurrence relativement à une ressource critique. Dans le mode superviseur des processeurs, il est possible de manipuler le masque d'interruption du processeur, ce qui est largement utilisé lors du développement des systèmes d'exploitation.

90 Solutions logicielles 8 Nous nous intéressons ici à la possibilité de résoudre le problème de l'exclusion mutuelle sans faire appel à des instructions spécifiques et donc en se basant sur les seules opérations d'affectation et de test. Ainsi qu'on va le voir au travers de solutions erronées, cela n'est pas immédiat et nécessite certaines précautions. La première idée qui vient à l'esprit consiste à utiliser une variable booléenne ayant la valeur VRAI lorsqu'un processus est en section critique.

91 Les accès concurrents : les sémaphores 9 Sémaphores binaires qui peuvent prendre la valeur 0 ou 1 et les sémaphores n-aires. Le système gère l'entrée à la section en endormant les processus qui arrivent alors que le sémaphore est attribué, Les primitives P et V sont indivisibles P(S) permet de prendre le sémaphore : Si S > 0 Finsi. Alors s = s -1 Sinon s'endormir V(S) permet de libérer le sémaphore et un processus bloqué s'il y en a Si un processus est bloqué sur S Finsi. Alors le libérer Sinon s =s+1

92 Les accès concurrents dans un environnement réparti Un processus bloqué appartient à la file des processus en attente, une fois libéré il passe dans celle des prêts Le système gère des contextes de processus. Peut-on gérer des contextes à distance? NON 10 Plusieurs grandes familles de méthodes Contrôle par un serveur qui centralise les demandes d'accès à la ressource partagée Contrôle par jeton Un jeton circule entre les processus et donne l'accès à la ressource La gestion et l'affectation du jeton et donc l'accès à la ressource est faite par les processus entre eux Deux approches : jeton circulant en permanence ou affecté à la demande des processus Contrôle par permission Les processus s'autorisent mutuellement à accéder à la ressource

93 Définitions 11 Une commutation de contexte (context switch) en informatique consiste à sauvegarder l'état d'un processus ou d'un processus léger et à restaurer l'état d'un autre processus (léger) de façon à ce que des processus multiples puissent partager les ressources d'un seul processeur dans le cadre d'un système d'exploitation multitâche. Le contexte d'un processus est l'ensemble des informations dynamiques qui représente l'état d'exécution d'un processus (e.g. où est-ce que le processus en est de son exécution).

94 Exemple 12 La commutation de contexte invoque au moins trois étapes. Par exemple, en présumant que l'on veut commuter l'utilisation du processeur par le processus P 1 vers le processus P 2 : Sauvegarder le contexte du processus P 1 quelque part en mémoire (usuellement sur la pile de P 1 ). Retrouver le contexte de P 2 en mémoire (usuellement sur la pile de P 2 ). Restaurer le contexte de P 2 dans le processeur, la dernière étape de la restauration consistant à reprendre l'exécution de P 2 à son point de dernière exécution.

95 Solution du coordinateur 13 Principe général Un serveur centralise et gère l'accès à la ressource Algorithme Un processus voulant accéder à la ressource (quand il passe dans l'état demandeur) envoie une requête au serveur Quand le serveur lui envoie l'autorisation, il accède à la ressource (passe dans l'état dedans) Il informe le serveur quand il relâche la ressource (passe dans l'état dehors) Le serveur reçoit les demandes d'accès et envoie les autorisations d'accès aux processus demandeurs Avec par exemple une gestion FIFO : premier processus demandeur, premier autorisé à accéder à la ressource

96 Solution du coordinateur 14 Un coordinateur gère l'accès à la ressource Tout processus remplace P(S) par une requête bloquante au coordinateur Puis-je? V(S) est remplacé par une primitive qui envoie un message de terminaison au coordinateur Avantages Très simple à mettre en œuvre Simple pour gérer la concurrence d'accès à la ressource Inconvénients : Sollicitation excessive du coordinateur Panne du coordinateur, il faut élire un nouveau coordinateur Tous doivent se mettre d'accord pour n'en élire qu'un seul, mais il faut en élire un au bout d'un temps fini

97 Solution du coordinateur 15 Suppression du serveur centralisateur Via par exemple une méthode à jeton : le processus qui a le jeton peut accéder à la ressource La gestion et l'affectation du jeton est faite par les processus entre eux Pas de besoin de serveur centralisateur

98 Algorithme à base de jeton 16 Anneau logique (indépendant de la structure du réseau physique) : chaque site a un successeur Jeton circulant : un site non demandeur transmet le jeton à son successeur un site demandeur attend le jeton pour obtenir l'exclusion mutuelle un site qui sort d'exclusion mutuelle transmet le jeton à successeur Un jeton unique circule entre tous les processus Le processus qui a le jeton est le seul qui peut accéder à la section critique Respect des propriétés Sûreté : unicité du jeton Vivacité : l'algorithme doit assurer que le jeton circule bien entre tous les processus voulant accéder à la ressource

99 Algorithmes 17 Algorithme de [Le Lann, 77] Algorithme de [ Ricart & Agrawala, 83 ]

100 Les accès concurrents : solutions réparties (en théorie) 18 Chaque processus connaît les N autres processus conflictuels. Chaque processus désirant rentrer en section critique : Envoie un message aux N processus : puis_je? Attend N réponses Réception N réponses: début de la section critique Réception N-1 réponses : un processus est probablement en section critique La réponse du processus s'est perdue Aucun respect de l'ordre des demandes Risque de famine SOLUTION : estampiller les messages Algorithmes à base de permission (Un processus candidat doit demander a d'autres processus la permission d'entrer en exclusion )

101 Méthodes par permission 19 Un processus doit avoir l'autorisation des autres processus pour accéder à la ressource Principe général Un processus demande l'autorisation à un sous-ensemble donné de tous les processus Deux modes Permission individuelle : un processus peut donner sa permission à plusieurs autres à la fois Permission par arbitre : un processus ne donne sa permission qu'à un seul processus à la fois

102 Les accès concurrents: l'algorithme de Lamport 20 Proposé en 1978, vise à satisfaire les demandes des différents sites dans où elles sont formulées Cet algorithme suppose que les canaux de communication entre les différents sites respectent la propriété FIFO. Chacun des composants du système utilise une horloge scalaire qu'il synchronise lors de la réception de messages en provenance des autres composants du système. Trois types de messages (estampillés lors de leur envoi) sont utilisés et chacun des messages sera systématiquement envoyé à tous les autres participants : REQUETE : un tel message est envoyé lorsqu'un site veut entrer en section critique; REPONSE : un tel message est envoyé par un site qui reçoit un message du type précédent ; LIBERATION : un tel message est envoyé par un site lorsqu'il sort de section critique.

103 Les accès concurrents: l'algorithme de Lamport Chaque site gère une file d'attente dans laquelle il place, dans l'ordre induit par la valeur de leurs estampilles, toutes les requêtes pour entrer en section critique (y compris les siennes) et leurs estampilles. En fait, la file des requêtes sera répliquée sur chaque site, si bien que chaque site peut décider de la possibilité d'entrer en section critique sur la base des informations qu'il possède. 21

104 l'algorithme de Lamport 22

105 l'algorithme de Lamport 23 Elle repose sur les observations suivantes : la propriété FIFO de chacun des canaux de communication et la synchronisation des horloges, implique que si un site a reçu un message d'accord (de type REPONSE) en provenance du site j toute requête antérieure de ce même site lui est nécessairement arrivée; toute demande lui arrivant en provenance de ce site sera postérieure à la sienne, s'il en a formulé une. Si un site a reçu l'accord de tous les sites et que sa demande est la plus ancienne, aucune demande antérieure ne lui parviendra d'un autre site; l'existence d'un ordre total sur les demandes implique que seul un site pourra rentrer en section critique, les autres devant nécessairement attendre que la demande en tête de file soit retirée de la file (donc que le site élu sorte de section critique et envoie un message de type LIBERATION).

106 l'algorithme de Lamport 24 Nombre de messages échangés Le traitement complet (entrée et sortie) d'une phase de section critique requiert, pour un système de N composants, 3*(N-1) messages (N-1 messages de chacun des types).

107 Exemple 25 Dans cet exemple impliquant trois sites, les sites S 1 et S 2 veulent entrer en section critique alors que leurs horloges scalaires ont respectivement 3 et 2 comme valeur. Les messages envoyés par S 1 à S 2 et S 3 sont donc estampillés 3.1. Les messages envoyés par S 2 à S 1 et S 3 sont quant à eux estampillés 2.2. Dans la figure ci-dessous : les envois de messages de type REQUETE correspondent aux flèches bleues; les envois de messages de type REPONSE correspondent aux flèches vertes; les envois de messages de type LIBERATION correspondent aux flèches rouges.

108 l'algorithme de Lamport 26

109 l'algorithme de Lamport 27

110 l'algorithme de Lamport 28

111 l'algorithme de Lamport 29

112 l'algorithme de Lamport 30

113 l'algorithme de Lamport 31

114 l'algorithme de Lamport 32

115 l'algorithme de Lamport 33

116 l'algorithme de Lamport 34

117 l'algorithme de Lamport 35

118 l'algorithme de Lamport 36

119 Algorithmes 37 Algorithme de [Ricart & Agrawala, 81] [Carvalho & Roucairol, 83] [Chandy & Misra, 84]

120 Inter blocage dans les SRs Mehrez Boulares, Nour Ben Yahia

121 Inter blocage: introduction 2 Solution accès concurrents ne veut pas dire absence d inter blocage. Inter blocage : situation pour un ensemble de processus(ou transactions) où chacun d entre eux est dans l attente de la réalisation d un événement de la part d un autre. Mauvaise programmation risque d inter blocage : Sections critiques emboitées on doit interdire des appels récursifs d une section critique (appels récursifs à l intérieure d une SC). Besoin de plusieurs ressources : inter-blocages

122 Inter blocage: introduction 3 Un ensemble de processus sont en interblocage si chaque processus dans cet ensemble est bloqué en attente d un événement qui seulement un autre processus de cet même ensemble peut déclencher. L événement attendu peut être la libération d une ressource ou l envoie d un message. En cas d interblocage aucun processus ne peut Ni continuer son exécution Ni libérer une ressource Ni être réveillé

123 Inter blocage : introduction 4 L inter-blocage demande la présence simultanée de 4 conditions (conditions nécessaires) 1. Exclusion mutuelle: A un instant précis, une ressource est allouée à un seul processus. 2. Saisie et attente (hold and wait): un processus détient une ressource non partageable et en attend des autres pour compléter sa tâche. 3. Pas de préemption : un processus qui détient une ressource non partageable la garde jusqu à ce qu il aura complété sa tâche. 4. Attente circulaire: il y a un cycle de processus tel que chaque processus pour compléter doit utiliser une ressource non partageable qui est utilisée par le suivant, et que le suivant gardera jusqu`à sa terminaison.

124 Inter blocage : introduction 5 Exemple : Exclusion mutuelle: Seulement une voiture occupe un endroit particulier de la route à un instant donné. Saisie et attente : Aucune voiture ne peut faire marche arrière. Pas de préemption: On ne permet pas à une voiture de pousser une autre voiture en dehors de la route. Attente circulaire: Chaque coin de la rue contient des voitures dont le mouvement dépend des voitures qui bloquent la prochaine intersection.

125 Modélisation des inters blocages 6 Processus Ressource possédant 4 exemplaires (instances) Pi demande un exemplaire de Ri, bloqué en attente de la ressource Pj détient un exemplaire de Rj ou Rj est affecté à Pj

126 Modélisation des inters blocages 7

127 Modélisation des inters blocages 8

128 Explication des graphes 9 - Dans G2 de fait que P1 n utilise plus qu une seule ressource la condition 3 n est pas vérifiée, ainsi que dès que P1 libère la ressource, P3 peut y accéder en mettant fin ainsi à un éventuel inter blocage. * Existence de 2 cycles :

129 Explication des graphes 10 Tous les cycles ne sont pas bloquants : Tout graphe d allocation de ressource avec une seule occurrence des ressources peut être converti en graphe d attente WFG (Wait For Graph).

130 Explication des graphes 11 Simplification possible lorsqu un processus demande une ressource spécifique identifiée : Sommet processus ; Arc étiqueté par la ressource demandée.

131 Inter blocage : Solutions 12 Ignorer le problème (L algorithme de l autruche) D évitement : le système alloue une ressource si elle n entraînera pas d interblocage (disposer à l avance d informations sur l utilisation des ressources par un processus, et décider dynamiquement de l allocation) Préventives : le système empêche les inters blocages d avoir lieu (s assurer que l une des conditions nécessaires n est jamais remplie) Détection et guérison : le système ne fait aucun effort à priori. Une fois qu un inter blocage est détecté, il le corrige (requiert un algorithme de détection et un algorithme de correction. Surcharge de travail pour le système.) Les algorithmes différents selon le nombre d instances des ressources.

132 Inter blocage : Solutions 13 - Problématique différente : Détection difficile. Respect de l ordre d accès aux ressources, difficile.

133 Solution basée sur la prévention 14 A- Allocation par classe de ressource : Consiste à classer les ressources et à les demander dans un certain ordre. Soit un processus qui détient Ri, et qui demande Rj il ne sera autorisé à demander Rj que si classe(ri) < classe(rj) autrement il libère Ri. Inconvénient : ne s applique pas aux ressources logiciels et nécessite la K de l ordre d accès au ressources. B- Allocation par estampilles : Chaque processus acquiert au démarrage une estampille. Il s agit de respecter une allocation basée sur un ordre croissant des estampilles. 2 versions: Wait/Die, Wound/Wait RosenKrantz(1978).

134 Solution basée sur la prévention 15 - Les algorithmes Attente/Mort (Wait/Die) et Blessé/Attente (Wound/Wait) sont deux autres méthodes d'évitement qui utilisent une technique de rupture de la symétrie. Dans ces deux algorithmes on prend en compte l'âge des processus et l'on distingue un processus âgé (A) et un processus jeune (J). - L'âge d'un processus peut être déterminé par horodatage (timestamp) lors de sa création. Les dates les plus petites appartiennent à des processus plus âgés, les plus grandes à des processus plus jeunes.

135 Solution basée sur la prévention 16 Il est important de se rendre compte qu'un processus peut être dans un état non-sûr sans pour autant forcément conduire à un inter blocage. La notion de sûr/non-sûr fait uniquement référence à la possibilité que le système entre dans un inter blocage ou non. Par exemple, si un processus fait une requête sur une ressource A qui résulte en un état non-sûr, mais relâche une ressource B pour éviter une attente circulaire, alors l'état est non-sûr mais le système n'est pas en inter blocage.

136 Wait / Die 17 Un processus n est autorisé à attendre que s il est plus vieux (estampille plus petite). Pi détient la ressource, Pj demande la ressource. Si E(Pi) > E(Pj) {demande Pj est plus ancienne}. Pj est autorisé à attendre. Sinon {demande Pi est plus ancienne}. Pj est tué. - Les vieux attendent, les jeunes meurent. Risque de famine pour les jeunes.

Processus de décision répartis

Processus de décision répartis Processus de décision répartis Florent Matignon Renato Matuzaki Honda Miguel Robles 30 mars 2010 Table des matières I Introduction 2 Système réparti 2 II L'état global 2 1 Introduction 2 1.1 La problématique.........................................

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN PASSAGE DE TÉMOIN coopération par division du travail entre les processus 4) Rendez-vous à 2, symétrique, avec ou non une écriture ou un envoi de message (avec acquittement) Rendez-vous multiple : m processus

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Systèmes concurrents

Systèmes concurrents Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 25 Deuxième partie L'exclusion mutuelle Systèmes concurrents 2 / 25 Isolation L'exclusion mutuelle Plan 1 Interférences

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

processus fonction main() l'image binaire contexte d'exécution un contexte mémoire. en même temps

processus fonction main() l'image binaire contexte d'exécution un contexte mémoire. en même temps 1 2 Dans une première approche, on peut dire qu'un processus représente une "application" qui tourne en mémoire. Il sera donc chargé en mémoire par le noyau et commencera son exécution; du point de vue

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie.

Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie. INTRODUCTION Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie. Le programme d examens de chaque spécialité

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30 Plan du Travail Chapitre 1: Internet et le Web : Définitions et historique Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

Modélisation des réseaux : Le modèle OSI et ses dérivés

Modélisation des réseaux : Le modèle OSI et ses dérivés Chapitre 1 1 Modélisation des réseaux : Le modèle OSI et ses dérivés Le modèle OSI de l ISO 2 Le modèle d'interconnexion des Systèmes Ouverts (Open Systems Interconnection) a été proposé par l'iso (International

Plus en détail

1 LE L S S ERV R EURS Si 5

1 LE L S S ERV R EURS Si 5 1 LES SERVEURS Si 5 Introduction 2 Un serveur réseau est un ordinateur spécifique partageant ses ressources avec d'autres ordinateurs appelés clients. Il fournit un service en réponse à une demande d un

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC NOTE DE SYNTHESE La solution Dell PowerVault DL2000 optimisée par Symantec Backup Exec est la seule à proposer un système intégré de sauvegarde

Plus en détail

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle Plan Deuxième partie 1 2 Primitives de gestion des activités 2 / 26 4 / 26 Interférences et isolation Contenu de cette partie di cultés résultant d accès concurrents à un objet partagé mise en œuvre de

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

Installation d'un serveur DHCP sous Windows 2000 Serveur

Installation d'un serveur DHCP sous Windows 2000 Serveur Installation d'un serveur DHCP sous Windows 2000 Serveur Un serveur DHCP permet d'assigner des adresses IP à des ordinateurs clients du réseau. Grâce à un protocole DHCP (Dynamic Host Configuration Protocol),

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Fiche Technique Windows Azure

Fiche Technique Windows Azure Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Guide d'utilisation du Serveur USB

Guide d'utilisation du Serveur USB Guide d'utilisation du Serveur USB Copyright 20-1 - Informations de copyright Copyright 2010. Tous droits réservés. Avis de non responsabilité Incorporated ne peut être tenu responsable des erreurs techniques

Plus en détail

Gestion répartie de données - 1

Gestion répartie de données - 1 Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Systèmes et algorithmes répartis

Systèmes et algorithmes répartis Systèmes et algorithmes répartis Tolérance aux fautes Philippe Quéinnec Département Informatique et Mathématiques Appliquées ENSEEIHT 4 novembre 2014 Systèmes et algorithmes répartis V 1 / 45 plan 1 Sûreté

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

Introduction aux algorithmes répartis

Introduction aux algorithmes répartis Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes

Plus en détail

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

STACCINI Pascal UFR Médecine Nice Université Nice-Sophia Antipolis

STACCINI Pascal UFR Médecine Nice Université Nice-Sophia Antipolis 2.3 : Apprécier les normes et standards et les technologies permettant l interopérabilité et le travail en réseau Chapitre 2 : Travail collaboratif en santé Normes et technologies de l interopérabilité

Plus en détail

La continuité de service

La continuité de service La continuité de service I INTRODUCTION Si la performance est un élément important de satisfaction de l'utilisateur de réseau, la permanence de la disponibilité des ressources l'est encore davantage. Ici

Plus en détail

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES CENTRALISÉE RÉPARTIE mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale processeur processeur processeur processeur processeur processeur instructions messages MÉMOIRE

Plus en détail

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

La haute disponibilité de la CHAINE DE

La haute disponibilité de la CHAINE DE Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est

Plus en détail

Présentation d'un Réseau Eole +

Présentation d'un Réseau Eole + Présentation d'un Réseau Eole + Le Pourquoi du comment... Comprendre les différents types de documentation fournit avec la solution Eole Plus. Novice Confirmé Expert Version 1.0 Mai 2006 Permission est

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

Réseaux et Télécommunication Interconnexion des Réseaux

Réseaux et Télécommunication Interconnexion des Réseaux Réseaux et Télécommunication Interconnexion des Réseaux 1 Concevoir un réseau Faire évoluer l existant Réfléchir à toutes les couches Utiliser les services des opérateurs (sous-traitance) Assemblage de

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Le gestionnaire des tâches

Le gestionnaire des tâches 43-45 rue CHARLOT 75003 PARIS. Benoît HAMET FRANCE : benoit.hamet@hametbenoit.fr.st Le gestionnaire des tâches......... Le gestionnaire des tâches Sommaire Sommaire...2 Introduction...3 Les onglets et

Plus en détail

Architectures n tiers Intergiciels à objets et services web

Architectures n tiers Intergiciels à objets et services web UMIN406 : thèmes abordés Architectures n tiers Intergiciels à objets et services web Clémentine Nebut LIRMM / Université de Montpellier 2 LIRMM Clementine.nebut@lirmm.fr 1 Distribution d objets Java RMI,.net

Plus en détail

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

Présentation du modèle OSI(Open Systems Interconnection)

Présentation du modèle OSI(Open Systems Interconnection) Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:

Plus en détail

SafeKit. Sommaire. Un livre blanc de Bull Evidian

SafeKit. Sommaire. Un livre blanc de Bull Evidian Un livre blanc de Bull Evidian SafeKit Une solution de haute disponibilité logicielle packageable avec n'importe quelle application Windows ou Unix Par Bruno Rochat Sommaire Novembre 2005 Haute disponibilité

Plus en détail

On distingue deux catégories de réseaux : le réseau «poste à poste» et le réseau disposant d un «serveur dédié».

On distingue deux catégories de réseaux : le réseau «poste à poste» et le réseau disposant d un «serveur dédié». Un réseau est un ensemble de connexions entre plusieurs ordinateurs. Il va permettre : - la communication entre utilisateurs à travers les machines - la partage de ressources matérielles - le partage de

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de

Plus en détail

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/40 2/40 Pourquoi? Anne-Cécile Caron Master MAGE - BDA 1er trimestre 2013-2014 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

Plus en détail

Client Citrix ICA Windows CE Carte de référence rapide

Client Citrix ICA Windows CE Carte de référence rapide Client Citrix ICA Windows CE Carte de référence rapide Exigences Pour exécuter le client ICA Windows CE, vous devez disposer des éléments suivants : Un périphérique Windows CE Une carte d'interface réseau

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES Haute disponibilité pour Serveurs Ouverts (Windows, UNIX, AIX, Linux, VMware (Windows, UNIX, AIX, Linux, VMware ) Généralités Quelques définitions

Plus en détail

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 Table des matières CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 CLIENT/SERVEUR :... 2 Les principes de base...2 MIDDLEWARE... 3 VUE EN NIVEAUX... 3 1 Tier...3 2 Tier...3 3 Tier...3 n Tier...4 L'ÉVOLUTION

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones. PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique Services OSI Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique 59 SERVICES "APPLICATION" Architecture spécifique : ALS (Application Layer

Plus en détail

Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP

Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP Sommaire Chapitre Page 1 Mise en oeuvre 1/1 1.1 Généralités 1/1 1.1-1 Architecture documentaire 1/1 1.1-2 Compatibilités 1/1 1.2 Installation

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Système virtuel StruxureWare Data Center Expert Le serveur StruxureWare Data Center Expert 7.2 est disponible comme système virtuel pris en charge

Plus en détail

Programme des épreuves des concours externes de recrutement des personnels techniques et administratifs de recherche et de formation

Programme des épreuves des concours externes de recrutement des personnels techniques et administratifs de recherche et de formation Programme des épreuves des concours externes de recrutement des personnels E1 RECRUTEMENT DES ASSISTANTS INGENIEURS DE RECHERCHE ET DE FORMATION...2 E1.1 Gestionnaire de base de données...2 E1.2 Développeur

Plus en détail

Gestion du serveur WHS 2011

Gestion du serveur WHS 2011 Chapitre 15 Gestion du serveur WHS 2011 Les principales commandes Windows Home Server 2011 reprend l ergonomie de Windows 7 et intègre les principales commandes de Windows Server 2008 R2. Les commandes

Plus en détail

PARAGON SYSTEM BACKUP 2010

PARAGON SYSTEM BACKUP 2010 PARAGON SYSTEM BACKUP 2010 Paragon System Backup 2010 2 Manuel d'utilisation SOMMAIRE 1 Introduction...3 1.1 Comment System Backup protège mon ordinateur?...3 1.1.1 Emplacement du stockage des clichés...

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

IP Office IP Office Manuel de l'utilisateur de la messagerie vocale intégrée

IP Office IP Office Manuel de l'utilisateur de la messagerie vocale intégrée Manuel de l'utilisateur de la messagerie vocale intégrée 15-604067 Version 11a - (29/04/2011) 2011 AVAYA Tous droits réservés. Note Bien que tous les efforts nécessaires aient été mis en œuvre en vue de

Plus en détail

Tolérance aux pannes

Tolérance aux pannes Tolérance aux pannes Arnaud Labourel Université de Provence 15 mars 2012 Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 1 / 55 Présentation Tolérances aux pannes Pannes Définition

Plus en détail

Présentation de Active Directory

Présentation de Active Directory Brevet de Technicien Supérieur Informatique de gestion. Benoît HAMET Session 2001 2002 Présentation de Active Directory......... Présentation d Active Directory Préambule...4 Introduction...5 Définitions...5

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Système de vidéosurveillance Guide de configuration

Système de vidéosurveillance Guide de configuration Guide de configuration Introduction Les technologies de vidéosurveillance ne sont plus considérées comme «nouvelles» de nos jours, puisque l on enregistre et archive des vidéos depuis maintenant de nombreuses

Plus en détail

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services Oléane VPN : Les nouvelles fonctions de gestion de réseaux Orange Business Services sommaire 1. Qu'est-ce que la fonction serveur/relais DHCP? Comment cela fonctionne-t-il?...3 1.1. Serveur DHCP...3 1.2.

Plus en détail

Itium XP. Guide Utilisateur

Itium XP. Guide Utilisateur Itium XP 06/2007 - Rev. 3 1 Sommaire 1 Sommaire... 2 2 Généralités... 3 3 ItiumSysLock... 4 3.1 Enregistrer l état actuel du système... 4 3.2 Désactiver ItiumSysLock... 5 3.3 Activer ItiumSysLock... 5

Plus en détail

Agents Mobiles/Code Mobile

Agents Mobiles/Code Mobile Systèmes Répartis Agents Mobiles Agents Mobiles/Code Mobile Modèles d exécution répartie et agents mobiles Infrastructure pour les agents mobiles Expérimentations Conclusion 1 Modèles d exécution répartie

Plus en détail

CEG4566/CSI4541 Conception de systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité

Plus en détail

Aperçu plus détaillé du logiciel HP LoadRunner

Aperçu plus détaillé du logiciel HP LoadRunner Livre blanc technique Aperçu plus détaillé du logiciel HP LoadRunner Table des matières Une avancée dans le domaine des tests de performance : la solution HP LoadRunner 3 Terminologie de la solution HP

Plus en détail

Mode de surveillance / Aperçu en direct

Mode de surveillance / Aperçu en direct Cours de base SeeTec 5 Mode de surveillance / Aperçu en direct - 1 - Table des matières Général...3 Aperçu de caméra...4 Zone de visualisation / Vues...7 Plan de localisation...8 MPEG Audio...9 Boutons...10

Plus en détail