SlideShare uma empresa Scribd logo
1 de 36
Gerências de Processos: Processos
Sistemas Operacionais I
Prof. Alexandre Duarte : http://alexandrend.com
Centro de Informática | Universidade Federal da Paraíba
Estes slides são baseados no material que acompanha o livro Operating
Systems Concepts de Silberschatz, Galvin and Gagne
Objetivos
 Definir formalmente o conceito de processo
 Descrever as várias funcionalidades relacionadas
à manipulaç ão de processos pelo sistema
operacional, incluindo escalonamento, criaç ão,
terminaç ão e comunicaç ão
 Apresentar as principais formas de comunicaç ão
utilizadas por sistemas cliente-servidor
O conceito de processo
 Um sistema operacional executa uma variedade de programas:
 Sistemas Batch: jobs
 Sistemas de compartilhamento de tempo: programas do
usuário
 Usaremos os termos job e processo como sinô nimos
 Processo: um programa em execução
 Sua execução avança de forma sequencial
 Um processo inclui:
 Contador de programa
 Pilha
 Seção de dados
Um processo na memória
Estados de um processo
 Durante sua execuç ão um processo muda de
estado inúmeras vezes
 novo: O processo estásendo criado
 executando: Instruç ões do processo estão
sendo executadas
 esperando: O processo aguarda que algum
evento ocorra
 pronto: O processo aguarda ser escalonado
para um processador
 finalizado: A execuç ão do processo foi
concluída
Diagrama de transição entre os estados de
um processo
Bloco de Controle de Processo (PCB)
 Informaç ões associadas a cada processo
 Estado do processo
 Contador de programa
 Registradores da CPU
 Informaç ões para escalonamento da CPU
 Informaç ões para gerência de memó ria
 Informaç ão para contabilidade
 Estados das operaç ões de E/S
Alternando a CPU entre dois processos
Filas de escalonamento de processos
 Fila de jobs: conjunto de todos os processos do
sistema
 Fila de prontos: fila com todos os processos
aguardando apenas pelo escalonamento da CPU
 Filas de dispositivo: conjunto de processos
esperando por um dispositivo de E/S
 Os processo migram entre as diferentes filas
Representação do escalonamento de
processos
Escalonadores
 Escalonador de longo prazo (ou
escalonador de jobs): seleciona qual processo
deve ser trazido para a fila de prontos
 Escalonador de curto prazo (ou
escalonador de CPU): seleciona qual
processo deve ser executado e aloca a CPU
Escalonador de médio prazo
Escalonadores
 O escalonador de curto prazo é invocado muito
frequentemente (milissegundos) ⇒ precisa ser rápido
 O escalonador de longo prazo é invocado ocasionalmente
(segundos, minutos) ⇒ pode ser lento
 O escalonador de longo prazo controle o grau de
multiprogramação
 Processos podem ser descritos como:
 Processos limitados por E/S: passam mais tempo
realizando operaç ões de E/S do que computaç ão – várias rajadas
curtas de CPU
 Processos limitados por CPU: passam mais tempo fazendo
computaç ão – poucas rajadas muito longas de CPU
Criação de processos
 Um processo Pai cria processos filho, que, por sua vez,
podem criar outros processos, formando uma árvore de
processos
 Geralmente, processos são gerenciados através de um
identificador de processo (pid)
 Compartilhamento de recursos
 Processos pai e filho compartilham tudo
 O processo filho tem acesso a uma parte dos recursos do pai
 Pai e filho não compartilham nada
 Execução
 Pai e filho executam concorrentemente
 Pai aguarda até a conclusão da execuç ão do filho
Criação de processos
 Espaç o de endereç amento
 O filho duplica o espaç o do pai
 O filho tem um outro programa carregado em seu
espaç o de endereç amento
 Exemplos no UNIX
 a chamada de sistema fork cria um novo processo
 a chamada de sistema exec é utilizada apó s o fork
para substituir o espaç o de memó ria do processo
com um novo programa
Programa em C criando um novo
processo
Encerramento de processos
 Um processo executa a sua última instruç ão e solicita
ao sistema operacional que o remova (exit)
 Envio de dados da saída de um processo filho para o pai
(via wait)
 Os recursos utilizados pelo processo são desalocados
 O pai pode finalizar a execuç ão de um processo filho
(abort)
 O filho excedeu o limite de recursos alocados
 A tarefa atribuída ao filho não é mais necessária
 O pai estásendo encerrado
 Alguns SOs não permitem processos ó rfãos
 Todos os filhos são finalizados: terminaç ão em cascata
