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

Documentos relacionados
Sistemas Operacionais. Sistema de entrada e Saída

Entrada e Saída e Dispositivos

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

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

Sistemas de Entrada e Saída

Sistemas Operacionais. Entrada/Saída

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Gerência de Entrada e Saída

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

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

Sistemas de Entrada e Saída

Fundamentos de Sistemas Operacionais

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

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

CURSO TÉCNICO PROFISSIONALIZANTE Disciplina: Informática Básica (Hardware)

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

Capítulo 5 Entrada/Saída

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Sistemas Operacionais. Interrupção e Exceção

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

ENSINO À DISTÂNCIA UNIDADE IV

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

Sistemas Operacionais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

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

Sistemas de Entrada e Saída

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

Introdução a Tecnologia da Informação

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

COMPONENTES DE UM COMPUTADOR (tecnologia) Adão de Melo Neto

Organização de Computadores

Tópicos da aula. Histórico e Evolução dos Computadores. Noções Básicas de Arquitetura de Computadores

O Sistema de Computação

Barramento. Prof. Leonardo Barreto Campos 1

SO: Introdução e Estrutura. Sistemas Operacionais Flavio Figueiredo (

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

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

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Dispositivos de Entrada e Saída

4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e

Organização de Computadores I

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

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

Instalação e Manutenção de Computadores Sandra Silva

Dispositivos de Entrada e Saída

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

SSC0611 Arquitetura de Computadores

Arquitetura de Computadores

Organização de Computadores 1

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

AGT0001 Algoritmos Aula 01 O Computador

Problemas com 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

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

INFORMÁTICA BÁSICA AULA

Entrada. Saída. Entrada e Saída. Sistemas Operacionais

CURSO TÉCNICO EM REDES DE COMPUTADORES

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

AULA 2. Prof.: Jadiel Mestre. Introdução à Informática. Introdução à Informática Componentes de um Sistema de Informação

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Conjunto de fios paralelos que permitem a transmissão de dados, endereços e sinais de controle entre a UCP, memória e dispositivos de entrada e

Introdução aos Sistemas Operacionais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

Gerência de Memória Memória Virtual e Paginação

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

SSC510 Arquitetura de Computadores 1ª AULA

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

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

Sistemas operacionais

Barramentos. Alguns sistemas reutilizam linhas de barramento para múltiplas funções; Dados Endereços Controle

Dispositivos de Entrada e Saída

Elementos básicos de uma Arquitetura Computacional

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

1.3. CONCEITOS BÁSICOS DE INFORMÁTICA

SISTEMAS OPERACIONAIS

Transcrição:

Introdução hardware de E/S Carlos Gustavo A. da Rocha

Introdução Uma das principais funções dos SOs é controlar os dispositivos de E/S ligados ao computador O SO se comunica de fato com cada dispositivo, e oferece uma interface bem mais simples para os programadores Desta forma podemos utilizar o mesmo código para ler um arquivo de um disco rígido, DVD, pen-drive etc. Já para o SO, estas ações são completamente diferentes

Introdução O código referente a E/S representa a maior parte do sistema operacional Nela é que encontramos os conhecidos drives, que muitas vezes são desenvolvidos pelo fabricante do dispositivo, e não do SO Os drives podem ser inseridos e removidos do SO dinamicamente, e são sua maior fonte de instabilidade Logicamente, de forma semelhante a gerência de memória, a E/S engloba o funcionamento de hardware e software

Dispositivos de E/S A grosso modo, os dispositivos de E/S podem ser divididos em duas grandes classes Dispositivos de bloco: armazenam a informação em blocos de tamanho fixo, que podem ser endereçados As operações de E/S são na verdade a leitura ou escrita de um ou mais blocos (que possuem um endereço ) Exemplos: discos, CDs, cartões de memória etc

Dispositivos de E/S Dispositivos de caracter: recebem ou enviam um fluxo contínuo de caracteres durante o seu funcionamento Uma grande diferença é que os dados que chegam ou saem destes dispositivos não é endereçável Exemplos: teclados, mouses, impressoras, placas de rede etc

Dispositivos de E/S Esta classificação não é perfeita existindo dispositivos (como o relógio do computador) que não se enquadram em nenhuma das classes Contudo continua sendo a mais aceita O software (driver) que controla cada dispositivo deve lidar com todas as suas particularidades. Um exemplo é o volume de dados gerado, que pode ir de poucos bytes (ex: teclado) até centenas de Megabytes (ex: placas de rede) por segundo

Dispositivos de E/S Em diversas arquiteturas de computadores é comum a existência de controladores de dispositivos (IDE, SATA, USB etc) Isto possibilita aos fabricantes de SOs (pelo menos na teoria), que eles tenham que escrever drivers apenas para o controlador e não para cada dispositivo Por exemplo, o SO precisa ter apenas o driver para o controlador SATA da placa mãe (algumas dezenas de modelos), e não para cada disco rígido existente (alguns milhares de modelos)

E/S mapeada em memória Cada controlador ou dispositivo de E/S possui Um conjunto de registradores que controlam seu funcionamento By writing into these registers, the operating system can command the device to deliver data, accept data, switch itself on or off, or otherwise perform some action. By reading from these registers, the operating system can learn what the device's state is, whether it is prepared to accept a new command, and so on. E opcionalmente um buffer de dados no qual o sistema operacional pode ler ou escrever realizando a E/S em si

E/S mapeada em memória A E/S mapeada em memória mapeia os registradores e buffers dos dispositivos, de forma que eles podem ser lidos e escritos como se fossem parte da memória RAM A arquitetura IBM-PC sempre utilizou esta estratégia de E/S Portas de E/S (registratores): 0 a 64K Buffers de E/S: 640K a 1M Na prática, estes valores podem variar um pouco

E/S mapeada em memória Desta forma, na teoria, tudo que um driver de dispositivo que utiliza E/S mapeada precisa fazer, é ler e escrever valores nas regiões de memória que representam seus registradores e buffer de E/S Na prática eles têm que se lidar com uma série de outras coisas, como interrupções de hardware, temporizadores, latências, erros e sua correção, gerenciamento do uso de energia etc etc etc

E/S mapeada em memória Na arquitetura IBM-PC existe um dispositivo na placa mãe, chamado de PCI Bridge, por onde passam todas as solicitações de acesso à memoria É a PCI Bridge que irá direcionar os acessos para o local correto que pode ser a memória RAM real, registradores ou buffers dos dispositivos de E/S

E/S mapeada em memória Computadores Pentium e posteriores

E/S mapeada em memória A unidade de gerenciamento de memória, juntamente com a PCI bridge, impede o acesso às regiões de memória utilizadas por registradores e buffers de E/S aos processos de usuários Desta forma dispositivos só podem ser acessados pelo próprio SO, mais especificamente pelo seu driver

Acesso direto a memória (DMA) Fazer com que a CPU seja a responsável por requisitar todas as operações de E/S pode gerar um grande desperdício de tempo Quase todas as arquiteturas modernas possuem um dispositivo de hardware, conhecido como controlador de DMA, que funciona como segue 1. CPU programa o controlador de DMA informando o que deve ser transferido e para onde 2. O controlador de DMA solicita a leitura dos dados ao dispositivo

Acesso direto a memória (DMA) 3. A medida que os dados são lidos, eles são copiados para uma região predeterminada da memória 4. Ao concluir a leitura o dispositivo envia uma interrupção ao controlador de DMA, que é repassada para a CPU

Acesso direto a memória (DMA) Durante toda a operação de E/S por meio de DMA a CPU fica ocupada realizando outras atividades Controladores de DMA utilizados na prática permitem várias operações de E/S ao mesmo tempo, bem como a transferência de dados diretamente entre dois dispositivos (e não apenas entre um dispositivo e a memória)

Interrupções Em computadores IBM-PC sempre que um dispositivo de E/S finaliza uma leitura ou escrita ele gera uma interrupção Envio de um sinal pelo barramento da placa mãe Este sinal é detectado por um dispositivo da placa mãe chamado de tratador de interrupções O tratador de interrupções é que repassa a informação de que uma interrupção ocorreu para a CPU

Interrupções Quando toma conhecimento da ocorrência de uma interrupção, a CPU para o que estava fazendo e passa a executar uma rotina de tratamento da interrupção Um trecho do código do driver do dispositivo