Comunicação entre Processos

Documentos relacionados
TAREFAS COMUNICAÇÃO ENTRE TAREFAS AULA 08 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas Distribuídos Aula 2

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.

Redes de Computadores.

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Sistemas Distribuídos

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

: TMS M

Redes de Computadores

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Arquitetura de Computadores Sistemas Operacionais II

Vamos fazer um pequeno experimento

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Canais de Comunicação

Instalação e Operação do Leitor de Tracer do SAO WEB

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais II

Sistemas de Troca de Mensagens

Ambientes de Execução

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Comunicação de Dados II

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

COMUNICAÇÃO ENTRE PROCESSOS

Arquitetura de sistemas distribuídos

Programação de Sistemas em Tempo Real

Comunicação. capítulo

Redes de Computadores

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens

Sistemas Operacionais Distribuídos e de Redes

Redes de Computadores

Message Passing Interface - MPI

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Transferência de Arquivo: Protocolo FTP

REDES DE COMPUTADORES

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Introdução aos Sistemas Operacionais

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Comunicação entre Processos

Entrada. Saída. Entrada e Saída. Sistemas Operacionais

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets

Organização e Arquitetura de Computadores I

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Comunicação entre processos

Prof. Samuel Henrique Bucke Brito

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Conceitos básicos de comunicação. Prof. Marciano dos Santos Dionizio

Gerência de Dispositivos. Adão de Melo Neto

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Sistemas Operacionais. Rodrigo Rubira Branco

REDES DE COMPUTADORES E A CAMADA FÍSICA

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Programação para Web

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Redes de Computadores

Processos ca 3 pítulo

Introdução à Computação

Multiplexação por Divisão de Tempo UNIP. Renê Furtado Felix.

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Sistema Operacional. Etapa

Aula 03. Evandro Deliberal

ADMINISTRAÇÃO DE SISTEMAS LINUX. Servidor de

Gerência de Dispositivos. Adão de Melo Neto

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistemas Distribuídos

Barramento. Prof. Leonardo Barreto Campos 1

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA JEFERSON AUGUSTO WISBISKI JOÃO DAVI MAYER

Redes de Computadores

Parte I Multiprocessamento

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Sistemas Operativos. Processos cooperantes e processos independentes

STK - Setup da DR800 ETH na rede do cliente

Redes de Computadores

Redes de Computadores

VIABILIDADE DA TRANSMISSÃO DE DADOS VIA SATÉLITE FEASIBILITY OF DATA TRANSMISSION VIA SATELLITE

Capítulo 3: Processos

REDES DE COMPUTADORES. Infraestrutura de Redes de Computadores

Redes de Computadores

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

ORGANIZAÇÃO DE COMPUTADORES

Métodos de implementação de linguagens. Kellen Pinagé

Sincronização e Comunicação entre Processos

Seminário: André V. S. Cunha

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

Threads. Pedro Cruz. EEL770 Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Trabalho do Curso de Redes de Computadores COS765/MAB /1

Programação concorrente (processos e threads)

Definição das 7 Camadas do Modelo OSI e Explicação das Funções

Comunicações por transações. Grupo 3. Lisiê Tieko Nakasone Tatiane Fernanda Silva Galinari. Orientador: Profº Norian Marranguello

Transmissão de dados. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos

Transcrição:

Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br

Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos, formato de envio, capacidade e confiabilidades dos canais e número de participantes n Exemplos 2

Comunicação entre Processos

Comunicação entre Processos n Processos precisam cooperar entre si para atingir os objetivos. Atender vários usuários simultâneos Uso de computadores multiprocessados Modularidade Construção de aplicações interativas 4

Comunicação entre Processos n Cooperação entre tarefas exige comunicação (compartilhamento de informações necessárias à execução de cada tarefa) e coordenação de atividades. Gerencia dos botões e menus de um navegador Web. Copiar e colar um texto. 5

Comunicação entre Processos n A comunicação depende da situação Atividades no mesmo processo usam comunicação via variáveis globais. Atividades de processos distintos precisam do núcleo do SO para se comunicar. Atividades em computadores distintos se comunicam via rede. 6

Comunicação entre Processos 7

Comunicação entre Processos n Todos os mecanismos de comunicação são denominados de mecanismos de IPC (Inter-Process Communication mechanisms). 8

Características dos mecanismos de comunicação 9

Características dos mecanismos de comunicação n n Existem várias formas de comunicação entre processos. Os principais aspectos que caracterizam e distinguem os mecanismos de comunicação são: Comunicação direta ou indireta, Sincronismo, Formato de envio, Capacidade dos canais, Confiabilidade dos canais e Número de participantes 10

