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.

Introduction à l'algorithmique Distribuée. Exclusion mutuelle

Introduction à l'algorithmique Distribuée. Exclusion mutuelle Introduction à l'algorithmique Distribuée Exclusion mutuelle Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion mutuelle distribuée Exclusion

Plus en détail

Algorithmique distribuée. Exclusion mutuelle

Algorithmique distribuée. Exclusion mutuelle Algorithmique distribuée Exclusion mutuelle Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion

Plus en détail

Introduction aux Systèmes Distribués. Gestion du temps & état global dans un système distribué

Introduction aux Systèmes Distribués. Gestion du temps & état global dans un système distribué Introduction aux Systèmes Distribués Licence Informatique 3 ème année Gestion du temps & état global dans un système distribué Eric Cariou Université de Pau et des Pays de l'adour Département Informatique

Plus en détail

Modélisation conceptuelle des Systèmes Distribués

Modélisation conceptuelle des Systèmes Distribués Modélisation conceptuelle des Systèmes Distribués Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Systèmes

Plus en détail

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

Plus en détail

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

Chapitre 5. Communication interprocessus. 5.1 Introduction

Chapitre 5. Communication interprocessus. 5.1 Introduction Communication interprocessus 5.1 Introduction Dans une activité parallèle (ou pseudo parallèle), un ensemble de processus séquentiels s exécutent en parallèle. Cette exécution résulte deux types de relations

Plus en détail

Synchronisation et communication entre processus

Synchronisation et communication entre processus Synchronisation et communication entre processus Interblocage et coalition Joëlle Delacroix AMSI1999/2000 1 INTRODUCTION Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 Processus

Plus en détail

Chapitre 3. Exclusion mutuelle répartie

Chapitre 3. Exclusion mutuelle répartie Chapitre 3 Exclusion mutuelle répartie Chap 3 Exclusion mutuelle répartie Pas de mémoire commune => échanges de messages Protocole exempt d interbolcage et équitable => un processus désireux de pénétrer

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

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

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

ALGORITHMIQUE DU CONTROLE REPARTI

ALGORITHMIQUE DU CONTROLE REPARTI ALGORITHMIQUE DU CONTROLE REPARTI Télécom ParisTech Module Algorithmique répartie de l UE INF346 Irène CHARON Mars 2009 Tables des matières Chapitre 1 - Généralités... 1 1.1. Introduction... 1 1.2. Algorithmes

Plus en détail

Introduction aux systèmes répartis

Introduction aux systèmes répartis Introduction aux systèmes répartis Grappes de stations Applications réparties à grande échelle Systèmes multicalculateurs (1) Recherche de puissance par assemblage de calculateurs standard Liaison par

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

Introduction à l'algorithmique Distribuée. Accord & coordination : consensus & transaction

Introduction à l'algorithmique Distribuée. Accord & coordination : consensus & transaction Introduction à l'algorithmique Distribuée Accord & coordination : consensus & transaction Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Accord

Plus en détail

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Mohamed Mosbah LaBRI ENSEIRB - Université Bordeaux 1 mosbah@labri.fr dept-info.labri.fr/~mosbah/mafsd.html Connaître les caractéristiques

Plus en détail

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net Systèmes d exploitation II Chapitre 2 : Gestion des processus www.achrafothman.net 1 Processus Concept de Processus Ordonnancement de Processus Opérations sur les Processus Processus Coopératifs Communication

Plus en détail

Processus et gestion de processus

Processus et gestion de processus Processus et gestion de processus et gestion de processus Processus Définition Modélisation Descripteur État Création Destruction Allocation de ressources UNIX Processus UNIX - Modèle Création Terminaison

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

Synchronisation des Processus et les sémaphores

Synchronisation des Processus et les sémaphores Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation

Plus en détail

ACCOV 2001-2002. Système avec des processus concurrents

ACCOV 2001-2002. Système avec des processus concurrents projet ACCOV 2001-2002 ACCOV 2001-2002. Système avec des processus concurrents procedure Main is type TabDoc is array(1..6) of Document; -- contrôle l'attribution d'un nom unique package ProcId is procedure

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

GESTION DES PROCESSUS

GESTION DES PROCESSUS CHAPITRE 2 : GESTION DES PROCESSUS Objectifs spécifiques Connaître la notion de processus, Connaître les caractéristiques d un processus ainsi que son contexte Connaître la notion d interruptions et de

Plus en détail

Comment régler les problèmes de synchronisation? P-A. Champin

Comment régler les problèmes de synchronisation? P-A. Champin S y s t è m e d ' e x p l o i t a t i o n S é a n c e 5 Comment régler les problèmes de synchronisation? P-A. Champin Département Informatique IUT A Université Claude Bernard Lyon 1 2009 S5 - Comment régler

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

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

Gestion du processeur central

Gestion du processeur central Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement

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

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Jacques Mossière 22 septembre 2008 1 Introduction Nous étudions dans ce chapitre la réalisation des processus

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

Plus en détail

TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système

TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système LP RGI Prog. système TD3 Le problème de l'exclusion mutuelle et les mutexes I U T d ' A m i e n s, d é p a r t e m e n t I n f o r m a t i q u e a n n é e u n i v e r s i t a i r e 2 0 1 4 / 2 0 1 5 L

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

Programmation système : sémaphores

Programmation système : sémaphores Programmation système : sémaphores Un sémaphore permet de protéger une variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

Système informatique. Introduction aux systèmes d'exploitation des ordinateurs. Système informatique

Système informatique. Introduction aux systèmes d'exploitation des ordinateurs. Système informatique Système informatique Introduction aux systèmes d'exploitation des ordinateurs ndéfinition : C est l ensemble des matériels et logiciels destinés à réaliser des tâches qui mettent en jeu le traitement automatique

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

Plus en détail

Gestion des Processus

Gestion des Processus Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients

Plus en détail

TD sur les horloges logiques.

