Sistemas Operacionais



Documentos relacionados
Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Arquitetura de Computadores. Tipos de Instruções

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

ARQUITETURA DE COMPUTADORES

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Visão Geral de Sistemas Operacionais

5 Entrada e Saída de Dados:

6 - Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos

Organização e Arquitetura de Computadores

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Gerência de Entrada/Saída

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

Dispositivos de Entrada e Saída

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Arquitetura e Organização de Computadores I

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Estruturas do Sistema de Computação

ENTRADA E SAÍDA DE DADOS

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Sistemas Operacionais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Mecanismo de Interrupção

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Introdução aos Computadores

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Arquitetura e Organização de Computadores

Sistemas Operacionais

BARRAMENTO DO SISTEMA

Estrutura de um Computador

Organização de Computadores 1

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Processos e Threads (partes I e II)

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

INFORMÁTICA - BICT (noturno)

3. Arquitetura Básica do Computador

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Organização de Computadores. (Aula 5) Entrada/Saída

Fundamentos em Informática

Entrada e Saída (Input/Output I/O) Organização de Computadores (Aula 5) Entrada/Saída. Diferentes Tipos de Dispositivos (1)

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

28/9/2010. Unidade de Controle Funcionamento e Implementação

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Introdução à Organização de Computadores Entrada e Saída. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Tipos de sistemas operacionais

Arquitetura de Computadores - Revisão -

SW DE E/S INDEPENDENTE DE DISPOSITIVO

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES DISPOSITIVOS DE ENTRADA E SAÍDA. Prof. Dr. Daniel Caetano

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

SISTEMAS OPERACIONAIS 2007

Curso Técnico de Nível Médio

Introdução à Arquitetura de Computadores

Informática I. Aula 4. Aula 4-11/09/2006 1

Arquitetura de Computadores. Professor: Vilson Heck Junior

Conceitos de Entrada e Saída

ARQUITETURA DE COMPUTADORES

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Introdução aos Sistemas

Arquitetura de Computadores Arquitetura de entrada e saída

Everson Scherrer Borges João Paulo de Brito Gonçalves

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Figura 1 - O computador

Memórias Prof. Galvez Gonçalves

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

SISTEMAS INFORMÁTICOS

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

7 Processos. 7.1 Introdução

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Dispositivos de Memória

Arquitetura de Computadores II

Prof. Sandrina Correia

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

1. CAPÍTULO COMPUTADORES

LÓGICA DE PROGRAMAÇÃO

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Componentes de um Sistema de Computador

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

1.2 Tipos de Sistemas Operacionais

Transcrição:

Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções Acesso Direto à Memória 2 Sistemas Operacionais -Entrada e Saída

Visão Geral Dispositivos podem variar de diversas maneiras: Transf. por caractere (terminal) ou por bloco deles () O acesso aos dados armazenados pode ser seqüencial (modem) ou aleatório (CD-ROM) Os dados podem ser transferidos de forma síncrona (fita) ou assíncrona (teclado) Os dispositivos podem ser restritos a um único processo (fi-ta) ou compartilhados simultaneamente por vários (teclado) O acesso pode ser apenas para leitura (CD-ROM), apenas para escrita (CRT) ou para leitura e escrita () A velocidade de acesso pode variar muito (freqüentemente, estes dispositivos são os mais lentos de um sistema computacional) 3 Sistemas Operacionais -Entrada e Saída Principais objetivos: Visão Geral estabelecer uma interface que seja a mais simples possível para que as aplicações possam controlar as distintas características dos dispositivos de entrada/saída otimizar a entrada/saída para obtenção de um maior paralelismo, tendo em vista que tais dispositivos são em geral componentes críticos para o desempenho Enfim, Controlar todos os dispositivos de entrada/saída (E/S) do computador, emitindo comandos para os dispositivos, atendendo interrupções e manipulando erros. 4 Sistemas Operacionais -Entrada e Saída

Visão Geral Estruturação em camadas de HW e SW, a fim de prover uma interface simples e confiável para o usuário e suas aplicações. Desta forma, as camadas inferiores escondem das superiores os diversos detalhes (características) de cada periférico e suas diferenças (velocidade de operação, unidade de transferência, representação de dados, tipos de operação etc). 5 Sistemas Operacionais -Entrada e Saída Visão Geral Processos Software Hardware Operações de E/S Subsistema de E/S Device Drivers Manipuladores de Interrupção Controladores Dispositivos Independente do dispositivo Dependente do dispositivo 6 Sistemas Operacionais -Entrada e Saída

Dispositivos de E/S Responsáveis pela comunicação entre o computador e o mundo externo. Muitos tipos de dispositivos são usados em computadores, como: dispositivos de armazenamento (s, fitas) dispositivos de transmissão (placas de rede, modems) dispositivos de interface com usuários (tela, teclado, mouse) A transferência de dados, realizada por intermédio dos controladores, pode ser através de blocos de informações ou palavra a palavra. 7 Sistemas Operacionais -Entrada e Saída São classificados em: Dispositivos de E/S Dispositivos de blocos: armazenam informações em blocos de tamanho fixo (normalmente entre 128 e 4096 bytes) cada bloco possui seu próprio endereço é possível ler ou escrever cada bloco independentemente (acessando o bloco pelo seu endereço) Podem ser: Acesso Direto: p. ex., magnético Acesso Seqüencial: p. ex., fita magnética 8 Sistemas Operacionais -Entrada e Saída

