Muitas pessoas já ouviram falar de Kernel do Sistema Operacional, porém, poucas sabem o seu significado.
E você, sabe para que serve o Kernel?
O Kernel é o núcleo do Sistema Operacional. Consiste em programas que executam as atividades básicas, a alocação de recursos e o monitoramento dos recursos do computador. O núcleo opera com um mínimo de interação ou controle do usuário. Nenhum computador pode operar sem ele.
O Kernel inclui programas que inicializam o computador quando o usuário liga a máquina, que encontram e inicializam programas aplicativos que o usuário deseja executar, e que transferem entrada para o programa aplicativo e transferem dados do programa para dispositivos de saída, de armazenamento e de rede.
O Sistema Operacional refere-se ao software agregado ao núcleo do sistema operacional. Tradicionalmente, ele inclui muitas rotinas utilitárias, algum software de gestão de sistemas e de rede, e mesmo algum software horizontal. Exatamente onde o núcleo termina e onde os utilitários de gestão do sistema e de rede começam muitas vezes não tem um limite claro.
Quando múltiplos usuários e múltiplas tarefas compartilham um computador, o sistema operacional precisa manter os dados e comandos de cada tarefa e usuários separados, enquanto ele propicia uma oportunidade de compartilhar informações entre eles. Um gerente de vendas, por exemplo, pode rodar um relatório de vendas mensais ao mesmo tempo em que um gerente de depósito verifica o estoque de um determinado produto. O sistema operacional permite que os administradores de sistemas estabeleçam as regras e prioridades para compartilhamento dos recursos do computador. Um pedido de crédito de um cliente, por exemplo, pode atrasar temporariamente o término do relatório de vendas porque o pedido de crédito do cliente que espera tem uma prioridade mais alta.
O software aplicativo chama o núcleo do sistema operacional para requerer recursos computacionais tais como memória, armazenamento, a rede ou a unidade de vídeo . Estas chamadas de sistemas variam entre os sistemas operacionais, tornando as mudanças e upgrades difíceis. A Microsoft codificou o núcleo ou kernel para versões posteriores do seus sistema operacional Windows considerando as chamadas de sistemas para versões mais antigas, de maneira que o software escrito para as versões mais antigas continuasse a operar à medida que o Windows fosse sendo atualizado. Versões mais novas do Windows, entretanto, tinham novas chamadas de sistema. Como resultado, programas escritos para rodar sob o Windows XP, por exemplo, podem não rodar em versões mais antigas do Windows.
O núcleo do sistema operacional deve ser escrito para um tipo específico de hardware do computador, pois trabalha com as funções mais básicas do computador. Entretanto, os usuários querem sistemas operacionais que funcionem numa ampla gama de computadores. Chamadas de sistema que operam da mesma forma em computadores diferentes incrementam as habilidades do desenvolvedores para criar software que roda em diferentes sistemas. Uma interface de usuário genérica reduz as necessidades de treinamento dos usuários porque o mesmo conhecimento então se aplica a uma série de computadores.
O UNIX foi projetado como um sistema operacional genérico. Quando surgiu, o UNIX era um software de propriedade da AT&T, embora rodasse em mutos diferentes tipos de computadores. A AT&T fornecia licenças a custo relativamente baixo para fornecedores que quisessem modificá-lo para outros computadores. A despeito da portabilidade do UNIX, os usuários achavam que as versões de UNIX fornecidas por seus fabricantes de hardware quase sempre estavam abaixo dos padrões da AT&T e diferentes entre si. Assim, a tarefa de desenvolver software aplicativo que rodasse em diferentes tipos de computadores continuou difícil.
Uma variante do UNIX chamada Linux tornou-se popular no final dos anos 90. Um estudante de graduação finlandês chamado Linus Torvalds desenvolveu o software e expressamente abriu mão de seus direitos sobre ele, deixando-o sob domínio público, com a condição de que seu código e todas as versões futuras desenvolvidas a partir dele permanecessem abertas para visualização e alteração. Várias empresas, mais notavelmente a Red Hat e Caldera, modificaram o software e então criaram versões com as mesmas chamadas de sistema e interface de usuário para operar em muitos tipos diferentes de computadores. Como resultado, os desenvolvedores podem facilmente criar software que irá rodar em muitos diferentes tipos de computadores sob o Linux.