Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processos - Coggle Diagram
Processos
Comunicação Interprocessos
Tipos de processos
Processos independentes: não afetam outros processos
Processos cooperativos: podem afetar ou ser afetados por outros processos
Compartilhamento de dados
Motivos
Compartilhamento de informações e agilidade
Modularidade e conveniência em tarefas paralelas
Sistemas de memória compartilhada
Região de memória compartilhada entre dois ou mais processos sem a proteção do SO
Formato e local dos dados são responsabilidades dos processos
Não há interferência do SO
Necessidade de garantir a não escrita no mesmo local de memória pelos processos
Modelos de Comunicação Interprocesso (IPC)
Memória compartilhada: permite acesso comum a uma região de memória, facilitando a comunicação rápida de dados
Baixa intervenção de kernel
Troca de mensagens: útil para pequenas quantidades de dados
Evita conflitos
Implementação mais fácil
Sistema de Transmissão/ Troca de Mensagens
Comunicação entre processos
Utilização de operações de envio (send) e recebimento de mensagens (receive)
Implementação do link de comunicação pode ser física ou lógica
Tipos de comunicação
Direta
Processos nomeados explicitamente
Propriedades do link
Estabelecidos automaticamente
Associado a exatamente um par de processos
Pode ser unidirecional, mas normalmente é bidirecional
Indireta
Utilização de caixas de correio (portas)
Propriedades de link
Estabelecido somente entre os processos que compartilham a mesma porta
Um link pode ser associado a vários processos
Cada par de processos podem ter várias portas
Pode ser unidirecional ou bidirecional
Sincronização
Bloqueio (sincrono)
O emissor é bloqueado até que a mensagem seja recebida
O receptor é bloqueado até que uma mensagem esteja disponível
Não bloqueio (assincrono)
O emissor continua suas tarefas após o envio da mensagem
O receptor recebe uma mensagem válida ou nulo
Armazenamento em Buffer
Capacidade zero: Tamanho 0, emissor espera pelo receptor
Capacidade limitada: Tamanho finito de n mensagens, emissor espera se o link estiver cheio
Capacidade ilimitada: Tamanho "infinito", emissor nunca espera
Conceito de processo
Processo x Programa
Porcesso: entidade ativa
Programa: entidade passiva
Um processo inclui
Código programa (text section)
Contador de programa
Pilha LIFO (stack)
Seção de dados com variáveis globais (Data section)
Região de monte usada em alocação dinâmica (heap)
Estado do processo
New: sendo criado
Running: sendo executado
Waiting: Esperando algum evento (p.e: E/S)
Ready: Esperando ser atribuido a um processador
Terminated: terminou a execução