DMI G´ enie Logiciel - S5 COURS DU SYST` EME EMBARQU´ E ET TEMPS R ´ EEL DL N°1
DMI G´ enie Logiciel - S5 COURS DU SYST` EME EMBARQU´ E ET TEMPS R ´ EEL DL N°1 Cr´ eation d’un serveur multiprocesseurs en mode flot de donn´ ees(Stream) et paquet de donn´ ees(Datagramme) 1 but Maitriser les principes de la communication par data-gramme et flot de donn´ ees entre processus. 2 Introduction Le but est de proposer ` a un processus client d’ex´ ecuter une liste de commandes shell, toutes ind´ ependantes les unes des autres, sur plusieurs machines. La r´ epartition des commandes sur ces machines doit ˆ etre transparente r´ epartit le travail sur plusieurs serveurs esclaves. le serveur maitre donne ainsi l’impression d’ˆ etre multiprocesseurs”. Ce syst` eme se compose donc de — un serveur maˆ ıtre — N serveurs esclaves (pour ce DL choisizzez B etl que 3 ≤N ≤5) 3 Un serveur esclave ce type de serveur est un demon (boucle sans fin) et offre un service dans le domaine Unix en mode Data-gramme. son rˆ ole est : 1. de recevoir un data-gramme resp. flot de donn´ ees du serveur maˆ ıtre contenant : — la commande shell ` a ex´ ecuter (on suppose que la longueur de la commande ne peut exc´ eder la taille d’un paquet Unix) — l’adresse du client qui a envoy´ e cette commande 2. d’´ executer la commande sur sa machine. On pourra se servir de la commande system qui ex´ ecute une commande et renvoie : — −1 sii la commande n’a pas pu s’ex´ ecuter — > 0 si la commande s’est ma ex´ ecut´ ee — 0 si tout s’est bien pass´ e (faire man system pour plus d’informations sur le compte ou sur le fonctionnement de cette commande) 3. de renvoyer le compte rendu de l’ex´ ecution de cette commande au client. ce compte rendu est un data gramme contenant : — la commande shell — la valeur renvoyer par la commande system 4. de signaler au serveur maˆ ıtre qu’il a fini d’ex´ ecuter une commande et qu’il peut en traiter une autre 4 Le serveur maitre c’est le serveur (demon lui aussi) qui offre le service multiprocesseurs” sur Unix en mode data-gramme ou flot de donn´ ees aux client. A son lancement, on doit lui fournir la liste des serveurs esclaves qu’il peut utiliser. La liste des serveurs esclaves est un fichier dont les lignes ont le format suivant : <nom machine serveur esclave> <num´ ero de port esclave> 1 DMI G´ enie Logiciel - S5 Pour chaque client qui lui demande ce service, son rˆ ole est : 1. de recevoir le nom d’un fichier de commandes. Ceci peut ˆ etre vu comme l’initialisation d’une demande de service par un client. 2. de transf´ erer le contenu de ce fichier sur sa machine hˆ ote. 3. de d´ el´ eguer l’ex´ ecution des commandes contenues dans le ficher sur les serveurs esclaves dont la liste est pass´ ee en param` etre. l’ex´ ecution de ces commandes se fera donc en parall` ele sur les machines des serveurs esclaves. 5 Un client C’est le processus qui est client du service Unix en mode data-gramme ou flot de donn´ ees du serveur maˆ ıtre. Il doit donc respecter le protocole suivant : — Envoyer le nom du fichier de commandes au serveur maˆ ıtre — Lui transf´ erer ensuite le contenu du fichier de commandes — Attendre le compte rendu de l’ex´ ecution de chaque commande pour v´ erifier si elle s’est bien d´ eroul´ e. Le fichier de commandes est un fichier texte. Les commandes sont s´ epar´ ees par un caract` ere que vous choisirez. Si, par exemple, le s´ eparateur est un ”retour chariot” (’\n’) alors une commande correspond ` a une ligne du fichier texte. 6 Synopsis 2 DMI G´ enie Logiciel - S5 7 Rapport Votre rapport sur ce DL devra comporter : 1. Une justification de choix de conception de vos programme, c’est ` a dire une analyse du probl` eme et un explication de votre solution. 2. Les structure de data-gramme et flot de donn´ ees utilis´ ees 3. Les fichier sources des processus ” client ”, ” serveur maˆ ıtre ” et ” serveur esclave”. 3 uploads/Industriel/ dl-n01.pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 15, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.1686MB