SO Sistemas Operacionais Capitulo 04
4.1. Introdução
O sistema operacional é formado por um conjunto de rotinas que oferecem serviços aos usuários, às suas aplicações, e também ao próprio sistema. Esse conjunto de rotinas é denominado núcleo do sistema ou kernel.
É importante não confundir o núcleo do sistema com aplicações, utilitários ou o interpretador de comandos, que acompanham o sistema operacional (Fig. 4.1). As aplicações são utilizadas pelos usuários e escondem todos os detalhes da interação com o sistema. Os utilitários, como compiladores e editores de texto, e interpretadores de comandos permitem aos usuários, administradores e desenvolvedores uma interação amigável com o sistema.
Existe uma grande dificuldade em compreender a estrutura e o funcionamento de um sistema operacional, pois ele não é executado como uma aplicação tipicamente seqüencial, com início, meio e fim. Os procedimentos do sistema são executados concorrentemente sem uma ordem predefinida, com base em eventos dissociados do tempo (eventos assíncronos). Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio sistema operacional.
As principais funções do núcleo encontradas na maioria dos sistemas comerciais estão listadas a seguir. Estaremos abordando estas funções em detalhes:
Tratamento de interrupções e exceções;
Criação e eliminação de processos e threads;
Sincronização e comunicação entre processos e threads;
Escalonamento e controle dos processos e threads;
Gerência de memória;
Gerência do sistema de arquivos;
Gerência de dispositivos de E/S;
Suporte a redes locais e distribuídas;
Contabilização do uso do sistema;
Auditoria e segurança do sistema.
A estrutura do sistema operacional, ou seja, a maneira como o código do sistema é organizado e o inter-relacionamento entre seus diversos componentes, pode variar conforme a concepção do projeto. Existem diversas abordagens em relação à estrutura de sistemas operacionais que serão tratadas no