Articles

O que é o núcleo do Linux?

O kernel Linux® é o principal componente de um sistema operativo (SO) Linux e é a interface principal entre o hardware de um computador e os seus processos. Ele comunica entre os 2, gerindo os recursos da forma mais eficiente possível.

O kernel é assim denominado porque – como uma semente dentro de uma casca dura – existe dentro do SO e controla todas as principais funções do hardware, quer seja um telefone, portátil, servidor, ou qualquer outro tipo de computador.

O que o kernel faz

O kernel tem 4 funções:

  1. Gestão de memória: Manter registo de quanta memória é utilizada para armazenar o quê, e onde
  2. Gestão de processos: Determinar que processos podem utilizar a unidade central de processamento (CPU), quando, e por quanto tempo
  3. Drivers de dispositivos: Actuar como mediador/interprete entre o hardware e os processos
  4. Chamadas e segurança do sistema: Receber pedidos de serviço dos processos

O kernel, se implementado correctamente, é invisível para o utilizador, trabalhando no seu próprio pequeno mundo conhecido como espaço do kernel, onde aloca memória e mantém o registo de onde tudo é armazenado. O que o utilizador vê como navegadores web e ficheiros – são conhecidos como o espaço do utilizador. Estas aplicações interagem com o kernel através de uma interface de chamada de sistema (SCI).

Pense assim. O kernel é um assistente pessoal ocupado para um executivo poderoso (o hardware). É a função do assistente transmitir mensagens e pedidos (processos) dos empregados e do público (utilizadores) ao executivo, lembrar o que é armazenado onde (memória), e determinar quem tem acesso ao executivo em qualquer altura e por quanto tempo.

Onde o kernel se encaixa no SO

Para colocar o kernel em contexto, pode-se pensar numa máquina Linux como tendo 3 camadas:

  1. O hardware: A máquina física – o fundo ou base do sistema, constituído pela memória (RAM) e o processador ou unidade central de processamento (CPU), bem como os dispositivos de entrada/saída (E/S), tais como armazenamento, rede e gráficos. O CPU executa cálculos e lê de, e escreve na memória.
  2. O kernel Linux: O núcleo do SO. (Ver? Está mesmo no meio.) É o software residente na memória que diz ao CPU o que fazer.
  3. Processos do utilizador: Estes são os programas em execução que o kernel gere. Os processos do utilizador são o que colectivamente constituem o espaço do utilizador. Os processos do utilizador são também conhecidos como processos justos. O kernel também permite que estes processos e servidores comuniquem entre si (conhecidos como comunicação inter-processo, ou IPC).

Código executado pelo sistema funciona em CPUs em 1 de 2 modos: modo kernel ou modo utilizador. O código executado no modo kernel tem acesso ilimitado ao hardware, enquanto que o modo utilizador restringe o acesso à CPU e à memória ao SCI. Existe uma separação semelhante para a memória (espaço do kernel e espaço do utilizador). Estes 2 pequenos detalhes formam a base para algumas operações complicadas como a separação de privilégios para segurança, construção de contentores, e máquinas virtuais.

Isto também significa que se um processo falhar em modo de utilizador, os danos são limitados e podem ser recuperados pelo kernel. No entanto, devido ao seu acesso à memória e ao processador, uma falha no processo do kernel pode danificar todo o sistema. Uma vez que existem salvaguardas e permissões necessárias para atravessar fronteiras, as falhas de processo do utilizador normalmente não podem causar demasiados problemas.

Porquê escolher a Red Hat?

Na Red Hat, o Linux é a base de tudo o que fazemos. A Red Hat é o segundo maior contribuinte empresarial para o núcleo do Linux, trazendo consigo a experiência e perícia de 25 anos e uma grande comunidade de parceiros, clientes, e especialistas de toda a indústria. É uma relação longa, com uma história e nível de experiência que é difícil de obter.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *