Accueil > Informatique > SMB111 : Systèmes et applications répartis CO > Introduction

Introduction

lundi 21 décembre 2009, par frederic

Définition

Pour satisfaire notre définition, les machines d’un système réparti exigent certaines caractéristiques avant d’être regroupées :
 L’ensemble des machines doit posséder un mécanisme de communication interprocessus unique et global. Cette caractéristique permet, à n’importe quel processus, de dialoguer avec n’importe quel autre processus résidant sur une machine différente.
 L’ensemble doit posséder un mécanisme de protection global car l’unicité du système se perçoit aussi par ses mécanismes de protection.
 La gestion des processus (création, suspension, démarrage et destruction) doit être uniforme.
 Les noyaux de ces machines doivent avoir une interface commune afin de permettre la portabilité des programmes mais aussi pour donner l’illusion de la machine unique.

Caractéristique d’un système réparti

Transparence
Ce critère s’applique à plusieurs éléments d’un système réparti. En gros, il exige que les concepteurs donnent l’illusion aux usagers que l’ensemble des machines a un comportement identique à un bon vieux système à temps partagé.
 Transparence à l’emplacement
 Transparence à la migration
 Transparence à la duplication
 Transparence à la concurrence
 Transparence au parallélisme

Fiabilité :
La fiabilité de l’ensemble du système, appelée aussi la disponibilité, s’obtient théoriquement en faisant un OU logique avec tous les composants. Par exemple, deux serveurs, avec une fiabilité individuelle de 0.95, obtiennent ensemble une fiabilité de 1-(1-0.95)2 = 0.9975. Malheureusement, en pratique il s’agit le plus souvent d’un ET logique.

Performance :
La performance s’obtient en réduisant le nombre de messages transmis et en augmentant le parallélisme
La performance s’obtient en réglant le grain de parallélisme, c’est-à-dire l’intervalle de temps séparant deux communications successives

Dimensionnement
Il faut éliminer tous les composants centralisés, tel qu’un seul serveur, toutes les données centralisées et tous les algorithmes centralisés qui traitent des données nécessitant une connaissance globale.
Il faut donc concevoir des algorithmes répartis qui ont les caractéristiques suivantes :
 Aucune machine n’a d’information complète sur l’état global du système.
 Les machines prennent des décisions uniquement à partir des informations localement disponibles.
 La panne d’une machine n’empêche pas le déroulement de l’algorithme.
 Aucune hypothèse concernant l’existence d’une horloge globale n’est faite. Un algorithme qui nécessite une date absolue est voué à l’échec. Le fait de préciser qu’une opération doit commencer à midi est impossible à réaliser car il faudrait que les horloges des différentes machines soient toutes synchrones.

Micro noyaux

Définition

un micro noyau est un noyau minimaliste qui contient les services essentiels du système d’exploitation. Tout le reste du système existe sous la forme de service.
Par opposition on parle des noyaux monolithiques contiennent toutes les fonctionnalité du système d’exploitation.

chorus
Les fonctionnalité du système d’exploitation sont assurées par des serveurs annexes offrant les services non rendu au noyaux.

Organisation :

  1. un noyaux de petite taille sur lequel sont implémenté des serveurs coopérants.
  2. Le noyaux est atteint par des primitives de ces sous-systèmes au moyen d’une interface propre au noyaux.
  3. Le noyau de Chorus offre des services locaux au site et des services globaux au système, à savoir des services couvrants le réseau d’interconnexion.
  4. Les services locaux sont représentés par les services suivants
    • La gestion des ressources physiques du site
    • Le gestionnaire d’exécution multi-tâches
    • Le gestionnaire de mémoire
    • Le Superviseur qui permet aux composants des sous-systèmes implantés hors du noyau de contrôler les événements matériels comme les interruptions, les déroutements ou encore les exceptions.
  5. Les services globaux
    • Le gestionnaire de communication (IPC [1])
    • Le réseau d’interconnexion : Permet aux entités d’un site donné de partager de la mémoire avec d’autres

Notion de base :

  • L’acteur
  • l’activité
  • Le message
  • La porte
  • le gourpe
  • L’UI (Unique Identifier)
  • La capacité

Fonctionnement

On installe MIX : un émulateur unix pour chorus. Les processus unix dialogue avec le système chorus par l’intermédiaire d’un processus chorus particulier, le processus manager PM

MACH

Principe

GNU Mach est le micro-noyau du GNU Project. C’est le composant de base du système d’exploitation GNU/HURD. Il fournit les fonctionnalités (même si elles sont limitées) aux serveurs HURD, à la librairie GNU C et à toutes les applications utilisateurs.

Son Objectif :

  • Portabe
  • peux fonctionner sous différente architecture
  • Peux fonctionner dans un réseau hétérogène
  • Possède une structure de noyau simple et extensible
  • Doit être transparent vis-à-vis des utilisateurs

Le micronoyau Mach ne s’occupe que de 3 choses essentielles :

  • la mémoire,
  • les processus
  • la communication.
    Les fonctionnalités généralement implémentées dans les noyaux monolithiques (gestion des fichiers, ...) ne sont pas gérées par Mach.

Notion de base :

  • La tâche
  • Le thread
  • les ports
  • Le message
  • L’objet Mémoire

[1Inter Process Communication