Comunicação direta ou indireta n Na comunicação direta, o emissor identifica claramente o receptor e viceversa. Pouco empregada. 11

Comunicação Direta ou Indireta n Na comunicação indireta, o emissor e receptor não precisam se conhecer, pois não interagem diretamente. Um canal de comunicação é criado pelo SO para interligar ambos 12

Sincronismo n A comunicação pode ser síncrona, assíncrona ou semi-síncrona. Síncrona: quando as operações de envio e recepção de dados bloqueiam (suspendem) as tarefas envolvidas até a conclusão da comunicação (comunicação bloqueante). 13

Sincronismo Síncrona 14

Sincronismo Assíncrona: as primitivas de envio e recepção não são bloqueantes. Caso a comunicação não seja possível no momento em que cada operação é invocada, esta retorna imediatamente com uma indicação de erro. Usa um canal ou buffer para armazenar os dados da comunicação entre eles. Comunicação não-bloqueante. 15

Sincronismo Assíncrona 16

Semi síncrona n Têm um comportamento síncrono (bloqueante) durante um prazo prédefinido. Caso esse prazo se esgote sem que a comunicação tenha ocorrido, a primitiva se encerra. Prazo é uma variável adicional. 17

Sincronismo Semi-síncrona 18

Formato de envio n A informação enviada pelo emissor ao receptor pode ser vista basicamente de duas formas: sequência de mensagens independentes, cada uma com seu próprio conteúdo. fluxo sequencial e contínuo de dados, imitando o comportamento de um arquivo com acesso sequencial. 19

Formato de envio n abordagem baseada em mensagens 20

Formato de envio n abordagem baseada em um fluxo contínuo 21

Capacidade dos canais n Em relação à capacidade de buffering do canal de comunicação, três situações devem ser analisadas: nula, infinita e finita. f22

Capacidade Nula n n n n Canal não armazena dados. A comunicação é feita por transferência direta dos dados do emissor para o receptor, sem cópias intermediárias. Síncrona o emissor permanece bloqueado até que o destinatário receba os dados, e vice-versa. Assíncrona não é possível. 23

Capacidade Infinita n O emissor sempre pode enviar dados, que serão armazenados no buffer do canal enquanto o receptor não os consumir. n Impráticavel, porém útil aos estudos de algoritmos de comunicação e sincronização 24

Capacidade Finita n n Uma quantidade finita (n) de dados pode ser enviada pelo emissor sem que o receptor os consuma. Ao tentar enviar dados em um canal já saturado, o emissor poderá ficar bloqueado até surgir espaço no buffer do canal e conseguir enviar (comportamento síncrono) ou receber um retorno indicando o erro (comportamento assíncrono). 25

Comunicação com capacidade finita (n=2) 26

Confiabilidade dos canais n Um canal é dito confiável quando transporta todos os dados enviados através dele para seus receptores, respeitando seus valores e a ordem em que foram enviados. n Caso contrário, trata-se de um canal não-confiável. 27

Razões para nãoconfiabilidade n Perda de dados Nem todos dados enviados chegam ao destino. n Perda de integridade Valores modificados (corrompidos) n Perda de ordem Dados chegam na sua totalidade e íntegros, porém fora da ordem. 28

Canais confiáveis existem? n Comunicação dentro do S.O. geralmente é considerada confiável. n Redes geralmente tem protocolos não confiáveis. Porém, protocolos como o TCP garantem que a comunicação seja confiável. 29

Número de participantes n Existem situações em que uma tarefa necessita comunicar com várias outras. n Dessa forma, os mecanismos de comunicação também podem ser classificados de acordo com o número de tarefas participantes: 1:1 e M:N

Número de participantes n M:N usando mailbox 31

Número de participantes n M:N usando difusão 32

Exemplo de mecanismos de comunicação

Exemplo de mecanismos de comunicação n Pipes Mecanismo de comunicação entre processos mais simples de usar. Na interface de linha de comandos, o pipe é usado para conectar a saída padrão (stdout) de um comando à entrada padrão (stdin) de outro comando, permitindo assim a comunicação entre eles.

Exemplo de mecanismos de comunicação n Pipes canal de comunicação unidirecional entre dois processos (1:1), com capacidade finita (4 KBytes no linux). O envio e recepção de dados são feitos pelas chamadas de sistema write e read, que podem operar em modo síncrono ou assíncrono. 35

Funcionamento 36

Memória Compartilhada n Processos em uma mesma máquina podem compartilhar o mesmo espaço de memória. Solicitação ao sistema operacional. Pode gerar problemas de sincronização. 37