Sistemas Operacionais Distribuídos e/ou de Redes Engenharia da Computação – UCPEL Ritiele Moreira Aldeburg.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas Distribuídos
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
Noções de Sistemas Operacionais
Introdução aos Sistemas Distribuídos
Sistemas operacionais
Aula 21/09/2011 Courouris, Dollimore, cap 10
Sistemas Distribuídos:Definições e Caracteristicas
Sistemas Operacionais - 3
Sistemas Operacionais
Introdução Questões Básicas de Projeto Requisitos do Usuário
Computação Distribuída
Sistemas Operacionais
Avaliação de Sistemas Operacionais
Sistemas Operacionais
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Arquitetura de Sistemas Operacionais
Sistemas Operacionais de Rede
Threads.
Sistemas Distribuídos
Middleware e Sistemas Distribuídos
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos
Arquitetura Cliente /Servidor
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Estrutura de Redes
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
Universidade de Mogi das Cruzes Tec
SISTEMAS OPERACIONAIS I
SGBD Distribuído Lílian Simão Oliveira.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Processos.
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Operacionais
Zeque - Grad. CC1 Sistemas Operacionais Curso de Ciência da Computação da UFPE Prof. José Queiroz - ZEQUE.
Definição um sistema de BD distribuído consistem em uma rede de várias ocorrências de bases de dados interligadas. característica principal para o usuário,
Sistemas Distribuídos
Sistemas operacionais
Sistemas de Informação para Planejamento Estratégico Confiabilidade na Tecnologia.
Infra-Estrutura de Software
Sistemas Distribuídos
Infra-Estrutura para Computação Distribuída
Sistemas de Arquivos Paralelos Alternativas para a redução do gargalo no acesso ao sistema de arquivos Roberto Pires de Carvalho carvalho arroba ime ponto.
Sistemas Operacionais Aula 2 Danielle Costa
Estrutura de Interconexão
Tipos de Sistemas Operacionais
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Sistemas Operacionais Distribuídos
Arquitetura de computadores
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
TÉCNICAS DE ESTIMATIVAS
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Alunas: Ana Paula/ Beatriz / Gracielle / Márci Alunas: Ana Paula/ Beatriz / Gracielle / Márci a Professor Antônio.
Sistemas Distribuídos Wesley Lucas Breda 4ºP de SI e TADS.
Modelos de Sistema Prof. Dr. Norian Marranghello Grupo 6 Fábio Hitoshi Ide Gilson Watanabe.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

Sistemas Operacionais Distribuídos e/ou de Redes Engenharia da Computação – UCPEL Ritiele Moreira Aldeburg

Sistemas Distribuídos Definimos um sistema distribuído como sendo aquele no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordena suas ações apenas enviando mensagens entre si.

O Sistema distribuído assim então formado, em sua usabilidade, da a impressão de ser uma única maquina com um único sistema. Sistemas Distribuídos

Sistemas Distribuídos Vantagens Econômicas: aproveitar máquinas potencialmente ociosas; mais barato vários processadores interconectados do que um supercomputador; Distribuição inerente: algumas aplicações são distribuídas por natureza; Tolerância a falhas: em caso de falha de uma máquina, o sistema como um todo pode sobreviver, apresentando apenas uma degradação de desempenho;

Sistemas Distribuídos Vantagens Crescimento incremental: o poder computacional pode ser aumentado através da inclusão de novos equipamentos; Flexibilidade: sistemas distribuídos são mais flexíveis do que máquinas isoladas, por isso muitas vezes são utilizados até mesmo que não se esteja buscando desempenho. É essa flexibilidade que permite que vários usuários compartilhem dados e periféricos.

Sistemas Distribuídos Desvantagens Pouco software de alto nível disponível para sistemas distribuídos; Dificuldades para evitar acesso indevido (segurança); A rede de interconexão pode causar problemas ou não dar vazão a demanda.

Sistemas Distribuídos..:: Questões envolvendo seu Projeto ::..

Sistemas Distribuídos Transparência Localização: os usuários não sabem onde os recursos estão localizados; Migração: os recursos podem se mover sem alterar seus nomes; Replicação: os usuários não sabem quantas cópias de um recurso existem; Concorrência: múltiplos usuários podem compartilhar um recurso automaticamente; Paralelismo: atividades podem ocorrer em paralelo sem que o usuário saiba (falta muito ainda para ser atingido).

