1
SISTEMAS DISTRIBUÍDOS
SUPORTE DO SISTEMA OPERACIONAL
ARTHUR EMANUEL DE OLIVEIRA CAROSIA
2
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
3
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
4
CONTEXTUALIZAÇÃO
Classificação de Sistemas Distribuídos
Arquiteturas de Sistemas Distribuídos
Camada de Middleware
• Modelo Send/ Receive • RMI e RPC • Comunicação Indireta
Camada do Sistema Operacional (S.O.)
5
SISTEMA OPERACIONAL
“Um sistema operacional é um programa que age como intermediário entre o usuário do computador e o hardware. O propósito de um sistema operacional é prover um ambiente no qual um usuário possa executar programas de forma conveniente e eficiente.”
SILBERSCHATZ et al. Operating Systems Concept
6
SISTEMA OPERACIONAL
O S.O. provê meios para o uso apropriado dos recursos de hardware, software e dados durante a operação do sistema
computacional.
7
SERVIÇOS OFERECIDOS PELO S.O.
Os S.O.s, em geral, fornecem algumas classes comuns de serviços:
• Execução de programas:• carregar um programa na memória e executá-lo
• Operações de E/S;• envolver um arquivo ou um dispositivo de E/S
• Manipulação de sistemas de arquivos• ler e escrever em arquivos • Criar e remover arquivos
• Comunicação• permitir que um processo troque informações com
outro(s) processo(s)
8
SERVIÇOS OFERECIDOS PELO S.O.
• Detecção de Erros• Alocação de Recursos
• necessário quando há múltiplos usuários ou múltiplos processos
• Registro de usuários• manutenção do controle de quais usuários usam quanto e
quais recursos
computacionais
• Proteção • garantia de que todos os acessos aos recursos do sistema
sejam controlados
pelo S.O.
9
SISTEMAS OPERACIONAIS
As funções providas pelo S.O são então estruturadas em duas categorias:
• Serviços do sistema: funções de alto nível tal como são vistas pelas aplicações (visão para o usuário de uma máquina estendida);
• Kernel (núcleo): funções essenciais que são dependentes da arquitetura sob a qual o S.O vai executar (visão do administrador do sistema de um gerenciador de recursos).
10
SISTEMAS OPERACIONAIS
11
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
12
CAMADA DO S.O.• Sistema Distribuído = Compartilhamento de Recursos.
• Recursos distribuídos em múltiplos nós físicos.
• Aplicativos utilizam middleware para viabilizar a interação entre recursos.
• Middleware se relaciona com o sistema operacional para realizar as tarefas que os serviços e aplicativos requisitam.
13
PAPEL DO S.O.
Prover abstrações dos recursos da camada física
• Processadores • Memória • Rede • Armazenamento (hard-disk, etc)
Exemplos
• Arquivos versus blocos de disco • Soquetes versus acesso direto à rede • S.O. gerencia recursos físicos através de interfaces
denominadas “chamadas de sistema”
14
S.O. CENTRALIZADO
Nessa classe de sistemas operacionais, a comunicação e compartilhamento de recursos é feita via memória compartilhada ou interrupções.
Como características principais destaca-se:
• Sistema altamente acoplado, com todos os recursos compartilhados internamente;
• Comunicação entre processos via memória compartilhada.
15
S.O. DE REDE
UNIX, Windows, Mac OS, Linux… são sistemas operacionais
de rede
• Possuem acesso a recursos remotos • Clientes podem executar processos em outros nós • Cada nó tem controle sobre sua área de memória e
processador • Cada nó possui uma imagem própria do sistema • Usuários normalmente estão a par da localização dos
seus arquivos e movem eles através de transferências explícitas;
• Sistema possui pouco ou nenhum recurso de tolerância a falhas.
16
S.O. DISTRIBUÍDO
A implementação de um sistema verdadeiramente distribuído tem como objetivo a obtenção de um conjunto de máquinas ligadas em rede que funcionem como um uniprocessador virtual.
Características
• Única imagem para todos os nós • Um SO controla todos os nós, seu processamento e
memória.• O uso de múltiplos processadores deve ser invisível
para o usuário.• O usuário vê o sistema como um uniprocessador
virtual, não como uma coleção de máquinas distintas conectadas.
17
S.O. DISTRIBUÍDO
O SO Distribuído deve:
• Controlar a alocação de recursos da rede para permitir seu uso no modo mais eficiente.
• Prover ao usuário com um computador virtual conveniente que serve como um ambiente de programação de alto nível.
• Esconder a distribuição dos recursos.• Prover mecanismos para proteção dos recursos do
sistema contra acesso por usuários não autorizados.• Prover comunicação segura.
18
S.O. DISTRIBUÍDOS.O. DE REDE
19
CARACTERÍSTICAS DOS S.O.
20
A CAMADA DO S.O.
Middleware pode ser executado sobre vários hardwares e sistemas operacionais diferentes
O par SO-Hardware = Plataforma
Responsabilidades do núcleo do SO e dos processos
• Encapsulamento • Proteção • Processamento concorrente
• Comunicação • Escalonamento
21
A CAMADA DO S.O.
22
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
23
RESPONSABILIDADE DO NÚCLEO
Proteção
• Recursos da máquina exigem proteção contra acesso ilegítimo
• Ameaças • Código malicioso • Código bem intencionado, porém mal feito
• Exemplo • Acesso indevido a arquivos, solução: criptografia
24
RESPONSABILIDADE DO NÚCLEO
Proteção
• Código executado com privilégio total sobre os recursos lógicos e de máquina
• Controla processador, memória, registradores, etc. de forma que nenhum acesso ocorra de forma diferente do “aceitável”
• Modo supervisor versus modo usuário
25
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
26
PROCESSOS E THREADSProcesso = ambiente de execução com uma ou mais threads
Processo
• Espaço de endereçamento • Comunicação e sincronização entre threads (semáforos, etc) • Recursos de alto nível: janelas, arquivos, etc
Ambiente de execução é um domínio de proteção criado pelo sistema operacional para compartilhamento de recursos entre várias threads
Ambiente de execução (ou processo) fornece proteção contra threads que estão fora dele
27
PROCESSOS E THREADS
28
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
29
RESPONSABILIDADES DO NÚCLEO
Comunicação e Invocação
• Invocação • Realizar chamada de sistema • Enviar uma mensagem a um objeto • Chamar procedimento ou método • Chamar procedimento ou método remoto
• Invocação Remota • executar uma operação sobre um recurso em um
espaçamento de memória diferente de quem executa o pedido.
30
RESPONSABILIDADES DO NÚCLEO
Comunicação e Invocação
• Cada invocação implica em execução fora do escopo do procedimento
• Problemas • Quais primitivas de comunicação são fornecidas pelo SO • Quais protocolos são suportados pelo SO e qual sua
abertura
31
COMUNICAÇÃO E INVOCAÇÃO
Primitivas de Comunicação
• Sistema Amoeba (S.O. distribuído)• Fornece diretivas como doOperation, getRequest,
sendReply diretamente como parte do núcleo do SO
• UNIX e família Windows • fornecem maior parte do middleware executando em modo
usuário e não como parte do núcleo. • Chamadas são realizadas via soquete através de TCP e
UDP
32
COMUNICAÇÃO E INVOCAÇÃO
Primitivas de Comunicação
• Vantagens de diretivas no núcleo• rapidez• eficiência• menos operações
• Desvantagens de diretivas no núcleo• muito complexo para implementar• inviabiliza portabilidade do middleware
33
COMUNICAÇÃO E INVOCAÇÃO
Protocolos e abertura
• SO deve fornecer protocolos padrão para interligação de recursos através de implementações de middleware em diferentes plataformas
• Exigido compatibilidade com padrão TCP e UDP
• Protocolos são organizados como pilhas de camadas
• Muitos SO’s permitem que se adicione novos protocolos dinamicamente
34
CUSTO DE INVOCAÇÃO
Desempenho
• Fator crítico em projetos de SD
• Maior abstração• mais chamadas remotas e trocas de mensagens
• Tempo de invocação não tem diminuído na proporção do aumento da largura e disponibilidade de rede
• Custo de invocação • Passagem de parâmetros • Retorno de valores • Sincronismo (send/receive bloqueantes)
35
CUSTO DE INVOCAÇÃO
36
CUSTO DE INVOCAÇÃO
Invocação via Rede
• RPC/RMI nula – chamada/invocação sem parâmetros de entrada e sem retorno
• Cenário • Dois processos, dois computadores de 500 MHz, rede de
100 Megabits/s • RPC/RMI – dura na ordem de décimos de milisegundos • Uma chamada convencional demora uma fração de
microsegundo
• Grande parte do atraso • Ações do núcleo do sistema operacional • Execução do código no objeto remoto
37
CUSTO DE INVOCAÇÃO
Invocação via Rede
• Custos de invocação de RPC/RMI nula mede a latência
• Custos aumentam com o tamanho e a quantidade dos argumentos e resultados
• Cenário de exemplo • RPC que solicita dados a um servidor • Um argumento de entrada (numérico) • Dois argumentos de saída (numérico / array de bytes)
38
CUSTO DE INVOCAÇÃO
39
CUSTO DE INVOCAÇÃO Invocação via Rede
• Responsáveis pelo atraso em uma RMI (além da transmissão) • Empacotamento • Cópia de dados
• Entre usuário e núcleo do SO • Entre cada camada do protocolo (RPC/TCP/IP/Ethernet) • Entre a rede e os buffers do SO no destino
• Inicialização de pacotes
• Escalonamento de Threads
• Espera por confirmações
40
ROTEIRO
Introdução
Camada do SO
Proteção
Processos e Threads
Custos de Invocação
Arquitetura de SO
41
ARQUITETURAS DE S.O.
Kernel Monolítico
Os Sistemas Operacionais que possuem Kernels Monolíticos têm tudo construído neles desde o início. Isso significa que eles são totalmente auto-suficientes, mas também maiores e um pouco mais lentos.
• Executam cada serviço básico do sistema espaço do kernel:• Gerenciamento de memória.• Manipulação de interrupções e comunicação I/O.• Sistemas de arquivos.
• Inconvenientes: • Tamanho do kernel.• Falta de extensibilidade.• Manutenibilidade ruim.
42
ARQUITETURAS DE S.O.
Microkernel
Microkernels adicionam ganchos para manipulação de módulos externos. Como resultado, eles são bastante compactos por si só e são bastante rápidos em funções embutidas.
• Reduzem o kernel a comunicações de processos básicos e controle de I/O, e deixam os outros serviços de sistemas situados no user-space em forma de processos.
• Garantem maior flexibilidade.• Inconvenientes:
• Módulos infectados,Trojan modules, apresentam um grande risco de segurança
43
ARQUITETURAS DE S.O.
Núcleo Monolítico versus Micro-núcleo
44
SISTEMAS DISTRIBUÍDOS
SUPORTE DO SISTEMA OPERACIONAL
ARTHUR EMANUEL DE OLIVEIRA CAROSIA
Top Related