Infra-Estrutura de Software

Documentos relacionados
Infra-Estrutura de Software. Entrada / Saída

Infra-Estrutura de Software

Infra-Estrutura de Software

COMPUTAÇÃO DISTRIBUÍDA

COMPUTAÇÃO DISTRIBUÍDA

COMPUTAÇÃO DISTRIBUÍDA

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Capítulo 5 Entrada/Saída

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais. Sistema de entrada e Saída

Cap. 12 Gerência de Dispositivos 1

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Gerência de Entrada e Saída

Capítulo 5 Entrada/Saída

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

SSC0611 Arquitetura de Computadores

Dispositivos de Entrada e Saída

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Estruturas de Sistemas Operacionais

Dispositivos de Entrada e Saída

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída


Dispositivos de Entrada e Saída

Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas de Entrada e Saída

Gerência de Dispositivos. Adão de Melo Neto

Sistemas de Entrada e Saída

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Introdução aos Sistemas Operacionais

Sistemas Operacionais. Introdução a Sistemas Operacionais

Sistemas Operacionais

Organização de Computadores

Entrada e Saída e Dispositivos

Características de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Características de Sistemas Distribuídos

Aula 09. Módulos de Entrada e Saída

Organização e Arquitetura de Computadores I

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S

Sistemas Distribuídos

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Sistemas de Entrada e Saída

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

William Stallings Arquitetura e Organização de Computadores 8 a Edição

SISTEMAS OPERACIONAIS

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas

Problemas com Entrada e Saída

Sistemas de Objetos Distribuídos

Gerência de Dispositivos. Adão de Melo Neto

Barramento. Prof. Leonardo Barreto Campos 1

Organização de Computadores 1

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Sistemas Operacionais (SO)

Entrada e saída Introdução hardware de E/S

ENSINO À DISTÂNCIA UNIDADE IV

SSC0640 Sistemas Operacionais I

Entrada e Saída (E/S)

Parte I Multiprocessamento

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Sistemas Operacionais

Desenvolvimento de Aplicações Distribuídas

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Sistemas Operacionais

Sistemas Operacionais. Entrada/Saída

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Organização e Arquitetura de Computadores I

Sistemas Distribuídos

Sistemas Distribuídos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Distribuídos Aula 2

Fundamentos de Sistemas Operacionais

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

SSC510 Arquitetura de Computadores 1ª AULA

Capítulo 5 Entrada/Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

APOSTILA 1 - TUTORIA SISTEMAS OPERACIONAIS

Sistemas Operacionais Capítulo 5 Entrada/Saída

Aula 02. Evandro Deliberal

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Introdução a Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais Aula 3

ARQUITETURA DE COMPUTADORES

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Componentes do Sistema Operacional (Parte 1)

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Estrutura do Sistema Operacional

Componentes do Sistema Operacional (Parte 1)

Transcrição:

Infra-Estrutura de Software Entrada / Saída

2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06

Diversidade de dispositivos Hardware de E/S

E/S: Como a CPU acessa a informação? Espaço de endereçamento: conjunto de endereços de memória que o processador consegue acessar diretamente A forma de acessar os registradores (das interfaces) dos periféricos é definida no projeto do processador: Espaço único Dois espaços, um deles dedicado à E/S (isolada) E/S isolada Através de instruções especiais de E/S Especifica a leitura/escrita de dados numa porta de E/S E/S mapeada em memória Através de instruções de leitura/escrita na memória Híbrido (ex. IBM-PC): E/S mapeada em memória: memória de vídeo E/S isolada: dispositivos em geral

Espaços de Memória e E/S a) Espaços de memória e E/S separados - E/S isolada b) E/S mapeada na memória c) Híbrido

E/S mapeada na memória (a) Arquitetura com barramento único (b) Arquitetura com barramento duplo (dual)

Como o processador enxerga a memória e os demais dispositivos ou como o processador se comunica com o seu exterior O processador realiza operações como: Ler um dado da memória Escrever um dado na memória Receber (ler) um dado de dispositivos de E/S Enviar (escrever) dados para dispositivos de E/S Nas operações de acesso à memória, o processador escreve e lê dados, praticamente sem intermediários Nos acessos a dispositivos de E/S, existem circuitos intermediários, que são as interfaces

Acesso Direto à Memória (DMA) Operação de uma transferência com DMA

Revisitando interrupções Infra-estrutura de Software

Como a CPU sabe que o dispositivo já executou o comando? E/S Programada CPU lê constantemente o status do controlador e verifica se já acabou (Polling ou Busy-waiting) Desvantagem: Espera até o fim da operação E/S por Interrupção CPU é interrompida pelo módulo de E/S e ocorre transferência de dados CPU continua a executar outras operações Desvantagem: toda palavra lida do (ou escrita no) periférico passa pela CPU E/S por DMA - Acesso Direto à Memória Quando necessário, o controlador de E/S solicita ao controlador de DMA a transferência de dados de/para a memória Nesta fase de transferência não há envolvimento da CPU Ao fim da transferência, a CPU é interrompida e informada da transação [figura anterior]

Entrada/Saída ü Princípios do hardware de E/S Princípios do software de E/S Camadas do software de E/S Gerenciamento de energia

Objetivos da gerência de E/S Eficiência Uniformidade (desejável): Todos dispositivos enxergados da forma mais uniforme possível Esconder os detalhes (estes são tratados pelas camadas de mais baixo nível) Fornecer abstrações genéricas: read, write, open, close etc.

Princípios básicos do software de E/S Subsistema de E/S é complexo, dada a diversidade de periféricos Padronizar ao máximo para reduzir número de rotinas Novos dispositivos não alteram a visão do usuário em relação ao SO Organizado em camadas

Visão Geral do software de E/S Tratador de interrupção É acionado ao final da operação de transferência Aciona driver Driver de dispositivo Recebe requisições Configura (aciona) o controlador E/S independente de dispositivo Nomes e proteção bufferização E/S em nível de usuário Chamadas de E/S

Camadas do Software de E/S Processos HARDWARE SOFTWARE Operações de E/S Subsistema de E/S Device drivers Controladores Dispositivos Independente do dispositivo Dependente do dispositivo

Camadas do Software de E/S Processos Aplicação HARDWARE SOFTWARE Operações de E/S Subsistema de E/S Device drivers Controladores Dispositivos Comandos de E/S System Calls de E/S Dispositivos Linguagem de alto nível Sistema de arquivos

Tratador(es) de Interrupção As interrupções devem ser escondidas (transparentes) o máximo possível Para tanto: bloqueia o driver que iniciou uma operação de E/S rotina de tratamento de interrupção cumpre sua tarefa notifique que a E/S foi completada e então desbloqueia o driver que a chamou

Drivers dos Dispositivos Posição lógica dos drivers dos dispositivos A comunicação entre os drivers e os controladores de dispositivos é feita por meio do barramento

Software de E/S Independente de Dispositivo Funções do software de E/S independente de dipositivo Interface uniforme para os drivers dos dispositivos Armazenamento em buffer Relatório de erros Alocação e liberação de dispositivos dedicados Fornecimento de tamanho de bloco independente de dispositivo

Software de E/S do Espaço do Usuário Camadas do sistema de E/S e as principais funções de cada camada

Conclusões: princípios básicos do software de E/S Subsistema de E/S é complexo dada a diversidade de periféricos Padronizar ao máximo para reduzir número de rotinas Novos dispositivos não alteram a visão do usuário em relação ao SO Organizado em camadas

Para concluir... SISTEMAS DISTRIBUÍDOS

Tendências-chave O que move os Sistemas Distribuídos hoje? Pervasividade das redes Computação móvel e ubíqua Importância crescente de sistemas multimídia (distribuídos) Sistemas distribuídos como utilidade (serviço) Cloud Computing e seus modelos (IaaS, PaaS, SaaS) Principal motivação: compartilhamento de recursos

Sistemas multimídia distribuídos Sistema de recomendaçã o Sistema de bancos de dados Sistema de busca Sistema de autenticação Sistema de streaming MM

Conceito-chave Distribuição Comunicação Complexidade demandam Transparência Heterogeneidade

Infra-estruturas de software para Sistemas Distribuídos Sistemas Operacionais Distribuídos Sistemas Operacionais de Rede Middleware

Infra-estruturas para SDs: diferenças de objetivos e abstrações Infra-estrutura de Software Sistemas homogêneos Transparência de distribuição Alto desempenho Memória compartilhada Controle de concorrência Sistemas heterogêneos Pouca transparência Escalabilidade Comunicação Sistemas heterogêneos Transparência de distribuição e comunicação Serviços Abertura

Middleware Tradicional Message-Oriented Middleware (MOM) Transaction Processing Monitors (TPMON) Forte associação com acesso distribuído a BD Propriedades ACID Remote Procedure Calls (RPC) Object-Oriented Middleware (ORB,...)

// quase Java... class HelloWorld { // método local public void sayhello() { print("hello World!"); } // programa principal public static void main(string[] args) { new HelloWorld().sayHello(); } } public class HelloWorld { public HelloWorld ( String name ) { Naming.rebind( name, this ); } // método remoto public String sayhello () { return "Hello World!"; } } public class HelloWorldServer { public static void main(string[] args) { HelloWorld object = new HelloWorld( "Hello" ); } } public class HelloWorldClient { } public static void main(string[] args) { // conexão HelloWorld hello_server = (HelloWorld)Naming.lookup("rmi://hostB/Hello"); // chamada remota print( hello_server.sayhello() ); }

Chamada de Procedimentos Remotos Remote Procedure Call (RPC) Ideal: programar um sistema distribuído como se fosse centralizado RPC objetiva permitir chamada de procedimento remoto como se fosse local, ocultando entrada/saída de mensagens

RPC: processamento de interface Objetivo: integração dos mecanismos de RPC com os programas cliente e servidor escritos em uma linguagem de programação convencional Stubs (no cliente e no servidor): transparência de acesso tratamento de algumas exceções no local marshalling unmarshalling C S stub stub rede

Chamadas e mensagens em RPC Máquina do Cliente Máquina do Servidor 2 4 1 empacota 0 desempacota 5 parâmetros parâmetros cliente desempacota empacota 11 7 resultados resultados 10 8 6 servidor Kernel Kernel 3 9 transporte de mensagens via rede

RPC: ligação (antes da comunicação...) O mecanismo possui um binder para resolução de nomes, permitindo Ligação dinâmica Transparência de localização

Ligação Dinâmica e Nomes Nomes podem ser a solução, mas na realidade os endereços físicos é que são necessários... Daí, faz-se necessário mapear nomes em endereços... como serviço Geralmente, algum agente intermediário tem este papel específico de resolvedor de nomes Onde está B? Está em z. Está em t. B z A x SN y Um servidor de nomes t

Computação Distribuída Conclusões

Características marcantes Concorrência de componentes possibilidade de paralelismo Compartilhamento de recursos Componentes falham de forma independente falha parcial

Sistemas Distribuídos Muito mais do que comunicação entre processos É preciso abstrações (serviços) para, entre outros: Ligação (por nome, e não por endereço) Segurança Controle de transações distribuídas Sincronização de relógios É preciso ter infra-estrutura de software Middleware (ex. RPC, RMI) sobre SOR SOD (ex. Chorus)

2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06