Há um tipo de software que se caracteriza por ser um conjunto de programas que gerencia o hardware de um computador e fornece os recursos necessários para que serviços e outros programas funcionem corretamente. Esse tipo de software apresenta as seguintes características: (1) fornece uma interface entre o hardware e o usuário; (2) fornece rotinas básicas para o gerenciamento e controle de dispositivos, tais como placa de rede, placa de vídeo e disco rígido, dentre outros; (3) realiza o gerenciamento de processos, memória, sistema de arquivos, assim como a entrada e saída de dados; e (4) controla as aplicações que podem ser executadas, quando devem ser executadas e quais os recursos que podem ser utilizados. Nesse caso, esse tipo de software é chamado de: