Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software de Entrada/Saída (Cap20) - Coggle Diagram
Software de Entrada/Saída (Cap20)
Arquitetura de Software de Entrada/Saída
Código do Sistema Operacional é estruturado em camadas
Classes de dispositivos
Para facilitar a construção de aplicações e das camadas mais elevadas do sistema operacional, os dispositivos de I/O s]ao agrupados em classes ou famílias com características semelhantes
Dispositivos orientados a caracteres
Dispositivos orientados a blocos
Dispositivos de rede
Dispositivos gráficos
Drivers de dispositivos
componente do sistema
operacional responsável por interagir com um controlador de dispositivo
Funções de entrada/saída
Funções de gerêcnia
Funções de Tratamento de Eventos
Estratégias de Interação
Cada driver deve interagir com seu respectivos dispositivo de entrada/saída
para realizar as operações desejadas, através das portas do controlador do dispositivo
Interação controlada por programa
Driver monitora continuamente o status do dispositivo.
Uso de portas control, data-out, data-in.
Problema da espera ocupada
Processador aguarda a conclusão da operação de E/S.
Desperdício de recursos
Prejudica tarefas importantes (e.g., interação com o usuário).
Aplicação
Modificação
Interação controlada por eventos
O driver realiza a solicitação da operação de E/S e suspende a tarefa atual.
O processador é liberado para executar outras tarefas enquanto o dispositivo processa a operação.
Quando o dispositivo conclui a tarefa, o controlador gera uma requisição de interrupção (IRQ) para notificar o driver.
Acesso direto à memória
Problema
Dispositivos mais lentos que o processador.
Ineficiência ao usar o processador para E/S.
Solução
Transferências diretas entre memória e dispositivos.
Reduz overhead no processador.
Implementação
Controladores antigos: DMA único com múltiplos canais
Sistemas PCI modernos: Controladores gerenciam seus próprios canais.
Ativação
Síncrona: Por chamada do processador.
Assíncrona: Iniciada pelo dispositivo.
Aplicações
Grandes blocos de dados (discos, redes, áudio, gráficos).
Para pequenos volumes, o processador é mais eficiente.
Tratamento de interrupções
Em dois níveis :primários e secundários