Sistemas Distribuídos Flexibilidade Para obter isso, hoje a tendência é construir S.O. baseados em um micro kernel (ao invés de um sistema monolítico com mais performance mas menos flexibilidade). Um microkernel implementa poucas funções, fornecendo em princípio quatro serviços básicos: Mecanismo de comunicação entre processos Algum tipo de gerência de memória Uma pequena parte do escalonamento e gerência de baixo nível de processos Estrada e saída de baixo nível

Sistemas Distribuídos Confiabilidade Na teoria, a ideia é que se alguma máquina parar de funcionar, alguma outra máquina pode pegar o trabalho dela. Na prática, existem alguns servidores em diferentes máquinas que precisam estar no ar para que o sistema como um todo funcione.

Sistemas Distribuídos Aspectos relacionados a confiabilidade Disponibilidade (availability): se refere a fração de tempo que o sistema está funcionando/usável. Pode-se melhorar a disponibilidade através de um projeto que não exija o funcionamento simultâneo de um número substancial de componentes críticos; ou, ainda, através de redundância, isto é, componentes chaves de hardware e software devem ser replicados, de modo que se um deles falhar, os outros estarão aptos a tomar conta da tarefa.

Sistemas Distribuídos Aspectos relacionados a confiabilidade Tolerância a falhas: o que fazer em caso de falha de um servidor? Em geral, sistemas distribuídos podem ser projetados para mascarar falhas, isto é, escondê- las do usuário. Por exemplo, um serviço de arquivos (ou outros serviços quaisquer) pode ser construído com um grupo de servidores cooperantes de tal modo que o usuário não perceba a perda de um ou mais servidores (a não ser, talvez, por perda de desempenho).

Sistemas Distribuídos Desempenho Todos os itens anteriores não devem ser atingidos sacrificando o desempenho. Quando rodar uma determinada aplicação em um sistema distribuído, ele não pode ser pior do que rodar a mesma aplicação em um único processador.

Sistemas Distribuídos Desempenho Métricas para medir desempenho: Tempo de resposta Throughput (número de tarefas / tempo) Utilização do sistema Quantidade consumida da capacidade da rede

Sistemas Distribuídos Desempenho Principal problema = Custo de Comunicação Para otimizar o desempenho, otimiza-se o número de mensagens. Porém, a melhor forma de obter desempenho é ter várias atividades rodando em paralelo em diferentes processadores, o que implica em enviar muitas mensagens.

Sistemas Distribuídos Desempenho Solução: considerar a granulosidade Tamanho do grão (grain size): tempo execução de uma tarefa (grão fino - fine-grain - e grão grosso -coarse grain); Executar tarefas pequenas remotamente não é válido porque o custo adicional (overhead) de comunicação não compensa o ganho de CPU; Executar tarefas que envolvam grandes computações (coarse- grained parallelism), baixas taxas de interações e poucos dados pode ser mais apropriado.

Sistemas Distribuídos Escalabilidade (Scalability) Os sistemas distribuídos precisariam se adaptar a possibilidade de termos ambientes com centenas ou milhares de processadores. Para isso, deve-se evitar: Componentes centralizados. Por exemplo, um único servidor de para todos os usuários. Tabelas centralizadas. Por exemplo, uma única relação on-line de telefones. Algoritmos centralizados. Por exemplo, roteamento de mensagens baseado em informações completas.

Sistemas Distribuídos Escalabilidade (Scalability) Deve-se usar algoritmos descentralizados, que possuem as seguintes características: Nenhuma máquina possui informações completas sobre o estado do sistema. Máquinas tomam decisões baseadas apenas nas informações disponíveis localmente. Falha de uma das máquinas não impede o funcionamento do algoritmo. Não há suposições implícitas de que existe um relógio global.

Sistemas Operacionais Distribuídos Sistemas distribuídos são como sistemas operacionais tradicionais mas possui determinadas características especificas: A tuam como gerentes de recursos, permitindo que múltiplos usuários ou aplicações compartilhem CPUs, memórias, periféricos, rede e dados; Tentam esconder a heterogeneidade e complexidade do hardware (remoto, principalmente) ao fornecer uma máquina virtual (software) onde aplicações podem ser executadas mais facilmente

Fortemente acoplados Tentam manter visão única e global dos recursos gerenciados Fracamente acoplados Coleção de computadores, cada um executando seu próprio sistema operacional No entanto, estes sistemas operacionais trabalham juntos para tornar os serviços e recursos de uns disponíveis aos outros Sistemas Operacionais Distribuídos

Sistemas operacionais fortemente acoplados Para sistemas (computadores e programas) distribuídos, geralmente, são chamados de sistemas operacionais distribuídos (SODs) – visão única e global dos recursos Sistemas operacionais fracamente acoplados São os sistemas operacionais de rede (SORs) – cada computador executando seu próprio SO, e vice- versa, um SO completo para cada computador Para melhor suporte à transparência de distribuição são necessários melhoramentos ou serviços adicionais aos serviços de SORs, principalmente; Estes adicionamentos levaram ao chamado middleware;

Sistemas Operacionais Distribuídos SistemaDescriçãoPrincipal objetivo SOD SO fortemente acoplado para multi- processadores e multicomputadores homogêneos Esconder e gerenciar recursos de hardware SOR SO fracamente acoplado para multicomputadores heterogêneos (LAN/WAN) Oferecer serviços locais para clientes remotos MiddlewareCamada adicional sobre um SORProver transparência de distribuição

Sistemas Operacionais Distribuídos Tipos Sistema operacional multi-processador ▫Gerencia recursos de um multiprocessador Sistema operacional multi-computador ▫Para multicomputadores homogêneos

Sistemas Operacionais Distribuídos Multi-processador Objetivo: alto desempenho através de múltiplos processadores – o número de CPUs deve ser transparente para a aplicação Suporte a múltiplos processadores com acesso a uma memória compartilhada Proteção contra acesso concorrente para garantir consistência, através de primitivas de sincronização o Semáforo o Monitor

Sistemas Operacionais Distribuídos Multi-computador Não há compartilhamento de memória, mas sim comunicação – comunicação confiável é um aspecto importante e complexo

Sistemas Operacionais de Rede Em SORs, serviços estão disponíveis em máquinas distintas.

Sistemas Operacionais de Rede Login remoto (rlogin) Cópia remota (rcp) o É preciso saber onde (máquinas) os arquivos se localizam... Pouca transparência!

Sistemas Operacionais Distribuídos K42 O que é o K42? kernel de sistema operacional para sistemas de multiprocessadores de 64­bits com cache coerente; Open source; Em constante evolução, incorporando mecanismos inovadores e técnicas de programação modernas

K42 Terceira geração da pesquisa de sistemas operacionais multiprocessados; Primeira geração: Hurricane OS ; Segunda geração: Tornado OS ; Desenvolvidos do zero especialmente para os multiprocessadores de memória compartilhada de hoje (NUMA). Sistemas Operacionais Distribuídos K42

Kernel ▫Gerenciamento de memória ▫Gerenciamento de processos ▫Infraestrutura de IPC ▫Escalonamento básico Sistemas Operacionais Distribuídos Estrutura do K42

System Servers Bibliotecas em nível de aplicação Evitar overhead de IPC Flexibilidade Sistemas Operacionais Distribuídos Estrutura do K42

Orientada a objetos ▫Toda comunicação entre processos é feita entre objetos Suporte à API do Linux ▫Através de uma camada de emulação que implementa chamadas ao sistema Linux chamando métodos em objetos K42. Sistemas Operacionais Distribuídos Estrutura do K42

Suporta as interfaces externas e internas e modelos de execução do Linux, para suportar suas aplicações e kernel Design feito para que o K42 seja facilmente portado para novos hardwares e depois melhorado para explorar features específicas do hardware utilizado Sistemas Operacionais Distribuídos Tecnologias do K42

K42 mantém boa performance através de um mecanismo IPC eficiente (com performance comparável a chamadas de sistema) memória compartilhada entre clientes, servers e kernel, diminuindo custos de comunicação K42 é totalmente preemptivo e a maior parte dos dados do kernel pode ser paginada – libera mais memória para aplicações Sistemas Operacionais Distribuídos Tecnologias do K42

K42 usa clocks sincronizados em diferentes processadores, permitindo que processos sejam executados simultaneamente por pequenos períodos; Deleção de objetos K42 acontece somente após todas as threads que estejam rodando no momento terminaramos de tempo em múltiplos processadores Sistemas Operacionais Distribuídos Tecnologias do K42

Bibliografia mo806/slides/distribuidos.pdfhttp:// mo806/slides/distribuidos.pdf 3o_distribu%C3%ADdahttps://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A 3o_distribu%C3%ADda minarios2002/so1.pdfhttp:// minarios2002/so1.pdf are/resuminho[1].pdfhttp:// are/resuminho[1].pdf Sistemas Operacionais Distribuídos e de Redes, Notas de Aula /1, Profa. Patrícia Kayser Vargas