Baixe o app para aproveitar ainda mais
Prévia do material em texto
* * Entrada/Saída Sistemas Operacionais Graduação Tecnológica Prof.: Marcone Carvalho * * Entrada/Saída Princípios do hardware de E/S Princípios do software de E/S Camadas do software de E/S Relógios Gerenciamento de energia * * * Princípios do Hardware de E/S Diversidade de dispositivos Tipos básicos de dispositivos Arquitetura de E/S Introdução aos barramentos Controladores de dispositivos Comunicação SO (CPU) – Controlador Controle de interrupção * * * A Importância de E/S Tipos de processo: orientado à CPU (CPU-bound) orientado à E/S (I/O-bound) * * * Princípios do Hardware de E/S Diversidade Taxas de dados típicas de dispositivos, redes e barramentos 125MB/s = 1Gb/s, Observe a diferença de Bytes (B) e bits (b) * * * Tipos básicos de dispositivos Caracter: transferem bytes um a um. Ex.terminal Bloco: transferem bytes em bloco. Ex. disco Sequencial. Tem acesso em ordem fixa. Ex. modem Acesso randômico: Ordem pode ser alterada. Ex CD-ROM Síncrono: Tem tempo de resposta previsível. Ex. fita Assíncrono: Tempo de resposta imprevisível. Ex. teclado Compartilhável: pode ser usado por vários processos ao mesmo tempo. Ex. teclado Dedicado. Só pode ser usado por um processo por vez. Ex. Impressora Read-write, read only e write-only: disco, cdrom, video * * * Princípios do Hardware de E/S Diversidade de dispositivos Tipos básicos de dispositivos Arquitetura de E/S Introdução aos barramentos Controladores de dispositivos Comunicação SO (CPU) – Controlador Controle de interrupção * * * Arquitetura de Entrada/Saída Portas (ports) Comunicação ponto a ponto Ex: Porta serial e paralela Barramentos (bus) Conjunto de condutores elétricos e com um protocolo rígido que define como mensagens trafegam sobre esses condutores Permite a comunicação entre vários componentes Protocolo é um conjunto de regras que definem como as comunicações no barramento serão efetuadas * * * Arquitetura de E/S Controladores Hw que controla uma porta, barramento ou dispositivo(s) Ex: Controlador da porta serial Controlador SCSI (Small Computer System Interface) Controlador de disco Device Drivers Partes do S.O. que fornecem uma interface de acesso uniforme para cada dispositivo Traduz as chamadas de alto nível (usuário) para o dispositivo específico Conversão de dados Detecção e correção de erros * * Barramento PCI Peripheral Component Interconnect Bridge para o ISA ou EISA EISA bus ou ISA bus ISA ou EISA slots DRAM PCI bus Bridge/ Cont. de memória slots Cache LAN Controlador de Vídeo Controlador SCSI Controlador EIDE AGP EIDE - Enhanced Integrated Drive Electronics * * Barramentos Dispositivos Ativos ou Mestres - dispositivos que controlam o protocolo de acesso ao barramento para leitura ou escrita de dados Passivos ou Escravos - dispositivos que simplesmente obedecem a requisição do mestre Exemplo: CPU ordena que o controlador de disco leia ou escreva um bloco de dados A CPU é o mestre e o controlador de disco é o escravo * * * Princípios do Hardware de E/S Diversidade de dispositivos Tipos básicos de dispositivos Arquitetura de E/S Introdução aos barramentos Controladores de dispositivos Comunicação SO (CPU) – Controlador Controle de interrupção * * * Controladores de Dispositivos Componentes de dispositivos de E/S mecânico eletrônico O componente eletrônico é o controlador do dispositivo pode ser capaz de tratar múltiplos dispositivos Tarefas do controlador converter fluxo serial de bits em blocos de bytes executar toda correção de erro necessária tornar o bloco disponível para ser copiado para a memória principal * * Comunicação S.O.(CPU) – Controlador Diagrama de um controlador Registrador de dados Status/Registrador de Controle Lógica de E/S Dados Status Controle Dados Status Controle Linhas de Endereço Linhas de Controle Linhas de Dados Interface para barramento do sistema Interface para dispositivo externo * * * Comunicação S.O.(CPU) - Controlador 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 Como a CPU acessa a informação? * * * Comunicação S.O.(CPU) – Controlador Espaços de memória e E/S separados - E/S isolada E/S mapeada na memória Híbrido * * * Comunicação S.O.(CPU) – Controlador E/S mapeada na memória (a) Arquitetura com barramento único (b) Arquitetura com barramento duplo (dual) * * * Comunicação S.O.(CPU) - Controlador E/S Programada CPU lê constantemente o status do controlador e verifica se já acabou (Polling ou Busy-waiting) 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 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 Como a CPU sabe que o dispositivo já executou o comando? * * * Interrupções: Revisão Como ocorre uma interrupção: conexões entre dispositivos e controlador de interrupção usam linhas de interrupção no barramento em vez de fios dedicados * * Controlador de Interrupção O 8259A do IBM-PC Sinais de controle: IRQx - Interrupt request x INT (Interrupt) - Houve interrupção INTA (Int. Acknowledge) - Interrupção recebida RD (Read) - Leitura WR (Write) - Escrita CS (Chip select) - Seleção do chip do controlador INT INTA RD WR CS DADOS CPU Controlador de Interrupções IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 ......... * * Para Enfatizar: A Importância da Interrupção O Elo Hardware-Software * * * Motivação Para controlar entrada e saída de dados, não é interessante que a CPU tenha que ficar continuamente monitorando o status de dispositivos como discos ou teclados O mecanismo de interrupções permite que o hardware "chame a atenção" da CPU quando há algo a ser feito * * * Interrupções de Hardware Interrupções geradas por algum dispositivo externo à CPU, como teclado ou controlador de disco, são chamadas de interrupções de hardware ou assíncronas [ocorrem independentemente das instruções que a CPU está executando] Quando ocorre uma interrupção, a CPU interrompe o processamento do programa em execução e executa um pedaço de código (tipicamente parte do sistema operacional) chamado de tratador de interrupção não há qualquer comunicação entre o programa interrompido e o tratador (parâmetros ou retorno) em muitos casos, após a execução do tratador, a CPU volta a executar o programa interrompido Execução do Programa P Execução do Tratador de Interrupção Retomada de P Interrupção * * * Interrupção de Relógio (Um tipo de Interrupção de HW) Permite ao sistema operacional atribuir quotas de tempos de execução (quantum ou time slice – fatias de tempo) para cada um dos processos em um sistema com multiprogramação A cada interrupção do relógio, o tratador verifica se a fatia de tempo do processo em execução já se esgotou e, se for esse o caso, suspende-o e aciona o escalonador para que esse escolha outro processo para colocar em execução * * * Interrupções Síncronas ou Traps Traps ocorrem em consequência da instrução sendo executada [no programa em execução] Algumas são geradas pelo hardware, para indicar por exemplo overflow em operações aritméticas ou acesso a regiões de memória não permitidas Essas são situações em que o programa não teria como prosseguir O hardware sinaliza uma interrupçãopara passar o controle para o tratador da interrupção (no SO), que tipicamente termina a execução do programa * * * Traps (cont.) Traps também podem ser geradas explicitamente por instruções do programa Essa é uma forma do programa acionar o sistema operacional, por exemplo para requisitar um serviço de entrada ou saída Um programa não pode "chamar" uma rotina do sistema operacional, já que o SO é um processo a parte, com seu próprio espaço de endereçamento... Através do mecanismo de interrupção de software, um processo qualquer pode ativar um tratador que pode "encaminhar" uma chamada ao sistema operacional Como as interrupções síncronas ocorrem em função da instrução que está sendo executada (ex. READ), nesse caso o programa passa algum parâmetro para o tratador * * Interrupções Assíncronas (hardware) geradas por algum dispositivo externo à CPU ocorrem independentemente das instruções que a CPU está executando não há qualquer comunicação entre o programa interrompido e o tratador Exs.: interrupção de relógio, teclado Síncronas (traps) Geradas pelo no programa em execução, em consequência da instrução sendo executada Algumas são geradas pelo hardware em situações em que o programa não teria como prosseguir Como as interrupções síncronas ocorrem em função da instrução que está sendo executada, nesse caso o programa passa algum parâmetro para o tratador Exs.: READ, overflow em operações aritméticas ou acesso a regiões de memória não permitidas * * * CPU – HW Interrupção: Suporte de HW Tipicamente, o hardware detecta que ocorreu uma interrupção, aguarda o final da execução da instrução corrente e aciona o tratador, antes salvando o contexto de execução do processo interrompido Para que a execução do processo possa ser reiniciada mais tarde, é necessário salvar o program counter (PC) e outros registradores de status Os registradores com dados do programa devem ser salvos pelo próprio tratador (ou seja, por software), que em geral os utiliza Para isso, existe uma pilha independente associada ao tratamento de interrupções Execução do Programa P - SW Execução do Tratador de Interrupção (SO - SW) Retomada de P Interrupção * * 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 * * * Princípios do Software de E/S Objetivos do Software de E/S (1) Independência de dispositivo Programas podem acessar qualquer dispositivo de E/S sem especificar previamente qual (disquete, disco rígido ou CD-ROM) Nomeação uniforme Nome de um arquivo ou dispositivo pode ser uma cadeia de caracteres ou um número inteiro que é independente do dispositivo Tratamento de erro Trata o mais próximo possível do hardware * * * Objetivos do Software de E/S (2) Transferências Síncronas vs. Assíncronas transferências bloqueantes vs. orientadas a interrupção utilização de buffer para armazenamento temporário dados provenientes de um dispositivo muitas vezes não podem ser armazenados diretamente em seu destino final – buffer, “broker”, … Dispositivos Compartilháveis vs. Dedicados discos são compartilháveis unidades de fita não são * * Entrada/Saída Princípios do hardware de E/S Princípios do software de E/S Independência de dispositivo Nomeação uniforme Tratamento de erro o mais próximo possível do hardware transferências bloqueantes vs. não-bloqueantes mas orientadas a interrupção Dispositivos compartilháveis vs. dedicados Camadas do software de E/S Gerenciamento de energia * * * Camadas do Software de E/S Camadas do sistema de software de E/S * * * Camadas do Software de E/S Tratadores de Interrupção (1) As interrupções devem ser escondidas (transparentes) o máximo possível uma forma de fazer isso é bloqueando o driver que iniciou uma operação de E/S até que uma interrupção notifique que a E/S foi completada Rotina de tratamento de interrupção cumpre sua tarefa e então desbloqueia o driver que a chamou * * * Camadas: 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 * * * Camadas: Software de E/S Independente de Dispositivo (1) Funções do software de E/S independente de dipositivo * * * Camadas: Software de E/S Independente de Dispositivo (3) Entrada sem utilização de buffer Utilização de buffer no espaço do usuário Utilização de buffer no núcleo seguido de cópia para o espaço do usuário Utilização de buffer duplo no núcleo (ex. tolerância a falha) * * * Camadas: Software de E/S Independente de Dispositivo (4) A operação em rede pode envolver muitas cópias de um pacote * * * Camadas: Software de E/S no Espaço do Usuário Camadas do sistema de E/S e as principais funções de cada camada * * 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 * * * Gerenciamento de Energia (1) Consumo de energia de várias partes de um laptop * * * Gerenciamento de Energia (2) Execução em velocidade máxima do relógio Cortando a voltagem pela metade corta a velocidade do relógio também pela metade, consumo de energia cai para 4 vezes menos * * * Gerenciamento de Energia (3): Impactos na Entrada/Saída Dizer aos programas para usar menos energia pode significar experiências mais pobres para o usuário Exemplos muda de saída colorida para preto e branco reconhecimento de fala com vocabulário reduzido menos resolução ou detalhe em uma imagem * * * * * * * * * AGP - Accelerated Graphics Port (ou Advanced Graphics Port) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar