MC118 - SISTEMAS OPERACIONAIS DISTRIBUÍDOS
2º Projeto - Versão Distribuída da Base de Dados (Sockets)
Prazo de Entrega
Relatório do 2º Projeto
O Relatório referente ao 2º Projeto é único, ou seja, deverá
conter:
- Descrição do Projeto - 1a Parte
- Descrição do Projeto - 2a Parte
Descrição do Projeto - 1ª Parte
O trabalho consiste em implementar uma versão distribuída do dbm (ou
gdbm). Para tal implementar-se-á um servidor dbm capaz de receber
requisições via rede e um cliente funcionalmente idêntico àquele
implementado no primeiro trabalho. As etapas para a realização deste
trabalho prático são:
-
Desenvolver um protocolo de comunicação cliente/servidor. Este
protocolo deve ser capaz de requisitar e receber o resultado de
todas as operações dbm.
-
Desenvolver uma biblioteca de funções dbm (similar àquela
disponível no UNIX e utilizada no primeiro trabalho) que será
utilizada pelo cliente. Esta biblioteca conterá todas as chamadas
dbm, direcionando-as ao servidor.
-
Implementar um servidor dbm que receba e processe requisições via
protocolo desenvolvido no item 1.
-
Modificar o código do primeiro trabalho incorporando a biblioteca do
item 2.
-
Testar a versão distribuída (use mais de um cliente !).
A comunicação cliente/servidor deverá se processar via biblioteca de
sockets.
Exemplos da utilização de socket:
- sockets sem conexão (Protocolo UDP):
- sockets com conexão (Protocolo TCP):
- Beej's Guide
Network Programming
Descrição do Projeto - 2ª Parte
A segunda parte do projeto consiste em implementar um servidor de nomes
responsável por manter um cadastro de servidores de aplicações (p.ex.,
servidor gdbm). Até agora, o cliente para contactar o servidor gdbm,
necessita conhecer o port no qual a aplicação está sendo executada,
bem como o endereço IP do host.
De modo que o cliente não mais tenha que conhecer a localização do
servidor de aplicação (p.ex., servidor gdbm), o servidor de nomes deve
controlar e gerenciar o cadastro de servidores de aplicações. Assim, tanto
o servidor de aplicação quanto o cliente conhecem a priori o
port e endereço IP do servidor do servidor de nomes.
Luís Fernando Faina
Last modified: Wed Sep 4 15:21:52 2002