Processos cooperativos
 Processos independentes não podem afetar ou
serem afetados pela execuç ão de outros processos
 Processos cooperativos podem afetar e serem
afetados pela execuç ão de outros processos
 Vantagens da utilizaç ão de processos cooperativos
 Compartilhamento de informação
 Velocidade de computação
 Modularidade
 Conveniência
O problema do Produtor/Consumidor
 Um paradigma para processos cooperativos
 Processos produtores produzem informaç ão que
é consumida por processos consumidores
 Buffer-ilimitado não impõem nenhum limite prático
ao tamanho do buffer
 Buffer-limitado assume que háum tamanho fixo
para o buffer
Buffer limitado: solução com memória
compartilhada
Processo Produtor
Processo Consumidor
Comunicação entre processos
 Processos cooperativos precisam de mecanismos para
comunicaç ão entre processos (IPC)
 Dois modelos: Troca de mensagens x Memó ria compartilhada
Troca de Mensagens
 Processos se comunicam sem fazer uso de variáveis
compartilhadas
 O sistema de IPC oferece duas operações:
 send(message)
 receive(message)
 Se P e Q desejam se comunicar, eles precisam:
 estabelecer um canal de comunicaç ão entre si
 trocar mensagens utilizando send/receive
 Os canais de comunicação podem ser:
 físicos (ex., região de memó ria compartilhada, barramento de
hardware)
 ló gicos
Questões de implementação
 Como os canais são estabelecidos?
 Um canal pode ser associado a mais de dois
processos?
 Quantos canais de comunicaç ão podem ser
estabelecidos entre todos os pares de
processos em comunicaç ão?
 Qual é a capacidade de um canal?
 O tamanho da mensagem é fixo ou variável?
 O canal é unidirecional ou bi-direcional?
Comunicação Direta
 Os processos precisam ser identificados
explicitamente
 send (P, message)
 receive(Q, message)
 Propriedades do canal de comunicaç ão
 Estabelecimento automático
 Um único canal exclusivo para cada par de processos
 O canal pode ser unidirecional mas geralmente é
bidirecional
Comunicação Indireta
 As mensagens são enviadas e recebidas de caixas de
mensagens
 Cada caixa de mensagem tem um identificador único
 Processos só podem se comunicar se compartilharem
uma mailbox
 Propriedades do canal de comunicaç ão
 Canal estabelecido se os processos compartilham uma
mailbox
 Um canal pode ser associado com vários processos
 Cada par de processo pode compartilhar diversos canais
de comunicação
 Canais podem ser unidirecionais ou bidirecionais
Comunicação Indireta
 Operaç ões
 criar uma nova mailbox
 enviar e receber mensagens através de uma
mailbox
 destruir uma mailbox
 Primitivas definidas como
 send(A, message)
 receive(A, message)
Comunicação Indireta
 Compartilhamento de mailbox
 P1, P2, e P3 compartilham a mailbox A
 P1, envia; P2 e P3 executam o receive ao mesmo tempo.
 Quem ficou com a mensagem?
 Soluç ões
 Permitir que um link só possa ser associado a no máximo
dois processos
 Permitir que apenas um processo execute o receive em
um dado instante
 Permitir que o sistema escolha arbitrariamente o receptor
e notificar o emissor da escolha.
Sincronização
 Troca de mensagens pode ser tanto bloqueante quanto não-
bloqueante
 Bloqueante é considerada síncrona
 send bloqueante faz o emissor esperar até que a
mensagem seja recebida
 receive bloqueante faz o receptor esperar até que uma
mensagem esteja disponível
 Não-bloqueante é considerada asíncrona
 send não-bloqueante faz o emissor enviar a mensagem e
continuar sua execuç ão
 receive não-bloqueante faz o receptor receber uma
mensagem válida ou null
Buffering
 Fila de mensagens associada ao canal
 Três opç ões de implementaç ão
 Capacidade nula: emissor precisar aguardar pelo
receptor (rendezvous)
 Capacidade limitada: emissor precisar aguardar
se o canal estiver cheio
 Capacidade ilimitada: emissor nunca aguarda
Comunicação em sistemas cliente-
servidor
 Sockets
 Chamada remota de procedimentos (RPC)
 Chamada remota de métodos (RMI - Java)
Sockets
 Um socket é definido como um ponto final
