Ir para o conteúdo

CCT-UFCA/Ciência da Computação/Sistemas Operacionais/Gerenciamento de Dispositivos

De Wikiversidade

Conceitos de Entrada e Saída (I/O)

[editar | editar código]

Entrada e saída (I/O) refere-se às operações de comunicação entre o sistema operacional e os dispositivos periféricos. Esses dispositivos podem ser classificados como:

  • Dispositivos de Entrada: Enviam dados para o computador.
Exemplos: Teclado, mouse, scanner.
  • Dispositivos de Saída: Recebem dados do computador.
Exemplos: Monitor, impressora.
  • Dispositivos de Entrada/Saída: Executam ambos os papéis.
Exemplos: Discos rígidos, drives USB.

Ciclo de Operação de I/O:

  • Um programa faz uma solicitação de I/O ao sistema operacional.
  • O SO ativa o driver correspondente para interagir com o dispositivo.
  • Os dados são transferidos entre o dispositivo e a memória principal.
Exemplo: Quando você copia um arquivo para um pendrive, o sistema operacional controla a operação de escrita no dispositivo USB, garantindo que os dados sejam corretamente transferidos.

Drivers de Dispositivo

[editar | editar código]

Os drivers de dispositivo são programas que funcionam como intermediários entre o hardware e o sistema operacional. Eles traduzem comandos gerais do SO em instruções específicas para os dispositivos.

  • Responsabilidades dos Drivers:
    • Converter comandos de I/O do sistema em operações específicas para o hardware.
    • Comunicar falhas ou erros no dispositivo ao sistema operacional.
    • Otimizar a transferência de dados entre dispositivos e memória.
  • Classificação:
    • Drivers Genéricos: Utilizados por vários dispositivos do mesmo tipo.
    • Drivers Específicos: Projetados para um dispositivo ou fabricante específico.
Exemplo: Um driver de impressora converte documentos em linguagem de comando específica (exemplo: PCL ou PostScript), compreensível pela impressora.

Gerenciamento de Periféricos

[editar | editar código]

O sistema operacional gerencia os periféricos conectados ao computador para garantir uma operação coordenada.

  • Teclado e Mouse:
    • Os drivers capturam os sinais enviados pelo hardware e os traduzem para eventos no sistema operacional.
Exemplo: Ao pressionar uma tecla, o sinal elétrico é convertido pelo driver em um código ASCII compreendido pelo SO.
  • Impressoras:
    • Gerenciamento de filas de impressão permite que múltiplos documentos sejam organizados e processados sem conflitos.
Exemplo: No Windows, o spooler de impressão gerencia a ordem dos trabalhos de impressão.
  • Armazenamento Externo:
    • Sistemas de arquivos são utilizados para organizar os dados no dispositivo.
Exemplo: Quando um HD externo é conectado, o SO monta automaticamente o sistema de arquivos para acesso.

Técnicas de Otimização de I/O

[editar | editar código]

A entrada e saída são operações tipicamente mais lentas em relação ao processamento. Para melhorar o desempenho, o SO utiliza técnicas de otimização:

  • DMA (Direct Memory Access):
    • Permite que dispositivos acessem diretamente a memória principal, sem depender do processador.
    • Vantagem: Reduz a sobrecarga da CPU em operações intensivas de I/O.
Exemplo: Em placas de vídeo modernas, o DMA é usado para transferir dados diretamente entre a memória e a GPU.
  • Polling:
    • O SO verifica continuamente o estado do dispositivo para determinar se há dados disponíveis.
    • Vantagem: Simples de implementar.
    • Desvantagem: Ineficiente, pois consome ciclos da CPU mesmo quando o dispositivo está ocioso.
Exemplo: Antigos sistemas de teclado utilizavam polling para verificar entradas.
  • Interrupções:
    • O dispositivo sinaliza ao processador quando precisa de atenção, evitando verificações contínuas.
    • Vantagem: Eficiência na utilização da CPU.
Exemplo: Quando um mouse é movimentado, ele gera uma interrupção que informa o processador sobre o evento.

Referências

[editar | editar código]
  1. https://pt.wikibooks.org/wiki/Sistemas_operacionais/Ger%C3%AAncia_de_dispositivos_de_entrada_e_sa%C3%ADda
  2. https://pergunteaoigor.com.br/news/drivers-o-que-sao-e-como-funcionam-nos-sistemas-operacionais/
  3. https://arisa.com.br/~saulo/aulas/so1/cap11so.html
  4. https://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:socm-slides-20.pdf