Introdução a computadores
Sistema Operacional é um programa que atua como um intermediário entre o usuário (seja ele um usuário "real" ou aplicativo) e o hardware do computador. O Sistema Operacional cria uma camada de abstração entre o usuário e o hardware facilitando a vida do usuário e também possui rotinas (bibliotecas) que gerencia todo o seu hardware. Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compõem o computador (processador, memória, I/O, arquivos, etc.). Os problemas centrais que o Sistema Operacional deve resolver são: o compartilhamento ordenado, a proteção dos recursos (do kernel) a serem usados pelas aplicações do usuário e o inter-faceamento entre este e a máquina.
O QUE É UM KERNEL.
O Kernel é o software que fornece serviços básicos para todas as outras partes de um SO. De forma mais detalhada, o Núcleo é um conjunto de rotinas que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio SO. Um núcleo pode ser contrastado com um interpretador de comandos, conhecido como shell nos sistemas UNIX, o qual não é parte do SO mas que desempenha um relevante papel interagindo com comandos do usuário. Dentre as principais funções do Núcleo estão: - tratamento de interrupções; - gerenciamento de processos (criação e destruição de processos; sincronização e comunicação entre processos, ...); - gerenciamento de memória; - gerenciamento do sistema de arquivos; - operações de E/S. Os serviços do Núcleo são solicitados por outras partes do SO ou por aplicações de usuários, por meio de um conjunto especificado de interfaces de programa (rotinas) conhecidas como Chamadas ao Sistema (System Calls).
Sem o Kernel a cada programa novo que se criasse seria necessário que o programador se preocupasse em escrever as funções de entrada/saída, de impressão, entre outras, em baixo nível, causando uma duplicação de trabalho e uma perda enorme de tempo. Como o kernel já fornece a interface