para comunicaç ão
 Concatenaç ão de endereç o IP e porta
 O socket 161.25.19.8:1625 se refere a
porta 1625 na máquina 161.25.19.8
 A comunicaç ão se dápor meio de pares de
sockets
Comunicação via sockets
Chamada remota de procedimentos
 Abstrai o conceito de chamada de
procedimentos entre processos em um
sistema conectado via rede
 Stubs: proxies no lado cliente para o
procedimento real no servidor
 O stub no lado cliente localiza o servidor e
empacota os parâmetros do procedimento
 O stub no lado servidor desempacota os
parâmetros e invoca a chamada localmente
Invocação remota de métodos (RMI)
 RMI é a soluç ão Java para RPC
 Permite que um programa Java em uma JVM
invoque um método em um objeto criado em uma
outra JVM

Mais conteúdo relacionado

Mais procurados

Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: DeadlocksAlexandre Duarte
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosWellington Oliveira
 
Transparencias Reciclaje Informático
Transparencias Reciclaje InformáticoTransparencias Reciclaje Informático
Transparencias Reciclaje Informáticomundoman
 
Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBDDan Frincu
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
 
Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4baglungekanchi
 
Correção da ficha de trabalho 4 e 5
Correção da ficha de trabalho 4 e 5Correção da ficha de trabalho 4 e 5
Correção da ficha de trabalho 4 e 5Issuf Lion
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocksComputação Depressão
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 

Mais procurados (20)

Cs8493 unit 2
Cs8493 unit 2Cs8493 unit 2
Cs8493 unit 2
 
Лекція №10
Лекція №10Лекція №10
Лекція №10
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais Modernos
 
Escalonamento de processos
Escalonamento de processosEscalonamento de processos
Escalonamento de processos
 
Transparencias Reciclaje Informático
Transparencias Reciclaje InformáticoTransparencias Reciclaje Informático
Transparencias Reciclaje Informático
 
Pacemaker+DRBD
Pacemaker+DRBDPacemaker+DRBD
Pacemaker+DRBD
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar Leibovich
 
Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4
 
Correção da ficha de trabalho 4 e 5
Correção da ficha de trabalho 4 e 5Correção da ficha de trabalho 4 e 5
Correção da ficha de trabalho 4 e 5
 
CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks
 
Hardware
HardwareHardware
Hardware
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 

Destaque

Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processosMauro Duarte
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisAbadia Cardoso
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicosComputação Depressão
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processosVirgínia
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 

Destaque (10)

Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Sistemas Operacionais 10 comunicação entre processos
Sistemas Operacionais 10   comunicação entre processosSistemas Operacionais 10   comunicação entre processos
Sistemas Operacionais 10 comunicação entre processos
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 

Semelhante a Gerência de Processos: Processos

Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfssuser1d8ddd
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativosFrank macoo
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iiipaulocsm
 
SD_Aula_03_Introdução ao SD.pdf
SD_Aula_03_Introdução ao SD.pdfSD_Aula_03_Introdução ao SD.pdf
SD_Aula_03_Introdução ao SD.pdfFerro Gaita
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Sistemas Operativos De Grande Porte
Sistemas Operativos De Grande PorteSistemas Operativos De Grande Porte
Sistemas Operativos De Grande Portearturramisio
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPRafael Moreira
 

Semelhante a Gerência de Processos: Processos (20)

Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
Processos
ProcessosProcessos
Processos
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Aula 1
Aula 1Aula 1
Aula 1
 
Trabalho de sistemas operativos
Trabalho de sistemas operativosTrabalho de sistemas operativos
Trabalho de sistemas operativos
 
Aula3so
Aula3soAula3so
Aula3so
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
SD_Aula_03_Introdução ao SD.pdf
SD_Aula_03_Introdução ao SD.pdfSD_Aula_03_Introdução ao SD.pdf
SD_Aula_03_Introdução ao SD.pdf
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
S.o aula 1920
S.o aula 1920S.o aula 1920
S.o aula 1920
 
Sistemas Operativos De Grande Porte
Sistemas Operativos De Grande PorteSistemas Operativos De Grande Porte
Sistemas Operativos De Grande Porte
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 

Último

VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 

Último (20)

VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 

