Entrada/Saída
Prof. Me. Jonas Pontes
@[Link]
Princípios de hardware
Princípios de hardware
O objetivo básico de um computador é
solucionar problema;
Existem mecanismos para informar os
problemas ao computador ou recuperar
solução;
Dispositivos de Entrada ou Saída
Princípios de hardware
Todo SO precisa prover:
Comunicação com o exterior, com uma variedade
muito grande de dispositivos;
Armazenamento não volátil, com dispositivos de
diferentes capacidades, desempenhos, custos etc.
Princípios de hardware
Um periférico é qualquer dispositivo conectado
a um computador de forma a possibilitar sua
interação com o mundo externo;
Os periféricos de um computador pode ser de
entrada, de saída, ou ainda de entrada e saída,
a depender do fluxo de dados;
Princípios de hardware
Interface: mecanismo de hardware que conecta
entre o periférico e o computador;
Barramento: interconecta as interfaces,
permitindo a transferência de dados entre o
ambiente externo e o processador ou a memória;
Princípios de hardware
Controlador: componente de hardware empregados
às interfaces para implementar funções como ler
dados, escrever dados, reinicializar, ler
status e escrever comando
O controlador
Sabe como cada periférico funciona;
Cada tipo de periférico tem um controlador;
Tipos de conexão
Serial
Quando há apenas uma linha para os dados;
Um byte é transformado em uma única linha de bits e
vice-versa;
Modems e alguns tipos de mouses e impressoras são
exemplos, USB, Sata e bluetooth (emulação).
Tipos de conexão
Paralela
Várias linhas para dados;
Permite que vários bits sema transferidos
simultaneamente entre o dispositivo e a interface;
Geralmente o número de bits paralelos é o tamanho
de um byte ou de uma palavra do processador;
Impressoras paralelas (LPT) e PCI (placas de vídeo)
são bons exemplos.
Acesso a dispositivos de E/S
Acesso a dispotivos de E/S
Várias linhas para dados;
Permite que vários bits sema transferidos
simultaneamente entre o dispositivo e a interface;
Geralmente o número de bits paralelos é o tamanho
de um byte ou de uma palavra do processador;
Impressoras paralelas (LPT) e PCI (placas de vídeo)
são bons exemplos.
Acesso a dispositivos de E/S
Como a CPU realiza leitura e escrita de dados
através da interface?
Três técnicas:
E/S programada: CPU controla todo o processo;
Interrupções: Dispositivo avisa quando precisa de
atenção;
Acesso direto à memória (DMA): Transferência ocorre
sem envolver a CPU.
Acesso a dispositivos de E/S
E/S programada:
A CPU controla diretamente a operação de E/S;
Espera até que o dispositivo esteja pronto para
enviar ou receber dados;
Acesso a dispositivos de E/S
E/S programada — funcionamento:
1. A CPU verifica o status do dispositivo;
2. Quando disponível, a CPU envia ou recebe dados;
3. Repete o processo até concluir a operação.
Acesso a dispositivos de E/S
E/S programada
funcionamento:
[Link]
s/organizacao-e-arquitetura-de-computadores-
licenciatura-em-informatica/entrada-e-saida
Acesso a dispositivos de E/S
E/S programada
✅ Simples de ❌ Ineficiente – a CPU
fica ociosa enquanto
implementar;
✅ Controle total do espera o dispositivo;
❌ Reduz o desempenho do
processador.
sistema.
Acesso a dispositivos de E/S
Interrupções:
O dispositivo avisa a CPU quando precisa ser
atendido, liberando a CPU para outras tarefas.
Acesso a dispositivos de E/S
Interrupções — funcionamento:
1. A CPU inicia a operação de E/S;
2. Enquanto aguarda, executa outras tarefas;
3. O dispositivo gera uma interrupção quando está
pronto;
4. A CPU pausa sua execução, processa a interrupção e
depois retorna ao que estava fazendo.
Acesso a dispositivos de E/S
Interrupções:
✅ Melhora o desempenho ❌ Requer um mecanismo
eficiente para gerenciar
da CPU.
✅ Reduz tempo ocioso interrupções;
❌ Pode haver sobrecarga
do processador.
se muitas interrupções
ocorrerem ao mesmo tempo.
Acesso a dispositivos de E/S
Acesso Direto à Memória (DMA):
Permite que dispositivos
de E/S transfiram dados
diretamente para a
memória, sem passar pela
CPU.
Acesso a dispositivos de E/S
DMA — funcionamento
1. A CPU configura o controlador DMA com o endereço
da memória e o tamanho da transferência;
2. O DMA transfere os dados entre o dispositivo e a
memória;
3. Quando concluído, o DMA avisa a CPU via uma
interrupção.
Acesso a dispositivos de E/S
DMA:
✅ Libera a CPU para ❌ Pode ter conflitos de
executar outras tarefas. acesso à memória.
✅ Acelera transferências ❌ Requer hardware
de grandes volumes de adicional para o
dados. controlador DMA.
Acesso a dispositivos de E/S
ES programada x interrupções x DMA
Método Vantagem Desvantagem
E/S Programada Simples de implementar CPU fica ocupada esperando
CPU pode realizar outras Pode haver sobrecarga com muitas
E/S por Interrupção
tarefas interrupções
CPU liberada e
DMA Requer hardware dedicado
transferências mais rápidas
Princípios básicos de software de E/S
É um subsistema de um SO;
Tenta padronizar ao máximo as rotinas de acesso
aos periféricos de forma a reduzir o número de
rotinas de entrada e saída;
Permite a inclusão de novos dispositivos sem
necessitar de alterar a interface de
programação de um usuário final.
Princípios básicos de software de E/S
Drivers de dispositivo
É a camada inferior de software;
Um driver esconde da camada superior as diferenças
entre os vários dispositivos de E/S;
Drivers são programas que permitem ao sistema
operacional se comunicar com dispositivos de hardware;
Drivers de dispositivo
Funcionam como "tradutores"
entre o hardware e o
software;
Fornece abstração mais
genérica para a camada
superior.
Funções do driver
Traduzir comandos do SO para o hardware;
Gerenciar a comunicação entre hardware e software;
Controlar o funcionamento correto do dispositivo;
Garantir compatibilidade e desempenho eficiente.
Tipos de Drivers
Drivers de dispositivo: comandam hardware
específico (ex.: driver de impressora);
Drivers de kernel: funcionam em nível de sistema
operacional (ex.: drivers de disco);
Drivers de modo usuário: executam operações fora do
kernel para maior segurança (ex.: drivers de USB em
ambientes modernos).
Funcionamento dos Drivers no SO
1️⃣ O usuário conecta um novo dispositivo;
2️⃣ O SO busca um driver compatível;
3️⃣ O driver traduz os comandos do SO para o hardware;
4️⃣ O dispositivo responde e opera corretamente.
Gerenciamento de Drivers
Como os SOs lidam com drivers?
Windows: gerenciador de Dispositivos;
Linux: diretório /dev e módulos do kernel (lsmod,
modprobe);
MacOS: Extensões de Kernel (Kexts);
Android/iOS: Drivers embutidos no sistema para
maior segurança.
Gerenciamento de Drivers
Atualização de rivers
✅ Melhor desempenho e compatibilidade.
✅ Correção de falhas de segurança.
✅ Suporte a novos recursos.
Gerenciamento de Drivers
Problemas com drivers
⚠️ Drivers desatualizados podem causar falhas.
⚠️ Drivers incompatíveis podem impedir o funcionamento
do dispositivo.
⚠️ Conflitos de drivers podem levar a erros no
sistema.
E/S independente do dispositivo
O que é E/S Independente do Dispositivo?
Abstração da interface de E/S para diferentes
dispositivos;
Permite que os programas acessem dispositivos sem
precisar conhecer detalhes específicos do hardware;
Aumenta a portabilidade e compatibilidade dos
sistemas.
E/S independente do dispositivo
Importância da Abstração na E/S
Redução da complexidade para desenvolvedores;
Maior compatibilidade entre hardware e software;
Facilita o suporte a novos dispositivos;
Melhora a segurança e estabilidade do sistema.
E/S independente do dispositivo
Como Funciona a E/S Independente do
Dispositivo?
1️⃣ O SO fornece interfaces padronizadas para
dispositivos.
2️⃣ Aplicações interagem com essas interfaces, sem se
preocupar com o hardware.
3️⃣ O gerenciador de E/S traduz chamadas genéricas para
comandos específicos de cada dispositivo.
E/S independente do dispositivo
Interfaces de E/S
Interface de Arquivos: Permite acesso a
dispositivos como se fossem arquivos (exemplo:
/dev/ no Linux).
Chamadas de Sistema de E/S: Permitem a comunicação
entre aplicações e o SO.
E/S independente do dispositivo
Métodos de Acesso à E/S
Buffering: O SO armazena temporariamente os dados
para otimizar transferências.
Caching: Mantém cópias recentes de dados para
acelerar acessos futuros.
Spooling: Armazena solicitações de E/S para
execução posterior.
E/S independente do dispositivo
Exemplo: Sistemas de Arquivos
Dispositivos de armazenamento são tratados como
arquivos pelo SO;
Operações como leitura, escrita e manipulação são
padronizadas;
Usuários e aplicativos interagem de forma
unificada, independentemente do tipo de hardware.
E/S independente do dispositivo
Vantagens
✅ Facilidade de desenvolvimento: Programadores não
precisam conhecer detalhes de cada dispositivo;
✅ Portabilidade: Programas funcionam em diferentes
hardwares sem modificações;
✅ Eficiência: O SO gerencia recursos otimizando o
desempenho;
✅ Maior segurança: O isolamento evita acessos diretos