Lista de Exercícios

Sistemas Operacionais Distribuídos - 97.2

  1. Resolva os seguintes exercícios do capítulo 10 do livro: 8, 14 e 15.
  2. Leia a seção 10.4.3 - Comunicação em Grupo no ISIS. Explique como são implementadas as primitivas de Broadcast no ISIS.
  3. Resolva os seguintes exercícios do capítulo 11 do livro: 5, 6. 7, 9, 19, 20, 22 e 23.
  4. Resolva a prova 1 do período 95.2 e a prova 1 do período 96.2.
  5. A partir do algoritmo de eleição para um anel unidirecional listado abaixo derive um algoritmo de eleição para um anel bidirecional.
     when decision  (initiate_election)  do 
    	 participant <- T;
    	 sendL  (election, my_number); -- manda para a esquerda
    	 end do ;
     when received  (election, j)  do 
    	 case  j > my_number  then begin 
    		 sendL  (election, j);
    		 participant <- T;
    		 end case; 
    	 case  j < my_number  and  participant  then begin 
    		 sendL  (election, my_number);
    		 participant <- T;
    		 end case; 
    	 case  j = my_number  then sendL  (elected,i);
    		 end case ;
     when received  (elected, j)  do 
    	 coordinator <- j;
    	 participant <- F;
    	 if  j <> my_number  then sendL  (elected, j);
    	 end if; 
     end do;  
    
    O algoritmo de eleição para um anel bidirecional é baseado na idéia de conduzir uma sequência de eleições em subconjuntos crescentes de processos até todos serem incluídos. Se Pi inicia uma eleição, ele se declara um candidato e tenta saber se seu identificador (que ele conhece) é maior que o dos seus dois vizinhos (que ele não conhece). Ele faz isto enviando seu valor a cada um dos vizinhos Pk e Pl. Estes fazem as comparações necessárias e se k ou l é maior que i, o processo correspondente substitui Pi como candidado; caso contrário Pi se mantém candidato e o teste é feito para os demais processos. Isto continua até que todos os processos tenham sido consultados. O papel de um processo derrotado em uma eleição é simplesmente passar qualquer mensagem recebida de um lado para outro, usando uma primitiva pass .
Last update: Tue Sep 16 12:50:13 EST 1997 by Noemi