{"id":148,"date":"2009-12-21T16:20:56","date_gmt":"2009-12-21T15:20:56","guid":{"rendered":"http:\/\/wp1.fredptitgars.net\/index.php\/2009\/12\/21\/introduction\/"},"modified":"2009-12-21T16:20:56","modified_gmt":"2009-12-21T15:20:56","slug":"introduction","status":"publish","type":"post","link":"https:\/\/fredptitgars.ovh\/?p=148","title":{"rendered":"Introduction"},"content":{"rendered":"<h2>D\u00e9finition<\/h2>\n<p>Pour satisfaire notre d\u00e9finition, les machines d&rsquo;un syst\u00e8me r\u00e9parti exigent certaines caract\u00e9ristiques avant d&rsquo;\u00eatre regroup\u00e9es :<br \/>\n&#8211; L&rsquo;ensemble des machines doit poss\u00e9der un m\u00e9canisme de communication interprocessus unique et global. Cette caract\u00e9ristique permet, \u00e0 n&rsquo;importe quel processus, de dialoguer avec n&rsquo;importe quel autre processus r\u00e9sidant sur une machine diff\u00e9rente.<br \/>\n&#8211; L&rsquo;ensemble doit poss\u00e9der un m\u00e9canisme de protection global car l&rsquo;unicit\u00e9 du syst\u00e8me se per\u00e7oit aussi par ses m\u00e9canismes de protection.<br \/>\n&#8211; La gestion des processus (cr\u00e9ation, suspension, d\u00e9marrage et destruction) doit \u00eatre uniforme.<br \/>\n&#8211; Les noyaux de ces machines doivent avoir une interface commune afin de permettre la portabilit\u00e9 des programmes mais aussi pour donner l&rsquo;illusion de la machine unique.<\/p>\n<h2>Caract\u00e9ristique d&rsquo;un syst\u00e8me r\u00e9parti<\/h2>\n<p><strong>Transparence<\/strong><br \/>\n<br \/>Ce crit\u00e8re s&rsquo;applique \u00e0 plusieurs \u00e9l\u00e9ments d&rsquo;un syst\u00e8me r\u00e9parti. En gros, il exige que les concepteurs donnent l&rsquo;illusion aux usagers que l&rsquo;ensemble des machines a un comportement identique \u00e0 un bon vieux syst\u00e8me \u00e0 temps partag\u00e9.<br \/>\n&#8211; Transparence \u00e0 l&#8217;emplacement<br \/>\n&#8211; Transparence \u00e0 la migration<br \/>\n&#8211; Transparence \u00e0 la duplication<br \/>\n&#8211; Transparence \u00e0 la concurrence<br \/>\n&#8211; Transparence au parall\u00e9lisme<\/p>\n<p><strong>Fiabilit\u00e9<\/strong>:<br \/>\n<br \/>La fiabilit\u00e9 de l&rsquo;ensemble du syst\u00e8me, appel\u00e9e aussi la disponibilit\u00e9, s&rsquo;obtient th\u00e9oriquement en faisant un OU logique avec tous les composants. Par exemple, deux serveurs, avec une fiabilit\u00e9 individuelle de 0.95, obtiennent ensemble une fiabilit\u00e9 de 1-(1-0.95)2 = 0.9975. Malheureusement, en pratique il s&rsquo;agit le plus souvent d&rsquo;un ET logique.<\/p>\n<p><strong>Performance<\/strong>:<br \/>\n<br \/>La performance s&rsquo;obtient en r\u00e9duisant le nombre de messages transmis et en augmentant le parall\u00e9lisme<br \/>\n<br \/>La performance s&rsquo;obtient en r\u00e9glant le grain de parall\u00e9lisme, c\u2019est-\u00e0-dire l&rsquo;intervalle de temps s\u00e9parant deux communications successives<\/p>\n<p><strong>Dimensionnement<\/strong><br \/>\n<br \/>Il faut \u00e9liminer tous les composants centralis\u00e9s, tel qu&rsquo;un seul serveur, toutes les donn\u00e9es centralis\u00e9es et tous les algorithmes centralis\u00e9s qui traitent des donn\u00e9es n\u00e9cessitant une connaissance globale.<br \/>\n<br \/>Il faut donc concevoir des algorithmes r\u00e9partis qui ont les caract\u00e9ristiques suivantes :<br \/>\n&#8211; Aucune machine n&rsquo;a d\u2019information compl\u00e8te sur l&rsquo;\u00e9tat global du syst\u00e8me.<br \/>\n&#8211; Les machines prennent des d\u00e9cisions uniquement \u00e0 partir des informations localement disponibles.<br \/>\n&#8211; La panne d&rsquo;une machine n&#8217;emp\u00eache pas le d\u00e9roulement de l&rsquo;algorithme.<br \/>\n&#8211; Aucune hypoth\u00e8se concernant l&rsquo;existence d&rsquo;une horloge globale n&rsquo;est faite. Un algorithme qui n\u00e9cessite une date absolue est vou\u00e9 \u00e0 l&rsquo;\u00e9chec. Le fait de pr\u00e9ciser qu&rsquo;une op\u00e9ration doit commencer \u00e0 midi est impossible \u00e0 r\u00e9aliser car il faudrait que les horloges des diff\u00e9rentes machines soient toutes synchrones.<\/p>\n<h2>Micro noyaux<\/h2>\n<p><strong>D\u00e9finition<\/strong><\/p>\n<p>un micro noyau est un noyau minimaliste qui contient les services essentiels du syst\u00e8me d&rsquo;exploitation. Tout le reste du syst\u00e8me existe sous la forme de service.<br \/>\n<br \/>Par opposition on parle des noyaux monolithiques contiennent toutes les fonctionnalit\u00e9 du syst\u00e8me d&rsquo;exploitation.<\/p>\n<p><strong>chorus<\/strong><br \/>\n<br \/>Les fonctionnalit\u00e9 du syst\u00e8me d&rsquo;exploitation sont assur\u00e9es par des serveurs annexes offrant les services non rendu au noyaux.<\/p>\n<p><em>Organisation<\/em>:<\/p>\n<ol>\n<li> un noyaux de petite taille sur lequel sont impl\u00e9ment\u00e9 des serveurs coop\u00e9rants.<\/li>\n<li> Le noyaux est atteint par des primitives de ces sous-syst\u00e8mes au moyen d&rsquo;une interface propre au noyaux.<\/li>\n<li> Le noyau de Chorus offre des services locaux au site et des services globaux au syst\u00e8me, \u00e0 savoir des services couvrants le r\u00e9seau d&rsquo;interconnexion.<\/li>\n<li> Les services locaux sont repr\u00e9sent\u00e9s par les services suivants\n<ul>\n<li> La gestion des ressources physiques du site<\/li>\n<li> Le gestionnaire d&rsquo;ex\u00e9cution multi-t\u00e2ches<\/li>\n<li> Le gestionnaire de m\u00e9moire<\/li>\n<li> Le Superviseur qui permet aux composants des sous-syst\u00e8mes implant\u00e9s hors du noyau de contr\u00f4ler les \u00e9v\u00e9nements mat\u00e9riels comme les interruptions, les d\u00e9routements ou encore les exceptions.<\/li>\n<\/ul>\n<\/li>\n<li> Les services globaux\n<ul>\n<li> Le gestionnaire de communication (IPC[[Inter Process Communication]])<\/li>\n<li> Le r\u00e9seau d&rsquo;interconnexion : Permet aux entit\u00e9s d&rsquo;un site donn\u00e9 de partager de la m\u00e9moire avec d&rsquo;autres<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><em>Notion de base:<\/em><\/p>\n<ul>\n<li> L&rsquo;acteur<\/li>\n<li> l&rsquo;activit\u00e9<\/li>\n<li> Le message<\/li>\n<li> La porte<\/li>\n<li> le gourpe<\/li>\n<li> L&rsquo;UI (Unique Identifier)<\/li>\n<li> La capacit\u00e9<\/li>\n<\/ul>\n<p><em>Fonctionnement<\/em><\/p>\n<p>On installe MIX : un \u00e9mulateur unix pour chorus. Les processus unix dialogue avec le syst\u00e8me chorus par l&rsquo;interm\u00e9diaire d&rsquo;un processus chorus  particulier, le processus manager PM<\/p>\n<p><strong>MACH<\/strong><\/p>\n<p><em>Principe<\/em><\/p>\n<p>GNU Mach est le micro-noyau du GNU Project. C\u2019est le composant de base du syst\u00e8me d\u2019exploitation GNU\/HURD. Il fournit les fonctionnalit\u00e9s (m\u00eame si elles sont limit\u00e9es) aux serveurs HURD, \u00e0 la librairie GNU C et \u00e0 toutes les applications utilisateurs.<\/p>\n<p><em>Son Objectif:<\/em><\/p>\n<ul>\n<li> Portabe<\/li>\n<li> peux fonctionner sous diff\u00e9rente architecture<\/li>\n<li> Peux fonctionner dans un r\u00e9seau h\u00e9t\u00e9rog\u00e8ne<\/li>\n<li>  Poss\u00e8de une structure de noyau simple et extensible<\/li>\n<li>  Doit \u00eatre transparent vis-\u00e0-vis des utilisateurs<\/li>\n<\/ul>\n<p>Le micronoyau Mach ne s\u2019occupe que de 3 choses essentielles : <\/p>\n<ul>\n<li> la m\u00e9moire,<\/li>\n<li> les processus <\/li>\n<li> la communication.<br \/>\n<br \/>Les fonctionnalit\u00e9s g\u00e9n\u00e9ralement impl\u00e9ment\u00e9es dans les noyaux monolithiques (gestion des fichiers, &#8230;) ne sont pas g\u00e9r\u00e9es par Mach.<\/li>\n<\/ul>\n<p><em>Notion de base:<\/em><\/p>\n<ul>\n<li> La t\u00e2che<\/li>\n<li> Le thread<\/li>\n<li> les ports<\/li>\n<li> Le message<\/li>\n<li> L&rsquo;objet M\u00e9moire<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>D\u00e9finition Pour satisfaire notre d\u00e9finition, les machines d&rsquo;un syst\u00e8me r\u00e9parti exigent certaines caract\u00e9ristiques avant d&rsquo;\u00eatre regroup\u00e9es : &#8211; L&rsquo;ensemble des machines doit poss\u00e9der un m\u00e9canisme de communication interprocessus unique et global. Cette caract\u00e9ristique permet, \u00e0 n&rsquo;importe quel processus, de dialoguer avec n&rsquo;importe quel autre processus r\u00e9sidant sur une machine diff\u00e9rente. &#8211; L&rsquo;ensemble doit poss\u00e9der un [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-smb111-systemes-et-applications-repartis-co"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=148"}],"version-history":[{"count":0,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=\/wp\/v2\/posts\/148\/revisions"}],"wp:attachment":[{"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fredptitgars.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}