Dispositivos de E/S Dispositivos de caracteres: enviam ou recebem uma seqüência de caracteres sem estar estruturada no formato de blocos seqüência de caracteres não é endereçável (não são possíveis operações de acesso aos dados) Exemplos: terminais, impressoras, interfaces de rede e leitoras óticas Existem exceções: p. ex., relógios (não são endereçáveis e nem geram ou aceitam filas de caracteres): tudo o que fazem é gerar interrupções em intervalos de tempo regulares 9 Sistemas Operacionais -Entrada e Saída Dispositivos de E/S A comunicação de um dispositivo com o sistema computacional é feita através do envio de sinais (cabo ou ar) num ponto de conexão chamado de porta. O meio usado por um ou mais dispositivos para conexão com o computador é chamado de barramento. Para cada barramento, é definido um protocolo que especifica um conjunto de mensagens que podem ser enviadas pelos fios. 10 Sistemas Operacionais -Entrada e Saída

Estrutura Típica do Barramento de um PC monitor Controlador de terminal gráfico processador Controlador de memória memória cache memória barramento SCSI Controlador SCSI Barramento PCI Controlador de IDE Interface do barramento de expansão teclado barramento de expansão porta paralela porta serial 11 Sistemas Operacionais -Entrada e Saída Unidades de E/S consistem tipicamente de Componentes mecânicos (o dispositivo propriamente dito) Componentes eletrônicos (o controlador) Tal diferença deve ser ressaltada, uma vez que o SO vê o controlador e não o dispositivo Normalmente, mini e microcomputadores usam um barramento único para comunicação entre CPU e os controladores (através de device drivers) Mainframes freqüentemente usam um modelo diferente, no qual múltiplos barramentos e computadores especializados de E/S (canais de E/S) aliviam parte da carga da CPU 12 Sistemas Operacionais -Entrada e Saída

Como o processador envia comandos e dados a um controlador para que seja feita uma transf. de dados? O controlador possui memória e registradores próprios para armazenar dados e sinais de controle, de forma a executar instruções enviadas pelo device driver O SO realiza E/S, escrevendo comandos e seus parâmetros nestes registradores dos controladores. As instruções de E/S especiais podem ser usadas para especificar a transferência de um byte ou palavra para uma porta de E/S, que tem um determinado endereço A instrução de E/S faz com que o dispositivo apropriado seja selecionado de acordo com o sinal transmitido no barramento e que os bits sejam então transferidos para um registrador ou a partir de um registrador do disp. 13 Sistemas Operacionais -Entrada e Saída Uma alternativa à operação de E/S, é que o controlador forneça suporte à E/S mapeada em memória. Nesse caso, os registradores do controlador correspondem à determinados endereços no espaço de endereçamento do processador. As operações de E/S são, então, executas usando-se instruções normais de transferência de dados, que correspondem a ler ou escrever valores nos registradores do dispositivo. Alguns sistemas usam ambas as técnicas, como é o caso dos PCs: um controlador de terminal gráfico tem portas de E/S para operações básicas, mas uma região grande de memória é usada para mapeamento do conteúdo de telas. 14 Sistemas Operacionais -Entrada e Saída

Um exemplo: Controlador de Terminal Gráfico trabalha como um dispositivo serial de bits e em baixo nível, ou seja, lê da memória o byte contendo o caractere a ser exibido e gera os sinais usados na modulação do feixe do CRT para causar a escrita na tela o controlador também gera os sinais para o feixe CRT fazer o retraço horizontal após ele ter terminado de esquadrinhar a linha, bem como, sinais para fazer o retraço vertical após a tela toda ter sido esquadrinhada; 15 Sistemas Operacionais -Entrada e Saída 16 Sistemas Operacionais -Entrada e Saída

O problema da Espera em Ciclo (CPU x Controlador): Controlador usa bit ocupado no registrador destatus CPU usa bit processar no registrador de controle Suponha que a CPU escreva dados em uma porta, comunicandose com o controlador, da seguinte forma: CPU lê repetidamente o bit ocupado CPU liga o bit escrever no reg. de controle e armazena saída no reg. de saída de dados CPU liga bit processar Quando controlador nota bit processar ligado, ele liga bit ocupado 17 Sistemas Operacionais -Entrada e Saída Controlador lê registrador de controle e realiza a operação de escrita no dispositivo Controlador desliga bit processar, desliga o bit erro no registrador de status (operação com sucesso) e desliga bit ocupado (operação terminada). Problema: No passo 1, CPU faz espera em ciclo Se tempos da CPU e do controlador forem diferentes......cpu deve ser alocada à realização de outras tarefas Problema: p.ex., dados chegando a uma porta serial, teclado etc Solução: exec instr/testa/exec instr/testa...(ineficiente) Então, como avisar à CPU que o controlador está ocioso? Mecanismo de Interrupções 18 Sistemas Operacionais -Entrada e Saída

