O que um sistema operacional faz?

Autor: 
Dave Coustan and Curt Franklin

No nível mais simples, o sistema operacional realiza duas tarefas:

  1. Gerencia os recursos de hardware e software do sistema. Em um computador de mesa, esses recursos incluem o processador, a memória, o espaço em disco etc. Em um telefone celular, o sistema operacional gerencia o teclado, a tela, a agenda, a bateria e a conexão de rede;
  2. Proporciona uma maneira estável e consistente para lidar com o hardware, sem ter de conhecer todos os detalhes do hardware.

A primeira tarefa, ou seja, o gerenciamento de recursos de software e hardware é uma tarefa extremamente importante. Diversos programas e métodos de entrada de dados competem pela atenção da CPU (Unidade Central de Processamento) e demandam memória, espaço em disco e largura de banda de entrada/saída. O sistema operacional faz o papel do bom pai. Ele cuida para que cada aplicativo tenha os recursos necessários para o funcionamento e gerencia a capacidade limitada do sistema para atender a todos os usuários e aplicativos.

A segunda tarefa é fornecer uma interface consistente para os aplicativos. A interface é especialmente importante se mais de um tipo de computador utiliza o sistema operacional ou se o hardware do computador é constantemente atualizado. Uma API (Application Program Interface - Interface de Programação de Aplicativos) permite que o desenvolvedor do software escreva um programa em um computador e tenha um alto nível de segurança de que este aplicativo vai rodar em outro computador do mesmo tipo, mesmo que a quantidade de memória e a área de armazenamento sejam diferentes.

Mesmo que um computador seja único, um sistema operacional assegura que os aplicativos continuem funcionando após as atualizações de hardware. Isso acontece porque é o sistema operacional, e não o aplicativo, que gerencia o hardware e a distribuição dos seus recursos. Um dos desafios do desenvolvedor de sistemas operacionais é criar um sistema flexível o suficiente para reconhecer hardwares de milhares de fabricantes diferentes. Os sistemas atuais podem acomodar milhares de impressoras, drivers e periféricos especiais em qualquer combinação possível.