É a camada de software que opera entre o hardware e os aplicativos voltados ao usuário final. Trata-se de uma estrutura de software ampla, complexa, que incorpora aspectos de baixo nível (drivers de dispositivos e gerência de memória física) e de alto nível (programas utilitários e a própria interface gráfica)
Existe uma grande distância entre o hardware e os softwares aplicativos, pois os circuitos são acessados por meio de interfaces de baixo nível.
O SO é a interface que faz esta comunicação.
As funções do SO resumem-se à "gerência" e "abstração", para isso abrange o gerenciamento dos recursos:
Processadores
Memória
Dispositivos I/O
Arquivos
Segurança
SOs podem ser classificados:
> Batch (transações bancárias)
> Rede (recursos remotos)
> Distribuído (rec. globais)
> Multiusuário (regras acesso)
> Desktop (usuário doméstico)
> Servidor (volume recursos)
> Embarcado (celular)
> Tempo real (previsibilidade)
A estrutura do SO compõe:
> Núcleo (cerne do SO)
> Drivers
(códigos de acesso a dispositivos físicos)
> Codigo de inicialização
(execução e reconhecimento de dispositivos)
> Programas utilitários
(complementam o núcleo)