A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais Distribuídos"— Transcrição da apresentação:

1 Sistemas Operacionais Distribuídos
Mecanismos de Linguagens e Threads Apresentado por: Júlio Cezar Estrella Wanderlei Pereira Alves Junior Orientação: Prof. Dr. Norian Marranghello

2 Tópicos Abordados Introdução: Classificação dos Sistemas Operacionais
Surgimento dos Sistemas Operacionais Distribuídos O que é um SO Distribuído? Threads Control Blocks Comparação entre ramificações e processos Custo de criação e de implementação de ramificações O modelo cliente/servidor Mecanismos de Sincronização Especificação de Atividades Concorrentes Sincronização e Comunicação entre processos Execução não determinística de processos

3 Tópicos Abordados Estruturas de programas Estruturas de dados
Estruturas de controle Sincronização de variáveis compartilhadas Semáforos Monitores Regiões críticas condicionais Path Expressions Sincronização por passagem de mensagens Chamada remota a procedimentos Ada Rendevouz Processos Concorrentes

4 Introdução Autonomia Centralizados, Distribuídos, Em Rede Autônomos
Classificação dos sistemas operacionais quanto ao grau de acoplamento: Centralizados, Distribuídos, Em Rede Autônomos Critérios de classificação: Autonomia Transparência Interoperabilidade

5 Introdução Avanços na tecnologia Redes de alta velocidade
O que fez surgir os primeiros sistemas distribuídos? Avanços na tecnologia Redes de alta velocidade Microprocessadores poderosos O que atrapalha o desenvolvimento dessa tecnologia? Software!

6 Sistemas Operacionais Distribuídos
Motivação: necessidade de compartilhar recursos e informações redução de custos de estações proliferação do uso de redes maturação das tecnologias de software

7 O que é um Sistema Operacional Distribuído
Vantagens de um sistema distribuído sobre um sistema centralizado: Melhor relação custo/benefício Facilidade de resolver problemas Maior escalabilidade Maior confiabiliade Vantagens sobre estações de trabalho independentes: Compartilhamento de dados e serviços Melhor comunicação pessoa-a-pessoa Flexibilidade

8 O que é um Sistema Operacional Distribuído
Desvantagens de um sistema distribuído Falta de software apropriado Falhas na rede de comunicação Necessidade de se tolerar faltas Segurança

9 O que é um Sistema Operacional Distribuído
4/21/2017 O que é um Sistema Operacional Distribuído Considerações para o projeto de um sistema operacional distribuído: Eficiência Robustez Flexibilidade Consistência Transparência Desempenho: Associado a possibilidade de migração dos dados na rede de comunicação

10 Threads O que são threads? Quais suas funcionalidades? Multithreads
Exemplo: Netscape com Hot Java

11 Comparação entre ramificações e processos
4/21/2017 Comparação entre ramificações e processos Diferenças Processos Possui 3 estados: PRONTO ATIVO BLOQUEADO Threads Inclui um quarto estado: CONCLUÍDO

12 Custo de criação e implementação de ramificações
Onde são implementados? Qual o custo de criação e implementação? Aplicações Processos servidores que prestam serviços à processos clientes Tipos de ramificações Estáticas Dinâmicas

13 Ramificações no servidor ou no núcleo
Onde deve ser implementada a ramificação? Quais as vantagens e desvantagens em cada um dos casos? Qual a importância no projeto de ramificações de fluxo de controle?

14 Algumas Aplicações Multithreads
Programação Reativa Programação Interativa Paralelismo físico/ distribuição

15 Ramificações em multiprocessadores
Como os threads são executados em multiprocessadores? Como fica o desempenho em sistemas multiprocessados?

16 Modelo Cliente-Servidor
Não baseado no estabelecimento de uma conexão Vantagens do modelo cliente-servidor Desvantagens do modelo cliente-servidor Primitivas de comunicação

17 Modelo Cliente-Servidor
Modelo mais usado para aplicações distribuídas não paralelas Um processo servidor está sempre a espera de comunicação O processo cliente tem a iniciativa de começar a comunicação, quando deseja algum serviço

18 Processos Concorrentes
Execução em paralelo Não implica em execução simultânea Casos de execução concorrente: Pseudo-Paralela Paralela Distribuída

19 Processos Concorrentes
Objetivos: Reduzir o tempo total de processamento Aumentar a confiabilidade e a disponibilidade Implementar aplicações distribuídas

20 Sincronização e Comunicação de Processos
Variáveis Compartilhadas: Semáforo Monitor Região Crítica Condicional Expressão de Caminho Passagem de Mensagem Processamento Seqüencial Concorrente Chamada a Procedimentos Remotos Rendezvous

21 Construções de Linguagens
Estrutura do programa Estrutura de dados Estrutura de controle Chamada a procedimentos e ao sistema

22 Semáforo É uma variável inteira positiva Primitivas: P V
Classificação: Semáforos binários Semáforos de contagem

23 Semáforo Primitivas: P(S) : se S > 0 então S:=S-1
senão Bloqueie o processo na fila do semáforo V(S) : se algum processo está bloqueado no semáforo S então desbloquear o processo senão S:=S+1

24 Monitor MONITORES Primitiva de alto nível
Conjunto de procedimentos variáveis e estruturas apenas 1 processo pode estar ativo dentro do monitor Variáveis de Condição, WAIT e SIGNAL

25 Regiões Críticas Condicionais
4/21/2017 Regiões Críticas Condicionais Versão estruturada de semáforos Região Crítica é expressa por region-begin-end Condição testada pelo atributo when

26 Expressão de Caminho Path 1:([read], write) end
1: número de atividades simultaneas nos parenteses Chaves: leitores podem ser concorrentes

27 Sincronização por Passagem de Mensagem
4/21/2017 Sincronização por Passagem de Mensagem Forma de comunicação em sistemas distribuídos Assíncrona send não bloqueia Síncrona send bloqueia

28 Chamada remota a procedimentos
Objetivo: Procedimentos em outras máquinas chamados como procedimentos locais Facilita implementação de aplicações cliente-servidor Esconde do programador detalhes de comunicação pela rede


Carregar ppt "Sistemas Operacionais Distribuídos"

Apresentações semelhantes


Anúncios Google