17.01.2015 Views

Généralités sur les systèmes d'exploitation traitement Entrées Sorties

Généralités sur les systèmes d'exploitation traitement Entrées Sorties

Généralités sur les systèmes d'exploitation traitement Entrées Sorties

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

de D liaison coût de E liaison coût<br />

D locale 0 E locale 0<br />

A 3 1 B 4 1<br />

E 6 1 C 5 1<br />

B 3 2 D 6 1<br />

C 6 2 A 4 2<br />

puis en une étape :<br />

de A liaison coût de B liaison coût de C liaison coût<br />

A locale 0 B locale 0 C locale 0<br />

B 3 3 A 4 3 B 2 1<br />

D 3 1 C 2 1 E 5 1<br />

C 3 3 E 4 1 A 2 2<br />

E 3 2 D 4 2 D 5 2<br />

<strong>les</strong> deux autres tableaux restent identiques<br />

4°) L'hypothèse de synchronisme n'est absolument pas nécessaire, c'est à dire que l'on a en fait un véritable<br />

algorithme distribué. Écrire cet algorithme.<br />

Exercice n°4 (Toutain)<br />

Écrire un programme client qui va interroger un serveur telnet qui se trouve <strong>sur</strong> une machine distante dont<br />

le nom est passé en argument.<br />

Réponse :<br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

main(int argc,char *argv[]){<br />

struct sockaddr_in sin;<br />

struct servent *sp;<br />

struct hostent *hp;<br />

int s,pos,i;<br />

char txt[200],c;<br />

if (argc !=2)<br />

fprintf(stderr,"client: manque le nom du serveur");<br />

if ((sp=getservbyname("telnet","tcp"))==NULL) {<br />

fprintf(stderr,"client: tcp/telnet non disponible \n");<br />

exit(1)<br />

}<br />

if ((hp=gethostbyname(argv[1]))==NULL){<br />

fprintf(stderr,"client: machine inconnue \n");<br />

exit(2);<br />

}<br />

bzero((char*) &sin,sizeof(sin));<br />

bcopy(hp->h_addr,(char*) &sin.sin_addr,hp->h_length);<br />

sin.sin_family = hp->h_addrtype;<br />

sin.sin_port=sp->s_port;<br />

if ((s=socket(PF_INET,SOCK_STREAM,0))

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!