Sistema distribuído
Sistemas Distribuídos são máquinas independentes que através da comunicação, compartilham recursos do sistema como hardware, software e dados, dando a impressão ao usuário de que toda a aplicação é gerenciada por um sistema único.
Esta etapa tem como objetivo conhecer mais sobre as tecnologias IPC E RMI, demonstrando suas vantagens, fundamentos e aplicações, e fazer uma comparação entre elas.
IPC (Interprocess Communication)
O conceito do IPC se baseia no bloqueio da Região Crítica (Compartilhamento de Recursos do Sistema), para que não ocorra Condições de Corrida (Quando há concorrência entre dois ou mais processos para utilização da Região Crítica, afetando o resultado da execução) e possivelmente um Deadlock(quando dois processos dependem de um mesmo recurso, e ficam bloqueados em espera pelo mesmo).
Um exemplo clássico que representa esta situação é o problema dos trens no mesmo trilho, se um determinado trem A vem pelo um trilho e do outro lado, um trem B vem no mesmo trilho, ambos vão ficar esperando para que um deles volte para o outro avançar, ocasionando uma espera indeterminada, ou seja, um Deadlock.
Para evitar esta situação utilizaremos dois métodos:
• Exclusão mútua de execução: é um método para que se houver um processo utilizando a RC, outros processos que tentarem utiliza-la serão impedidos.
• Região Crítica ou Seção Crítica: é a parte do programa onde estará o recurso compartilhado do sistema que pode ocasionar em Condições de Corrida ou Deadlock.
Vantagens IPC
• Mais eficiente (rápida), já que não exige a cópia de dados paraalguma estrutura do núcleo.
Desvantagem IPC
• Problemas de sincronização.
RMI (Remote Methodinvocation)
É uma tecnologia para o desenvolvimento em Java de aplicações distribuídas, que permite que o programador invoque métodos de objetos remotos, alojados em máquinas Virtuais distintas como se fossem máquinas locais. Vantagens da RMI
• Transparente para o programador, o