Passo 1 e 2 IPC E RMI Sistemas Distribuidos

1115 palavras 5 páginas
Passo 2 Tecnologia IPC
IPC
Os IPCs ou Comunicação Entre Processos são um conjunto de mecanismos de troca de informação entre múltiplas threads de um ou mais processos. Mas existe uma necessidade de coordenar o uso de recursos (sincronização).

Ao fornecer mecanismos de IPC, o S.O implementa “canais” de comunicação (implícitos ou explícitos) entre processos.

Características desejáveis para uma IPC:
Rápida
Simples de ser utilizada e implementada
Possuir um modelo de sincronização bem definido
Funcione igualmente em ambientes distribuídos
Sincronização é uma das maiores preocupações em IPC:
Permitir que o sender indique quando um dado foi transmitido.
Permitir que um receiver saiba quando um dado está disponível .
Permitir que ambos saibam o momento em que podem realizar uma nova IPC.

Pipes
Os pipes nomeados. ou FIFOs, são ficheiros especiais que servem de canal de comunicação entre processos. Um processo abre o FIFO para escrita, outro para leitura.

Esta é a forma mais divulgada de IPC. Um exemplo:
C:\> type text.txt | more
Este exemplo em Dos iria canalizar o output do comando TYPE como input para o programa MORE.
Um pipe tradicional caracteriza-se por ser: Anônimo (não tem nome). Temporário: dura somente o tempo de execução do processo que o criou.
A capacidade do pipe é limitada:
Se uma escrita é feita e existe espaço no pipe, o dado é colocado no pipe e a chamada retorna imediatamente. Se a escrita sobre um pipe continua mesmo depois dele estar cheio, ocorre uma situação de bloqueio (que permanece até que algum outro processo leia e, consequentemente, abra espaço no pipe).

Códigos IPC com pipe:
#include “ourhdr.h” int main(void)
{
int n, fd[2]; pid_t pid; char line[MAXLINE]; if (pipe(fd) < 0) { err_sys("pipe error");} if (pipe(fd) = fork() < 0) { if (pipe(fd) = fork() < 0) { err_sys(“fork error");} else if (pid > 0) { /* processo Principal*/ close(fd[0]); write(fd[1], "hello world\n", 12); error ("write error");
}
else { /* processo Secundario */

Relacionados

  • ATPS SISTEMA DISTRIBUIDO
    989 palavras | 4 páginas
  • fffffffffffffffff
    681 palavras | 3 páginas
  • teste
    653 palavras | 3 páginas
  • 2015_2_Ciencias_Computacao_7_Sistemas_Distribuidos
    1756 palavras | 8 páginas
  • Atps
    428 palavras | 2 páginas
  • Comunicação entre processos
    4028 palavras | 17 páginas
  • sistemas didstribuidos
    10027 palavras | 41 páginas
  • 34981 SD1 4
    9944 palavras | 40 páginas
  • Redes
    47916 palavras | 192 páginas
  • Comparação entre corba e dcom
    21890 palavras | 88 páginas