Gerência de Processos: Processos

  • 1. Gerências de Processos: Processos Sistemas Operacionais I Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Definir formalmente o conceito de processo  Descrever as várias funcionalidades relacionadas à manipulaç ão de processos pelo sistema operacional, incluindo escalonamento, criaç ão, terminaç ão e comunicaç ão  Apresentar as principais formas de comunicaç ão utilizadas por sistemas cliente-servidor
  • 3. O conceito de processo  Um sistema operacional executa uma variedade de programas:  Sistemas Batch: jobs  Sistemas de compartilhamento de tempo: programas do usuário  Usaremos os termos job e processo como sinô nimos  Processo: um programa em execução  Sua execução avança de forma sequencial  Um processo inclui:  Contador de programa  Pilha  Seção de dados
  • 4. Um processo na memória
  • 5. Estados de um processo  Durante sua execuç ão um processo muda de estado inúmeras vezes  novo: O processo estásendo criado  executando: Instruç ões do processo estão sendo executadas  esperando: O processo aguarda que algum evento ocorra  pronto: O processo aguarda ser escalonado para um processador  finalizado: A execuç ão do processo foi concluída
  • 6. Diagrama de transição entre os estados de um processo
  • 7. Bloco de Controle de Processo (PCB)  Informaç ões associadas a cada processo  Estado do processo  Contador de programa  Registradores da CPU  Informaç ões para escalonamento da CPU  Informaç ões para gerência de memó ria  Informaç ão para contabilidade  Estados das operaç ões de E/S
  • 8. Alternando a CPU entre dois processos
  • 9. Filas de escalonamento de processos  Fila de jobs: conjunto de todos os processos do sistema  Fila de prontos: fila com todos os processos aguardando apenas pelo escalonamento da CPU  Filas de dispositivo: conjunto de processos esperando por um dispositivo de E/S  Os processo migram entre as diferentes filas
  • 11. Escalonadores  Escalonador de longo prazo (ou escalonador de jobs): seleciona qual processo deve ser trazido para a fila de prontos  Escalonador de curto prazo (ou escalonador de CPU): seleciona qual processo deve ser executado e aloca a CPU
  • 13. Escalonadores  O escalonador de curto prazo é invocado muito frequentemente (milissegundos) ⇒ precisa ser rápido  O escalonador de longo prazo é invocado ocasionalmente (segundos, minutos) ⇒ pode ser lento  O escalonador de longo prazo controle o grau de multiprogramação  Processos podem ser descritos como:  Processos limitados por E/S: passam mais tempo realizando operaç ões de E/S do que computaç ão – várias rajadas curtas de CPU  Processos limitados por CPU: passam mais tempo fazendo computaç ão – poucas rajadas muito longas de CPU
  • 14. Criação de processos  Um processo Pai cria processos filho, que, por sua vez, podem criar outros processos, formando uma árvore de processos  Geralmente, processos são gerenciados através de um identificador de processo (pid)  Compartilhamento de recursos  Processos pai e filho compartilham tudo  O processo filho tem acesso a uma parte dos recursos do pai  Pai e filho não compartilham nada  Execução  Pai e filho executam concorrentemente  Pai aguarda até a conclusão da execuç ão do filho
  • 15. Criação de processos  Espaç o de endereç amento  O filho duplica o espaç o do pai  O filho tem um outro programa carregado em seu espaç o de endereç amento  Exemplos no UNIX  a chamada de sistema fork cria um novo processo  a chamada de sistema exec é utilizada apó s o fork para substituir o espaç o de memó ria do processo com um novo programa
  • 16. Programa em C criando um novo processo
  • 17. Encerramento de processos  Um processo executa a sua última instruç ão e solicita ao sistema operacional que o remova (exit)  Envio de dados da saída de um processo filho para o pai (via wait)  Os recursos utilizados pelo processo são desalocados  O pai pode finalizar a execuç ão de um processo filho (abort)  O filho excedeu o limite de recursos alocados  A tarefa atribuída ao filho não é mais necessária  O pai estásendo encerrado  Alguns SOs não permitem processos ó rfãos  Todos os filhos são finalizados: terminaç ão em cascata
  • 18. Processos cooperativos  Processos independentes não podem afetar ou serem afetados pela execuç ão de outros processos  Processos cooperativos podem afetar e serem afetados pela execuç ão de outros processos  Vantagens da utilizaç ão de processos cooperativos  Compartilhamento de informação  Velocidade de computação  Modularidade  Conveniência
  • 19. O problema do Produtor/Consumidor  Um paradigma para processos cooperativos  Processos produtores produzem informaç ão que é consumida por processos consumidores  Buffer-ilimitado não impõem nenhum limite prático ao tamanho do buffer  Buffer-limitado assume que háum tamanho fixo para o buffer
  • 20. Buffer limitado: solução com memória compartilhada
  • 23. Comunicação entre processos  Processos cooperativos precisam de mecanismos para comunicaç ão entre processos (IPC)  Dois modelos: Troca de mensagens x Memó ria compartilhada
  • 24. Troca de Mensagens  Processos se comunicam sem fazer uso de variáveis compartilhadas  O sistema de IPC oferece duas operações:  send(message)  receive(message)  Se P e Q desejam se comunicar, eles precisam:  estabelecer um canal de comunicaç ão entre si  trocar mensagens utilizando send/receive  Os canais de comunicação podem ser:  físicos (ex., região de memó ria compartilhada, barramento de hardware)  ló gicos
  • 25. Questões de implementação  Como os canais são estabelecidos?  Um canal pode ser associado a mais de dois processos?  Quantos canais de comunicaç ão podem ser estabelecidos entre todos os pares de processos em comunicaç ão?  Qual é a capacidade de um canal?  O tamanho da mensagem é fixo ou variável?  O canal é unidirecional ou bi-direcional?
  • 26. Comunicação Direta  Os processos precisam ser identificados explicitamente  send (P, message)  receive(Q, message)  Propriedades do canal de comunicaç ão  Estabelecimento automático  Um único canal exclusivo para cada par de processos  O canal pode ser unidirecional mas geralmente é bidirecional
  • 27. Comunicação Indireta  As mensagens são enviadas e recebidas de caixas de mensagens  Cada caixa de mensagem tem um identificador único  Processos só podem se comunicar se compartilharem uma mailbox  Propriedades do canal de comunicaç ão  Canal estabelecido se os processos compartilham uma mailbox  Um canal pode ser associado com vários processos  Cada par de processo pode compartilhar diversos canais de comunicação  Canais podem ser unidirecionais ou bidirecionais
  • 28. Comunicação Indireta  Operaç ões  criar uma nova mailbox  enviar e receber mensagens através de uma mailbox  destruir uma mailbox  Primitivas definidas como  send(A, message)  receive(A, message)
  • 29. Comunicação Indireta  Compartilhamento de mailbox  P1, P2, e P3 compartilham a mailbox A  P1, envia; P2 e P3 executam o receive ao mesmo tempo.  Quem ficou com a mensagem?  Soluç ões  Permitir que um link só possa ser associado a no máximo dois processos  Permitir que apenas um processo execute o receive em um dado instante  Permitir que o sistema escolha arbitrariamente o receptor e notificar o emissor da escolha.
  • 30. Sincronização  Troca de mensagens pode ser tanto bloqueante quanto não- bloqueante  Bloqueante é considerada síncrona  send bloqueante faz o emissor esperar até que a mensagem seja recebida  receive bloqueante faz o receptor esperar até que uma mensagem esteja disponível  Não-bloqueante é considerada asíncrona  send não-bloqueante faz o emissor enviar a mensagem e continuar sua execuç ão  receive não-bloqueante faz o receptor receber uma mensagem válida ou null
  • 31. Buffering  Fila de mensagens associada ao canal  Três opç ões de implementaç ão  Capacidade nula: emissor precisar aguardar pelo receptor (rendezvous)  Capacidade limitada: emissor precisar aguardar se o canal estiver cheio  Capacidade ilimitada: emissor nunca aguarda
  • 32. Comunicação em sistemas cliente- servidor  Sockets  Chamada remota de procedimentos (RPC)  Chamada remota de métodos (RMI - Java)
  • 33. Sockets  Um socket é definido como um ponto final para comunicaç ão  Concatenaç ão de endereç o IP e porta  O socket 161.25.19.8:1625 se refere a porta 1625 na máquina 161.25.19.8  A comunicaç ão se dápor meio de pares de sockets
  • 35. Chamada remota de procedimentos  Abstrai o conceito de chamada de procedimentos entre processos em um sistema conectado via rede  Stubs: proxies no lado cliente para o procedimento real no servidor  O stub no lado cliente localiza o servidor e empacota os parâmetros do procedimento  O stub no lado servidor desempacota os parâmetros e invoca a chamada localmente
  • 36. Invocação remota de métodos (RMI)  RMI é a soluç ão Java para RPC  Permite que um programa Java em uma JVM invoque um método em um objeto criado em uma outra JVM

Notas do Editor

  1. Está solução só consegue utilizar BUFFER_SIZE -1 posições do buffer e não trata problemas de sincronização