Uma das principais atribuições dos sistemas operacionais modernos é promover o gerenciamento do processo de entrada e saída dos computadores. Esta tarefa tem como objetivo permitir que os aplicativos de usuários possam utilizar os dispositivos de hardware e periféricos sem a necessidade de conhecer detalhes da operação destes elementos em baixo nível.
O sistema de gerenciamento de Entrada e Saída tem quatro tarefas basilares, promover as operações de E/S independentemente do dispositivo que está sendo acessado, prover adoção de um padrão de nomenclatura uniforme para as classes de dispositivos, fornecer um meio de armazenamento intermediário para o processo de E/S e efetuar o controle e gerenciamento de erros na execução das operações de E/S.
Um dos principais elementos do subsistema de E/S são os dispositivos de entrada e saída, elementos que são comumente categorizados por duas diferentes metodologias, uma relacionada ao processo de E/S, onde os dispositivos podem ser classificados como de entrada, de saída, ou híbrido, e outra em relação aos atores envolvidos, onde os dispositivos são categorizados como os que interagem com o usuário, os que interagem com as máquinas ou os dispositivos de comunicação.
Associados aos dispositivos de E/S, o Sistema Operacional tem que prover uma série de funções que promovem a sua operação. A função de E/S sofreu uma série de evoluções ao longo dos anos, sendo que atualmente têm-se três diferentes técnicas: a Entrada e Saída programada, em que há o controle direto da CPU sobre o processo de E/S, o modelo de interrupções, no qual o fluxo é invertido e o dispositivo de E/S é que passa a ter a obrigação de informar a CPU o término da execução da sua tarefa, e o acesso direto a memória, no qual o DMAC assume o controle do barramento e passa a ter acesso direto à memória sem qualquer suporte ou intervenção por parte da CPU.
Segundo Tanenbaum, o processo de Entrada e Saída pode ser segmentado em quatro camadas, com atribuições bem definidas, mas cujas interfaces podem variar a depender de cada Sistema Operacional, são elas: softwares de E/S em nível de usuário; Software de SO independente de dispositivo; Drivers de dispositivo; e a de gerenciamento de interrupções.