TD sur les horloges logiques. TD sur les horloges logiques. Exercice : Datation des évènements L objectif est de comparer deux évènements e et e qui se passent dans deux sites différents. Nous supposerons que l évènement e (resp. e

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

Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine

Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine Université de BOUMERDES UMBB Département de physique/infotronique IT/S5/Réseaux informatiques Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine Réaliser par Mr RIAHLA

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

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT ORDONNANCEMENT DE L'UNITE DE TRAITEMENT 1. OBJECTIFS... 2 2. ASSIGNATIONS ET DIAGRAMMES DE GANTT... 2 3. ALGORITHMES SANS RÉQUISITION... 4 3.1. ORDONNANCEMENT DANS L'ORDRE D'ARRIVÉE (FIFO)... 4 3.2. PLUS

Plus en détail

Architectures Parallèles

Architectures Parallèles Architectures Parallèles Cours pour Ingénieur Préparé par Dr. Olfa Hamdi-Larbi ola_ola79@yahoo.fr Reçoit les signaux du contrôleur, cherche les données et les traite Instructions, Données à traiter et

Plus en détail

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés :

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés : Transaction réservation(date, nbplace) select reste into r from RESERVATION where dateresa=:date si (r >= nbplace) alors update RESERVATION set reste=reste-nbplace where dateresa=:date éditer-place(date,

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

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

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada Huitième partie Processus communicants CSP/Ada Systèmes concurrents 2 / 44 Synchronisation Désignation, alternatives Architecture d'une application parallèle Plan 1 Processus communicants Synchronisation

Plus en détail

Systèmes d'exploitation Chapitre II. Gestion des processus

Systèmes d'exploitation Chapitre II. Gestion des processus Systèmes d'exploitation Chapitre II Gestion des processus 1 Processus Un programme qui s exécute Les ordinateurs autorisent maintenant plusieurs processus simultanément (pseudo parallélisme) A B A B C

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur 1 sur 9 Processus Les processus, à quoi ça sert? Une définition d'un processus La vie intime des processus Quelques caractéristiques des processus Le contexte et la commutation de contexte Les processus

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

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

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

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence Université Paris Diderot Master 1 II Théorie et pratique de la concurrence Partiel du 30 avril 2009 Durée : 1h30. Tous les documents sont autorisés. Le barème est indicatif. Question 1 : Soit le programme

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

2. Structure d un système d exploitation

2. Structure d un système d exploitation Systèmes d exploitation : 2. Structure d un système d exploitation 0 Structure d un système d exploitation () Structure () APPLICATIONS SYSTEME D EXPLOITATION MATERIEL applications (jeux, outils bureautiques,

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 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

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

Thème 11 Réseaux de Petri Places-Transitions

Thème 11 Réseaux de Petri Places-Transitions Thème 11 Réseaux de Petri Places-Transitions Contenu du thème 1. Introduction 2. RdP PT 3. Protocoles de communication Références Diaz, Michel (2001) Les Réseaux de Petri Modèles fondamentaux, Hermes Science

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

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

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE)

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE) 1. Introduction Chapitre 1 : Introduction aux Systèmes d Exploitation (SE). 1 système informatique est un ensemble constitué de matériels et de logiciels et qui assure le traitement des données.. Les pgms

Plus en détail

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation.

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation. Master mention Informatique M1 Construction d s Réparties Lionel Seinturier USTL-LIFL Équipe GOAL/Projet INRIA Jacquard Lionel.Seinturier@lifl.fr 2006/2007 1 Objectifs du cours Appréhender la conception

Plus en détail

Algorithmique dans les systèmes distribués - Elec9on de leader -

Algorithmique dans les systèmes distribués - Elec9on de leader - Algorithmique dans les systèmes distribués - Elec9on de leader - Eddy Caron 03 M. ENS- Lyon Quelques algorithmes distribués Quelques méthodes générales d approche Principe général: introduire des contraintes

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

NSY107 - Intégration des systèmes client-serveur

NSY107 - Intégration des systèmes client-serveur NSY107 - Intégration des systèmes client-serveur Cours du 13/05/2006 (4 heures) Emmanuel DESVIGNE Document sous licence libre (FDL) Plan du cours Introduction Historique Les différentes

Plus en détail

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus Corrigé de l examen de systèmes opératoires Module Synchronisation des processus 2ième Année Informatique et Mathématiques Appliquées 17 Novembre 1999 1 Les sémaphores 1. Donner la définition d un sémaphore

Plus en détail

Systèmes d Exploitation Chapitre 6 Sémaphores

Systèmes d Exploitation Chapitre 6 Sémaphores Systèmes d Exploitation Chapitre 6 Sémaphores F. Moal 2012/2013 Par DIJKSTRA 1971 Idée : encapsuler les solutions diverses au pb de la section critique pour fournir une interface unique et assurer la portabilité.

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

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

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

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID :

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID : Introduction : La technologie RAID (regroupement redondant de disques indépendants) permet de constituer une unité de stockage à partir de plusieurs disques durs. Cette unitée,appelée grappe, a une tolérance

Plus en détail

UE 503 L3 MIAGE. TD6 : Adressage IP. A. Belaïd

UE 503 L3 MIAGE. TD6 : Adressage IP. A. Belaïd UE 503 L3 MIAGE TD6 : Adressage IP A. Belaïd abelaid@loria.fr http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 Adressage IP Objectifs Si l on veut interconnecter des réseaux, on ne peut pas

Plus en détail

Multi-processeurs, multi-cœurs et cohérence mémoire et cache

Multi-processeurs, multi-cœurs et cohérence mémoire et cache Multi-processeurs, multi-cœurs et cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Rappel système d exploitation & Parallélisme L unité d exécution pour un système d exploitation

Plus en détail

NOTIONS SUR WINDOWS NT

NOTIONS SUR WINDOWS NT Chapitre 10 NOTIONS SUR WINDOWS NT Le système d'exploitation WINDOWS NT (New Technology) a été conçu par Microsoft entre 1988 et 1993. Cinq objectifs étaient poursuivis en créant ce nouveau SE : - offrir

Plus en détail

Introduction à la notion de système d'exploitation

Introduction à la notion de système d'exploitation Page 1 sur 9 1. Sommaire 1. Sommaire... 2 2. Description du système... 3 2.1. Rôles du système... 3 2.2. Composantes du système... 4 2.3. Systèmes multitâches... 4 2.4. Systèmes multi-processeurs... 4

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

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

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

COURS : ARCHITECTURE D UN RÉSEAU INFORMATIQUE ETC 3.2.4 1. PRÉSENTATION 2. LE MATÉRIEL 1.1. CATÉGORIES DE RÉSEAUX INFORMATIQUES

COURS : ARCHITECTURE D UN RÉSEAU INFORMATIQUE ETC 3.2.4 1. PRÉSENTATION 2. LE MATÉRIEL 1.1. CATÉGORIES DE RÉSEAUX INFORMATIQUES 1. PRÉSENTATION Un réseau (network) est un ensemble d'équipements électroniques (ordinateurs, imprimantes, scanners, modems, routeurs, commutateurs...) interconnectés et capables de communiquer (émettre

Plus en détail

Normes et Principes des Réseaux

Normes et Principes des Réseaux Normes et Principes des Réseaux DI / Polytech Tours J.Y. RAMEL 2005-2006 Bibliographie 2 LIVRES : Les réseaux. Guy Pujolle. Eyrolles. 1997. Réseaux Locaux: Normes & Protocoles. Pierre Rolin. Hermès. 1993.

Plus en détail

Cours Administration BD

Cours Administration BD Faculté des Sciences de Gabès Cours Administration BD Chapitre 2 : Architecture Oracle Faîçal Felhi felhi_fayssal@yahoo.fr 1 Processus serveur 1 Mémoire PGA Architecture SGBD Oracle Processus serveur 2

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

Cours n 9. Trunking - VTP Inter-VLAN

Cours n 9. Trunking - VTP Inter-VLAN Cours n 9 Trunking - VTP Inter-VLAN 1 Sommaire Agrégation (Trunking) VTP Inter-VLAN routing 2 Définition L'apparition de l'agrégation (trunking) remonte aux origines des technologies radio et de téléphonie.

Plus en détail

UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS GESTION DES RESSOURCES PHYSIQUES :

UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS GESTION DES RESSOURCES PHYSIQUES : UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS processus locaux ou distants représentés localement (proxys). GESTION DES RESSOURCES PHYSIQUES : mémoire principale pour y

Plus en détail

Parallélisme1. Problèmes du parallélisme et Outils permettant de les résoudre. M. Ould Braham. Master1 (DMI/FST Limoges) 1

Parallélisme1. Problèmes du parallélisme et Outils permettant de les résoudre. M. Ould Braham. Master1 (DMI/FST Limoges) 1 Parallélisme1 Problèmes du parallélisme et Outils permettant de les résoudre M. Ould Braham Master1 (DMI/FST Limoges) 1 Contenu du cours (9h, 6 Séances) Problèmes du parallélisme Modèles de fonctionnement

Plus en détail

Influence De La Taille Du Jeton Sur Les Performances De L algorithme D'exclusion Mutuelle De Ricart - Agrawala

Influence De La Taille Du Jeton Sur Les Performances De L algorithme D'exclusion Mutuelle De Ricart - Agrawala Influence De La Taille Du Jeton Sur Les Performances De L algorithme D'exclusion Mutuelle De Ricart - Agrawala Sarah Benkouider, Souhila Labgaa 2, Mohamed Yagoubi 3 Université Amar Telidji Département

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

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

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

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

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

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

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