Gestão de Entrada/Saída em Sistemas Operacionais
Gabarito: letra B. A gestão de entrada/saída (E/S) é a função do sistema operacional que estabelece a comunicação eficiente entre a CPU e os dispositivos periféricos, assegurando a transferência precisa de dados. Essa é a definição central do subsistema de E/S, que atua como intermediário entre o hardware dos periféricos e os programas de aplicação.
A gestão de entrada/saída é um dos pilares do sistema operacional, responsável por controlar e gerenciar a comunicação entre a CPU e os dispositivos periféricos (teclado, mouse, disco rígido, impressora, placa de rede, etc.). O sistema operacional faz isso por três razões principais: primeiro, porque a maioria dos dispositivos de hardware utiliza uma interface de baixo nível, tornando a interface de software complexa; segundo, porque um dispositivo é um recurso compartilhado, e o sistema operacional fornece acesso de acordo com políticas que tornam a partilha justa e segura; terceiro, porque o sistema operacional define uma interface de alto nível que esconde detalhes e permite que um programador use um conjunto coerente e uniforme de operações ao interagir com os dispositivos.
O subsistema de E/S pode ser dividido em três peças conceituais: uma interface abstrata que consiste em funções de E/S de alto nível que os processos podem usar para executar I/O; um conjunto de dispositivos físicos; e o software de driver de dispositivo que conecta os dois. Os drivers são componentes de código que interagem diretamente com cada controlador de dispositivo, realizando as operações de leitura e escrita. O mecanismo de interrupção torna eficiente a interação do processador com os dispositivos periféricos, permitindo que o processador não precise esperar a conclusão de cada operação solicitada, pois o dispositivo emitirá uma interrupção para "avisar" o processador quando a operação estiver concluída.
Na prática, quando um programa deseja ler dados de um disco, ele faz uma chamada de sistema (syscall) que é tratada pelo subsistema de E/S do núcleo. O núcleo identifica o driver apropriado para o dispositivo, que por sua vez interage com o controlador de hardware para realizar a transferência de dados. Essa transferência pode ser feita por polling (o processador verifica constantemente o status do dispositivo), por interrupção (o dispositivo avisa o processador quando está pronto) ou por DMA (Direct Memory Access), onde o controlador lê ou escreve dados diretamente na memória, sem a intervenção da CPU.
A distinção que importa aqui é entre a gestão de E/S e outras funções do sistema operacional, como a gestão de processos, a gestão de memória e a gestão de arquivos. Cada uma dessas funções tem um papel específico, e a banca explora exatamente essa confusão entre elas. A gestão de E/S é sobre a comunicação com dispositivos periféricos; a gestão de processos é sobre a execução concorrente de programas; a gestão de memória é sobre a alocação e o gerenciamento da memória principal; e a gestão de arquivos é sobre o armazenamento persistente de dados.
A pegadinha que a banca explora neste tema é a confusão entre a gestão de E/S e outras funções do sistema operacional. O candidato que não tem clareza sobre o papel específico de cada subsistema pode facilmente marcar uma alternativa que descreve a gestão de processos, a gestão de memória ou a gestão de arquivos. Guarde a fronteira entre essas funções: é exatamente nela que as alternativas se dividem.
Alternativa A — ❌ Incorreta
Esta alternativa descreve a gestão de processos, não a gestão de E/S. A coordenação da execução de múltiplos processos, garantindo acesso justo aos recursos, é a função do escalonador de processos (scheduler), que decide qual processo recebe a atenção da CPU e por quanto tempo. A gestão de E/S, por sua vez, trata da comunicação com dispositivos periféricos, não da coordenação da execução de processos.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta alternativa descreve corretamente o papel da gestão de E/S. O subsistema de E/S do sistema operacional é responsável por estabelecer a comunicação eficiente entre a CPU e os dispositivos periféricos, assegurando a transferência precisa de dados. Isso envolve o uso de drivers de dispositivo, controladores, interrupções e DMA para garantir que os dados sejam transferidos corretamente entre a memória e os periféricos.
Alternativa C — ❌ Incorreta
Esta alternativa descreve a gestão de memória, especificamente a tradução de endereços lógicos em físicos, que é uma função da unidade de gerenciamento de memória (MMU). A gestão de E/S não lida com endereços de memória, mas com a comunicação com dispositivos periféricos.
Alternativa D — ❌ Incorreta
Esta alternativa descreve um aspecto específico da gestão de E/S, mas de forma incompleta e imprecisa. O gerenciamento de buffers de E/S é apenas uma parte do subsistema de E/S, que também inclui o controle de drivers, interrupções, DMA e a interface com os dispositivos. A alternativa reduz o papel da gestão de E/S a apenas uma de suas funções, o que a torna incorreta como descrição geral do papel da gestão de E/S.
Alternativa E — ❌ Incorreta
Esta alternativa descreve a gestão de memória, especificamente a otimização do uso da memória principal, evitando fragmentação e vazamentos. A gestão de E/S não lida com a otimização da memória, mas com a comunicação com dispositivos periféricos.
Gabarito: letra B