OCSO EntradaSada Diversidade de Dispositivos Diversidade de Dispositivos
- Slides: 43
OCSO Entrada/Saída
Diversidade de Dispositivos
Diversidade de Dispositivos
Tipos básicos de dispositivos n Caracter: transferem bytes um a um. Ex. terminal n Bloco: transferem bytes em bloco. Ex. disco n Sequencial. Tem acesso em ordem fixa. Ex. modem n Acesso randômico: Ordem pode ser alterada. Ex CD-ROM n Síncrono: Tem tempo de resposta previsível. Ex. Fita n Assíncrono: Tempo de resposta imprevisível. Ex. teclado n Compartilhável: pode ser usado por vários processos ao mesmo tempo. Ex. teclado n Dedicado. Só pode ser usado por um processo por vez. Ex. Impressora n Read-write, read only e write-only: disco, cdrom, video
Arquitetura de Entrada/Saída n Portas (ports) • Comunicação ponto a ponto. • Ex: Porta serial e paralela n Barramentos (bus) • Conjunto de condutores elétricos e com um protocolo rígido que define como mensagens trafegam sobre esses fios. • 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 Entrada/Saída n Controladores de Dispositivos • Hardware que controla uma porta, barramento ou dispositivo(s) Ex: Controlador da porta serial Controlador SCSI (Small Computer-Systems Interface) Controlador de disco n Drivers de Dispositivos • 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
PCI Bus Peripheral Component Interconnect CPU Cache Bridge/ Cont. de memória slots Bridge para o ISA ou EISA bus ou ISA bus ISA ou EISA slots DRAM AGP PCI bus Controlador EIDE Controlador de Vídeo Controlador SCSI LAN
Introdução aos Barramentos Comparação de barramentos ISA EISA VLBUS PCI 1984 1987 1992 1993 Vários 2 4 4 4 a 8 Frequência (MHz) 8, 3 CPU 33 a 66 Taxa (MB/s) 7, 9 31, 8 Ano Dispositivos Largura (bytes) Obs. 127, 2 a 508, 6 Restrito ao 80486 Dados e end. multiplexados
Introdução aos Barramentos n 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.
Comunicação S. O. (CPU) - Controlador tem registradores de dados, comandos, status. n CPU pode acessar info desses registradores n Controlador processa comando n Resultados (se houver) são gravados na memória n
Comunicação S. O. (CPU) – Controlador Diagrama de um controlador Interface para barramento do sistema Interface para dispositivo externo Registrador de dados Linhas de Dados Linhas de Endereço Linhas de Controle Status/Registrador de Controle Lógica de E/S Interface lógica com dispositivo exerno Dados Status Controle Interface lógica com dispositivo externo Dados Status Controle
Dispositivos de E/S Modelo Servidor/Produtor Fila Produtor de tarefas Gera tarefas a serem executadas Servidor Executa tarefas enviadas pela fila
Dispositivos de E/S Modelo Servidor/Produtor Aumento de Througput dividindo tarefas Fila Servidor Produtor de tarefas Gera tarefas a serem executadas Fila Executa tarefas enviadas pela fila Servidor Executa tarefas enviadas pela fila
Interface de Saída - Impressora Buffer de saída do sistema Buffer de entrada da impressora bit 0 bit 1 bit 2 bit 7 Impressora Sinal de Transferência Status Q S Pronto R Dado Presente Flag Q CPU Impressora Põe dado no buffer de saída Se Status = 1 - Ativa Sinal de Transferência Se Dado Presente = 0 - Lê dado - Ativa sinal Pronto
Comunicação S. O. (CPU) - Controlador Como a CPU acessa a informação? n E/S isolado • Através de instruções especiais de E/S • Especificam a leitura/escrita de dados numa porta de E/S. Ex: IN AL, 60 H n E/S mapeado em memória • Através de instruções de leitura/escrita na memória Ex: MOV AL, (60 H) • Exemplo: >debug >e B 800: 072 E 48 09 41 09 43 09 4 B 09
Comunicação S. O. (CPU) - Controlador Isolado Mapeado em Mem. Híbrido
Comunicação S. O. (CPU) – Controlador E/S Isolado Linhas de endereços Linhas de dados Linhas de Controle Mreq / E/S Controlador de E/S Memória Barramento Isolado tem sinal especial (Mreq / E/S) que identifica o tipo de endereço presente no barramento • Permite o uso de instruções especiais para dispositivos de E/S • Para o mesmo núm. de bits de endereço => dobro de E/S + Memória • Requer um sinal extra e, consequentemente, hardware extra na CPU
Comunicação S. O. (CPU) - Controlador n IBM-PC usa ambos (híbrido): • E/S mapeado em memória: memória de vídeo • E/S isolado para dispositivos em geral Endereço de E/S 000 -00 F 020 -021 040 -043 060 -063 200 -20 F 2 F 8 -2 FF 320 -32 F 378 -37 F 380 -3 BF 3 D 0 -3 DF 3 F 0 -3 F 7 3 F 8 -3 FF Dispositivo Vetor de Interrupção Controlador de DMA Controlador de interrupção Timer 8 Teclado 9 Controlador de jogos Porta serial 2 (COM 2) 11 Controlador de disco rígido 13 Porta parelela 15 Controlador de vídeo P&B Controlador de vídeo colorido Controlador de disquete 14 Porta serial 1 (COM 1) 12
Comunicação S. O. (CPU) - Controlador Como a CPU sabe que o dispositivo já executou o comando? n E/S Programado: • CPU lê constantemente os status do controlador e verifica se já acabou (Polling ou Busy-waiting) • Espera até o fim da operação n E/S por interrupção • CPU requisita um comando do dispositivo de E/S • CPU continua a executar outras operações • CPU é interrompida pelo módulo de E/S e ocorre transferência de dados. n 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 • Nessa fase de transferência não há envolvimento da CPU. • Ao fim da transferência, a CPU é interrompida e informada da transação
Comunicação S. O. (CPU) – Controlador Técnicas de Acesso Exemplo: Imprimindo uma string
Técnicas de transferência de dados E/S dirigida por interrupção E/S programada Comando de leitura para módulo de E/S Outras tarefas Ler status de E/S Interrupção OK OK Status de E/S OK Ler dado de E/S Escreve memória CPU --> E/S Status de E/S OK Ler dado de E/S Escreve memória E/S --> CPU --> Mem. Volta ao que estava fazendo
Comunicação S. O. (CPU) – Controlador E/S Programado // p é o buffer do S. O. // Enquanto houver caracteres… // Espere a impressora ficar pronta // Envie um caracter // Retorne ao processo do usuário
Comunicação S. O. (CPU) – Controlador E/S Programado 1. Copia informações do processo do usuário para o SO 2. Enquanto houver caracteres para imprimir { 2. 1. Espera impressora estar pronta 2. 2. Envia um caracter para a impressora } 3. Retorna para o aplicativo
Comunicação S. O. (CPU) – Controlador E/S por Interrupção void SO_print. String(…) { void SO_ISRprinter() { } } Código do S. O. executado quando o usuário requer a impressão Rotina de serviço de interrupção
Comunicação S. O. (CPU) – Controlador E/S por Interrupção 1. Copia informações do processo do usuário 2. Habilita interrupção 3. Retorna para o escalonador 1. Se terminou os carateres 1. 1. Desbloqueia processo 2. Senão 2. 1. Envia um caracter para a impressora 3. Retorna da interrupção Código do S. O. executado quando o usuário requer a impressão Rotina de serviço de interrupção
DMA - Acesso Direto à memória þ O módulo de E/S e a memória principal trocam dados diretamente sem o envolvimento da CPU. Contador de dados Linhas de dados Registrador de dados Linhas de endereço Registrador de endereços DMA REQ DMA ACK INTR Read Write Lógica de Controle
Técnicas de transferência de dados Control. de DMA transfere dados entre memória e módulo de E/S Comando de leitura de E/S para controlador de DMA Outras tarefas Interrupção Status de E/S Parâmetros para DMA End. memória End. dispositivo Tamanho bloco CPU --> DMA --> CPU Volta ao que estava fazendo
Comunicação S. O. (CPU) – Controlador E/S por DMA void SO_print. String(…) { void SO_ISRprinter() { } } Código do S. O. executado quando o usuário requer a impressão Rotina de serviço de interrupção
Comunicação S. O. (CPU) – Controlador Transferência por DMA
Comunicação S. O. (CPU) – Controlador Diferentes configurações de DMA CPU Módulo E/S DMA E/S Memória 1. Barramento simples, DMA simples CPU Módulo DMA E/S Bus Mastering Módulo DMA E/S Memória E/S 2. Barramento simples, DMA-E/S Integrados CPU Módulo DMA E/S Memória E/S 3. Barramento de E/S
Controlador de Interrupção
Controlador de Interrupção O 8259 A do IBM-PC INTA CPU RD WR CS DADOS n Sinais de controle: – – – Controlador de Interrupções IRQ 0 IRQ 1 IRQ 2 IRQ 3 IRQ 4 IRQ 5 IRQ 6 IRQ 7. . 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
Níveis de software de E/S
E/S Software Independente do Dispositivo Interface uniforme para Driver de Dispositivos Bufferização de dados Info sobre erros Alocação e liberação de dispositivos Tamanho do bloco de dados
Tipos básicos de dispositivos n Caracter: transferem bytes um a um. Ex. terminal n Bloco: transferem bytes em bloco. Ex. disco n Sequencial. Tem acesso em ordem fixa. Ex. modem n Acesso randômico: Ordem pode ser alterada. Ex CD-ROM n Síncrono: Tem tempo de resposta previsível. Ex. Fita n Assíncrono: Tempo de resposta imprevisível. Ex. teclado n Compartilhável: pode ser usado por vários processos ao mesmo tempo. Ex. teclado n Dedicado. Só pode ser usado por um processo por vez. Ex. Impressora n Read-write, read only e write-only: disco, cdrom, video
E/S Software Independente do Dispositivo Interface uniforme para os Driver de Dispositivos (a) (b) Sem interface padrão Com interface padrão
Driver de Dispositivos
Driver de Dispositivos n “Escondem” do subsistema de E/S (do S. O. ) as diferenças entre os diversos controladores, fornecendo uma interface padrão e uniforme de acesso para todos. n Facilitam o desenvolvimento do S. O. n Permitem a inclusão de novos dispositivos Detecção e correção de erros n
E/S Software Independente do Dispositivo Alocação e liberação de dispositivos n Spooling e reserva de dispositivo • Um spool é um buffer que guarda as saídas a serem enviadas a um dispositivo (ex. Impressora) que não pode aceitar dados de misturados de vários processos. • Geralmente é controlado por um daemon ou pelo kernel
Exemplo de Chamada de E/S (1) Níveis do sistema de E/S e suas funções principais
Exemplo de Chamada de E/S (2)
FIM
E/S Software Independente do Dispositivo Bufferização (a) Entrada não bufferizada (b) Bufferização do usuário (c) Bufferização no kernel (d) Dupla bufferização no kernel
- Diversidade religiosa
- Diversidade dos animais 5 ano
- Carapaça com quitina oviparos
- A diversidade das plantas
- Acróstico com a palavra diversidade religiosa
- Diversidade religiosa
- A diversidade nas técnicas teatrais
- Zona pilosa
- Texto sobre diversidade religiosa
- Exemplos de raizes aprumadas
- O que é diversidade
- Uma acao pedagogica realmente pautada na diversidade
- Diversidade superficial
- A diversidade das plantas
- Cd o dvd es un dispositivo de entrada o salida
- Dispositivos eletronicos
- “componentes de las redes: dispositivos finales”
- Uerj dispositivos conectados a internet
- Entrada processamento e saída exemplos
- Dispositivos ubicuos
- Dispositivos
- Dispositivos electronicos
- Politica de no reuso de dispositivos medicos
- Dispositivos de entrada y salida, mixtos
- Dispositivos de salida de un computador
- Tipos de computadora
- Receptores são dispositivos capazes de
- Definicion de dispositivos mixtos
- Dispositivos actuadores
- El joystick es de entrada o salida
- Dispositivos informativos ergonomia
- Google plotter
- Dispositivos de copia dura
- Semiconductores de 4 capas
- Dispositivos inalatórios
- Dispositivos de salida
- Dispositivos de almacenamiento secundario
- 20 dispositivos de saída
- Dispositivos electronicos
- Dispositivos electronicos
- Uno de los primeros dispositivos mecánicos para contar fue
- Dispositivos graficos
- Dispositivos
- Dispositivos periféricos mixtos