sistemas operacionais distribuídos apresentado por: júlio cezar estrella júlio cezar estrella...
TRANSCRIPT
![Page 1: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/1.jpg)
Sistemas Operacionais Distribuídos
Apresentado por:Apresentado por: Júlio Cezar EstrellaJúlio Cezar Estrella Wanderlei Pereira Alves JuniorWanderlei Pereira Alves Junior
Orientação:Orientação: Prof. Dr. Norian MarranghelloProf. Dr. Norian Marranghello
Mecanismos de Linguagens Mecanismos de Linguagens e Threadse Threads
![Page 2: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/2.jpg)
Tópicos Abordados Introdução: Classificação dos Sistemas OperacionaisIntrodução: Classificação dos Sistemas Operacionais Surgimento dos Sistemas Operacionais DistribuídosSurgimento dos Sistemas Operacionais Distribuídos O que é um SO Distribuído?O que é um SO Distribuído? Threads Control BlocksThreads Control Blocks Comparação entre ramificações e processosComparação entre ramificações e processos Custo de criação e de implementação de ramificaçõesCusto de criação e de implementação de ramificações O modelo cliente/servidorO modelo cliente/servidor Mecanismos de SincronizaçãoMecanismos de Sincronização Especificação de Atividades ConcorrentesEspecificação de Atividades Concorrentes Sincronização e Comunicação entre processosSincronização e Comunicação entre processos Execução não determinística de processosExecução não determinística de processos
![Page 3: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/3.jpg)
Tópicos Abordados Estruturas de programasEstruturas de programas Estruturas de dadosEstruturas de dados Estruturas de controleEstruturas de controle Sincronização de variáveis compartilhadasSincronização de variáveis compartilhadas SemáforosSemáforos MonitoresMonitores Regiões críticas condicionaisRegiões críticas condicionais Path ExpressionsPath Expressions Sincronização por passagem de mensagensSincronização por passagem de mensagens Chamada remota a procedimentosChamada remota a procedimentos Ada RendevouzAda Rendevouz Processos ConcorrentesProcessos Concorrentes
![Page 4: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/4.jpg)
Introdução Classificação dos sistemas operacionais quanto ao Classificação dos sistemas operacionais quanto ao
grau de acoplamentograu de acoplamento:
– Centralizados,Centralizados, – Distribuídos, Distribuídos, – Em Rede Em Rede – AutônomosAutônomos
Critérios de classificação:Critérios de classificação:
AutonomiaAutonomia Transparência Transparência
InteroperabilidadeInteroperabilidade
![Page 5: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/5.jpg)
Introdução O que fez surgir os primeiros sistemas distribuídosO que fez surgir os primeiros sistemas distribuídos?
Avanços na tecnologiaAvanços na tecnologia Redes de alta velocidadeRedes de alta velocidade
Microprocessadores poderososMicroprocessadores poderosos
O que atrapalha o desenvolvimento dessa tecnologia?O que atrapalha o desenvolvimento dessa tecnologia?
Software!Software!
![Page 6: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/6.jpg)
Sistemas Operacionais Distribuídos
Motivação:Motivação:
necessidade de compartilhar recursos e informaçõesnecessidade de compartilhar recursos e informações
redução de custos de estaçõesredução de custos de estações
proliferação do uso de redesproliferação do uso de redes
maturação das tecnologias de softwarematuração das tecnologias de software
![Page 7: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/7.jpg)
O que é um Sistema Operacional Distribuído
Vantagens de um sistema distribuído sobre um sistema Vantagens de um sistema distribuído sobre um sistema centralizadocentralizado:
Melhor relação custo/benefícioMelhor relação custo/benefício Facilidade de resolver problemasFacilidade de resolver problemas Maior escalabilidadeMaior escalabilidade Maior confiabiliadeMaior confiabiliade
Vantagens sobre estações de trabalho independentes:Vantagens sobre estações de trabalho independentes:
Compartilhamento de dados e serviçosCompartilhamento de dados e serviços Melhor comunicação pessoa-a-pessoaMelhor comunicação pessoa-a-pessoa FlexibilidadeFlexibilidade
![Page 8: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/8.jpg)
O que é um Sistema Operacional Distribuído
Desvantagens de um sistema distribuídoDesvantagens de um sistema distribuído
Falta de software apropriadoFalta de software apropriado
Falhas na rede de comunicaçãoFalhas na rede de comunicação
Necessidade de se tolerar faltasNecessidade de se tolerar faltas
SegurançaSegurança
![Page 9: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/9.jpg)
O que é um Sistema Operacional Distribuído
Considerações para o projeto de um sistema Considerações para o projeto de um sistema operacional distribuído:operacional distribuído:
EficiênciaEficiência Robustez Robustez
FlexibilidadeFlexibilidade ConsistênciaConsistência
TransparênciaTransparência
DesempenhoDesempenho:: Associado a possibilidade de migração Associado a possibilidade de migração dos dados na rede de comunicaçãodos dados na rede de comunicação
![Page 10: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/10.jpg)
Threads O que são threads?O que são threads?
Quais suas funcionalidades?Quais suas funcionalidades?
MultithreadsMultithreads
Exemplo:Exemplo: Netscape com Hot Java
![Page 11: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/11.jpg)
Comparação entre ramificações e processos DiferençasDiferenças Processos Processos Possui 3 estados:Possui 3 estados:
PRONTOPRONTO ATIVOATIVO BLOQUEADOBLOQUEADO
ThreadsThreads Inclui um quarto estado:
CONCLUÍDOCONCLUÍDO
![Page 12: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/12.jpg)
Custo de criação e implementação de
ramificações Onde são implementados?Onde são implementados?
Qual o custo de criação e implementação?Qual o custo de criação e implementação?
AplicaçõesAplicações
Processos servidores que prestam serviços à Processos servidores que prestam serviços à processos clientesprocessos clientes
Tipos de ramificaçõesTipos de ramificações
Estáticas Estáticas DinâmicasDinâmicas
![Page 13: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/13.jpg)
Ramificações no servidor ou no núcleo
Onde deve ser implementada a ramificação?Onde deve ser implementada a ramificação?
Quais as vantagens e desvantagens em cada um dos Quais as vantagens e desvantagens em cada um dos casos?casos?
Qual a importância no projeto de ramificações de fluxo Qual a importância no projeto de ramificações de fluxo de controle?de controle?
![Page 14: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/14.jpg)
Algumas Aplicações Multithreads
Programação Reativa Programação Reativa
Programação Interativa Programação Interativa
Paralelismo físico/ distribuiçãoParalelismo físico/ distribuição
![Page 15: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/15.jpg)
Ramificações em multiprocessadores
Como os threads são executados em multiprocessadores?
Como fica o desempenho em sistemas multiprocessados?
![Page 16: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/16.jpg)
Modelo Cliente-Servidor
Não baseado no estabelecimento de uma conexãoNão baseado no estabelecimento de uma conexão
Vantagens do modelo cliente-servidorVantagens do modelo cliente-servidor
Desvantagens do modelo cliente-servidorDesvantagens do modelo cliente-servidor
Primitivas de comunicaçãoPrimitivas de comunicação
![Page 17: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/17.jpg)
Modelo Cliente-Servidor Modelo mais usado para aplicações Modelo mais usado para aplicações
distribuídas não paralelasdistribuídas não paralelas
Um processo servidor está sempre a espera Um processo servidor está sempre a espera de comunicaçãode comunicação
O processo cliente tem a iniciativa de começar O processo cliente tem a iniciativa de começar a comunicação, quando deseja algum serviçoa comunicação, quando deseja algum serviço
![Page 18: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/18.jpg)
Processos Concorrentes Execução em paraleloExecução em paralelo
Não implica em execução simultâneaNão implica em execução simultânea
Casos de execução concorrente:Casos de execução concorrente:
Pseudo-ParalelaPseudo-Paralela
ParalelaParalela
DistribuídaDistribuída
![Page 19: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/19.jpg)
Processos Concorrentes Objetivos:Objetivos:
Reduzir o tempo total de processamentoReduzir o tempo total de processamento
Aumentar a confiabilidade e a disponibilidadeAumentar a confiabilidade e a disponibilidade
Implementar aplicações distribuídasImplementar aplicações distribuídas
![Page 20: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/20.jpg)
Sincronização e Comunicação de
Processos Variáveis Compartilhadas:Variáveis Compartilhadas:
SemáforoSemáforo MonitorMonitor Região Crítica CondicionalRegião Crítica Condicional Expressão de CaminhoExpressão de Caminho
Passagem de MensagemPassagem de Mensagem Processamento Seqüencial ConcorrenteProcessamento Seqüencial Concorrente Chamada a Procedimentos RemotosChamada a Procedimentos Remotos RendezvousRendezvous
![Page 21: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/21.jpg)
Construções de Linguagens
Estrutura do programaEstrutura do programa
Estrutura de dadosEstrutura de dados
Estrutura de controleEstrutura de controle
Chamada a procedimentos e ao sistemaChamada a procedimentos e ao sistema
![Page 22: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/22.jpg)
Semáforo É uma variável inteira positivaÉ uma variável inteira positiva
Primitivas:Primitivas: PP VV
Classificação:Classificação: Semáforos bináriosSemáforos binários Semáforos de contagemSemáforos de contagem
![Page 23: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/23.jpg)
Semáforo
Primitivas:Primitivas:
P(S) : se S > 0 então S:=S-1P(S) : se S > 0 então S:=S-1
senão Bloqueie o processo na fila senão Bloqueie o processo na fila do semáforodo semáforo
V(S) : se algum processo está bloqueado V(S) : se algum processo está bloqueado no semáforo S no semáforo S
então desbloquear o processoentão desbloquear o processo
senão S:=S+1senão S:=S+1
![Page 24: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/24.jpg)
Monitor MONITORESMONITORES Primitiva de alto nívelPrimitiva de alto nível
Conjunto de procedimentos variáveis e estruturasConjunto de procedimentos variáveis e estruturas
apenas 1 processo pode estar ativo dentro do monitorapenas 1 processo pode estar ativo dentro do monitor
Variáveis de Condição, WAIT e SIGNALVariáveis de Condição, WAIT e SIGNAL
![Page 25: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/25.jpg)
Regiões Críticas Condicionais
Versão estruturada de semáforosVersão estruturada de semáforos
Região Crítica é expressa por region-begin-endRegião Crítica é expressa por region-begin-end
Condição testada pelo atributo Condição testada pelo atributo whenwhen
![Page 26: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/26.jpg)
Expressão de Caminho
Path 1:([read], write) end
1: número de atividades simultaneas nos parenteses
Chaves: leitores podem ser concorrentes
![Page 27: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/27.jpg)
Sincronização por Passagem de Mensagem
Forma de comunicação em sistemas distribuídosForma de comunicação em sistemas distribuídos
AssíncronaAssíncrona
send não bloqueiasend não bloqueia
SíncronaSíncrona
send bloqueiasend bloqueia
![Page 28: Sistemas Operacionais Distribuídos Apresentado por: Júlio Cezar Estrella Júlio Cezar Estrella Wanderlei Pereira Alves Junior Wanderlei Pereira Alves Junior](https://reader030.vdocuments.site/reader030/viewer/2022033100/570638591a28abb8238fd2eb/html5/thumbnails/28.jpg)
Chamada remota a procedimentos
Objetivo: Procedimentos em outras máquinas Objetivo: Procedimentos em outras máquinas chamados como procedimentos locaischamados como procedimentos locais
Facilita implementação de aplicações cliente-servidorFacilita implementação de aplicações cliente-servidor
Esconde do programador detalhes de comunicação Esconde do programador detalhes de comunicação pela redepela rede