Quando um comando é aceito, a CPU é liberada pelo SO para outra tarefa. Não é necessário que a CPU fique testando repetidamente se o dispositivo já está pronto, o que seria muito ineficiente. Isto é possível, através do mecanismo de interrupções. Quando o comando termina de ser executado, o controlador causa uma interrupção, fazendo o SO tomar controle da CPU e testar o resultado da operação. A CPU obtém o resultado lendo um ou mais bytes nos registradores de saída de dados do controlador 19 Sistemas Operacionais -Entrada e Saída Interrupções As interrupções são muito usadas em SOs modernos para o tratamento de eventos assíncronos (p. ex., um controlador ficar pronto para operações de E/S, falhas de hardware ou chamadas a rotinas do sistema), desviando o controle para rot. do núcleo. Funcionamento: O hardware da CPU tem um fio chamado de linha de requisição de interrupções, que é testado pela CPU depois da execução de cada instrução Quando a CPU detecta que um controlador enviou um sinal na linha de requisição de interrupções (provocou uma interrupção), ela armazena alguns poucos valores referentes ao seu estado na pilha do processo (PC, SP etc) e desvia para uma rotina de tratamento de interrupções em um determinado endereço de memória. 20 Sistemas Operacionais -Entrada e Saída

Interrupções O tratador de interrupções realiza (trata) o processamento necessário e executa uma instrução de retorno da interrupção, que faz a CPU retornar ao estado anterior à interrupção. Recursos mais complexos: Desabilitação de interrupções (em fases críticas) CPU usa 2 linhas de requisição de interrupções: uma para requisições que não podem ser desabilitadas (erros de memória irrecuperáveis, p.ex.) outra para aquelas que podem ser desabilitadas (os dispositivos fazem suas requisições por estas linhas) 21 Sistemas Operacionais -Entrada e Saída Interrupções Vetor de Interrupções Cada interrupção gera um endereço que, na maioria das arquiteturas, é usado como um índice em uma tabela (vetor de interrupções), que contém endereços de memória das rotinas de tratamento de interrupção Índice do Vetor Descrição 0 Erro de divisão 2 Uso de apontador nulo 4 Overflow 7 Dispositivo não disponível 11 Segmento ausente 13 Acesso ilegal à posição de memória 14 Página ausente 16 Erro em operação com número em ponto flutuante 19-31 Entrada reservada, não use 32-255 Interrupções que podem ser desabilitadas Tabela com algumas entradas do vetor de interrupções para o processador Pentium da Intel 22 Sistemas Operacionais -Entrada e Saída

Interrupções Níveis de prioridade de interrupções Esse sistema permite à CPU protelar o tratamento de interrupções de baixa prioridade sem desabilitar todas as interrupções e possibilita que o controle da execução de uma interrupção seja interrompido e transferido para uma interrupção de alta prioridade. Exemplos de situações que geram interrupções: Operações de E/S Tratamento de exceções (div. por zero, end. proteg.) Mecanismo de paginação Chamadas a rotinas do núcleo (system calls) Gerenciamento do fluxo de execução do núcleo (per-mite que trabalhos urgentes sejam tratados primeiro) 23 Sistemas Operacionais -Entrada e Saída Acesso Direto à Memória Operação de leitura em sem suporte à DMA: Device Driver executa operação de E/S gravando comando no registrador do controlador Controlador lê o bloco do dispositivo, bit a bit, para seu buffer interno Controlador executa verificação de erros (checksum) Controlador causa interrupção SO reassume CPU e lê o bloco do buffer do controlador para a memória byte a byte (chamado de E/S programada)» Isto consome um tempo apreciável da CPU» Solução: usar DMA (Direct Memory Access) 24 Sistemas Operacionais -Entrada e Saída

Acesso Direto à Memória Controladores que suportam DMA: CPU (SO) fornece, além do endereço do bloco a ser lido: endereço de memória para onde o bloco deve ser copiado número de bytes a serem transferidos Controlador lê bloco Controlador efetua checksum Controlador de DMA copia, via barramento, byte a byte, as informações do buffer para a memória principal Controlador causa interrupção SO reassume CPU com os dados já disponíveis ao processo que os solicitou 25 Sistemas Operacionais -Entrada e Saída Acesso Direto à Memória processador DMA/barramento/ controlador de interrupções barramento entre memória e CPU memória cache memória Barramento PCI Controlador de IDE Sinais: Requisição de DMA Confirmação de DMA 26 Sistemas Operacionais -Entrada e Saída

Acesso Direto à Memória Por que o controlador puro não armazena diretamente os bytes na memória, tão logo ele os obtenha? Isto é, por que usar um buffer interno? Diferença de velocidade vários acessos ao barramento Ainda há um problema: enquanto controlador faz transferência de dados de/para a memória, próximo setor passa por debaixo da cabeça do Solução: intercalação 7 0 7 0 5 0 6 1 3 4 2 3 5 2 6 1 7 6 4 3 2 5 4 1 Sem Intercalação Intercalação Simples Intercalação Dupla 27 Sistemas Operacionais -Entrada e Saída