Este repositório contém um protótipo simples de memória compartilhada distribuída implementado em C. Ele fornece operações básicas de leitura e escrita em blocos com um mecanismo elementar de cache e invalidação.
src/– código fonte em C da aplicação.dsm.h/dsm.c– implementação do serviço de memória distribuída.network.h/network.c– rotinas auxiliares para comunicação via sockets.main.c– executável que inicia um nó e disponibiliza um pequeno prompt.
É necessário possuir o gcc para compilar o projeto. Para gerar o executável principal execute:
gcc -pthread src/*.c -o dsm_nodeEm terminais diferentes execute cada nó informando seu identificador, o tamanho do bloco, o número total de blocos, o número de nós e os pares host porta de todos os nós. Exemplo com dois nós:
./dsm_node 0 64 4 2 127.0.0.1 6000 127.0.0.1 6001
./dsm_node 1 64 4 2 127.0.0.1 6000 127.0.0.1 6001No prompt cada processo aceita os comandos ler <Posicao> <Tamanho> e escrever <Posicao> <Texto>.