Sistema Operacional
Introdução
Um sistema operacional não é um único bloco de software executando sobre o hardware, ao contrário disso, ele é composto de diversos componentes, cada qual com seus objetivos e funcionalidades complementares. Entre os componentes mais relevantes de um sistema operacional típico podemos citar:
Núcleo: é o coração do sistema operacional, responsável pela gerência dos recursos do hardware usados pelas aplicações. Ele também implementa as principais abstrações utilizadas pelos programas aplicativos.
Drivers: módulos de código específicos para acessar os dispositivos físicos. Existe um driver para cada tipo de dispositivo, como discos rígidos IDE, SCSI, portas USB, placas de vídeo, etc. Muitas vezes o driver é construído pelo próprio fabricante do hardware e fornecido em forma compilada (em linguagem de máquina) para ser acoplado ao restante do sistema operacional.
Código de inicialização: a inicialização do hardware requer uma série de tarefas complexas, como reconhecer os dispositivos instalados, testá-los e configurá-los adequadamente para seu uso posterior. Outra tarefa importante é carregar o núcleo do sistema operacional em memória e iniciar sua execução.
Programas utilitários: são programas que facilitam o uso do sistema computacional, fornecendo funcionalidades complementares ao núcleo, como formatação de discos e mídias, configuração de dispositivos, manipulação de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface gráfica, gerência de janelas, etc.
As diversas partes do sistema operacional se relacionam entre si conforme apresentado na imagem a seguir. A maneira como os componentes são interligados e se relacionam varia de sistema para sistema.
Conjunto de rotinas é chamado de Kernel:
As principais funções do Kernel são:
Tratamento de interrupções.
Criação e eliminação de processos;
Sincronização e comunicação entre processos;
Escalonamemto e controle de