Jump to section

O que é o kernel Linux?

Copiar URL

Migre do CentOS Linux para um sistema operacional pronto para a nuvem

Ao fazer a transição do CentOS Linux para outro sistema operacional, é crucial escolher uma solução pronta para a nuvem. Red Hat Enterprise Linux (RHEL) é um sistema operacional open source adaptado a ambientes físicos, virtualizados, de nuvem híbrida, multicloud e também a arquiteruras de edge computing.

O kernel Linux® é o principal componente de um sistema operacional Linux e é a interface central, ou núcleo, entre o hardware de um computador e seus processos. Ele estabelece a comunicação entre ambos, gerenciando recursos com a maior eficiência possível.

"Kernel" em inglês significa "núcleo" ou "grão" e é seguindo essa analogia que ele existe no sistema operacional: o kernel controla todas as principais funções do hardware, seja este um smartphone, um laptop, um servidor ou qualquer outro tipo de computador.

Reforce a segurança com o Red Hat Enterprise Linux 9 | Webinar

Veja como as funcionalidades tradicionais e mais recentes do Red Hat Enterprise Linux 9 se combinam para que administradores, equipes de operações e desenvolvedores consigam garantir níveis excelentes de segurança no datacenter, na nuvem, ou em qualquer outro ambiente.

O kernel tem quatro funções:

  1. Gerenciar memória: ele monitora o volume de memória utilizado para armazenar arquivos, dados, etc. em determinado ambiente.
  2. Gerenciar processos: ele determina quais processos podem usar a unidade central de processamento (CPU), quando podem usar e por quanto tempo.
  3. Drivers de dispositivos: ele atua como intermediário/intérprete entre o hardware e os processos executados.
  4. Chamadas do sistema e segurança: ele recebe solicitações dos processos para a execução de serviços.

O kernel, se implementado corretamente, é imperceptível para o usuário. Ele funciona por conta própria, em um "minimundo" chamado espaço do kernel, onde aloca a memória e monitora onde todas as coisas são armazenadas. O que o usuário vê, por exemplo, os navegadores da web e arquivos, é chamado de espaço do usuário. As aplicações interagem com o kernel por meio de uma interface de chamadas do sistema (SCI).

Pense assim: o kernel é como se fosse o assistente pessoal de um executivo poderoso (o hardware). É trabalho do assistente transmitir ao executivo as mensagens e solicitações (processos) dos funcionários e do público (usuários), lembrar o que está armazenado e onde (memória) e determinar quem pode ter acesso ao executivo, em que horário e por quanto tempo.

Para contextualizar melhor o local do kernel, imagine que a máquina Linux seja formada por três camadas:

  1. Hardware: é a máquina física, a base do sistema composta de memória (RAM) e unidade central de processamento (CPU), além de alguns dispositivos de entrada e saída (E/S), como disco de armazenamento, componentes de rede e placa gráfica. A CPU executa os cálculos e faz leituras/gravações na memória.
  2. Kernel do Linux: é o núcleo do sistema operacional (está bem no meio). Trata-se do software que reside na memória e instrui a CPU sobre o que fazer.
  3. Processos do usuário: são os programas em execução gerenciados pelo kernel. O conjunto de processos do usuário formam o espaço do usuário. Os processos do usuários também são chamados apenas de processos. Além disso, o kernel estabelece a comunicação entre esses processos e os servidores, o que é conhecido como comunicação entre processos (IPC).

O código é executado pelo sistema nas CPUs em dois modos distintos: modo kernel ou modo de usuário. Quando executado no modo kernel, o código tem acesso irrestrito ao hardware. Já no modo de usuário, o acesso fica restrito à CPU e à memória na SCI. Há uma separação semelhante na memória: espaço do kernel e espaço do usuário. Esses dois detalhes formam a base de algumas operações complicadas, como a separação de privilégios para fins de segurança, criação de containers e uso de máquinas virtuais.

Isso também significa que se um processo falhar no modo do usuário, o dano será limitado e poderá ser recuperado pelo kernel. No entanto, como ele tem acesso à memória e ao processador, uma falha de processo do kernel pode travar o sistema inteiro. Mas, por haver medidas de segurança a postos e permissões necessárias para ultrapassar certos limites, as falhas nos processos do usuário normalmente não causam grandes problemas.
Além disso, como o kernel do Linux pode continuar funcionando durante a aplicação de live patching, não há downtime enquanto os patches são aplicados para correções de segurança.

O Linux é a base de todas as soluções desenvolvidas pela Red Hat. Somos a segunda empresa que mais colabora para o desenvolvimento do kernel do Linux. Contribuímos há 25 anos com nossa experiência especializada e uma grande comunidade de parceiros, clientes e especialistas de todas as áreas. Temos uma parceria longa e duradoura com a Linux.org, com histórico e nível de experiência difíceis de superar.

O kernel do Linux é open source, e isso é inerente aos valores da Red Hat. Saiba por que nossa empresa nasceu e cresceu tendo como alicerce a convicção de que o Red Hat® Enterprise Linux é a melhor opção.

Leitura recomendada

Artigo

O que é Linux?

O Linux é um sistema operacional open source composto por um kernel, que é sua base, e ferramentas, aplicações e serviços empacotados com ele.

Artigo

O que é SELinux?

O Security-Enhanced Linux (SELinux) é uma arquitetura de segurança para sistemas Linux® que permite que administradores tenham mais controle sobre quem pode acessar o sistema.

Artigo

O que é o kernel do Linux?

O kernel é o componente principal de um sistema operacional Linux e a interface central entre o hardware e os processos executados por um computador.

Leia mais sobre o Linux

Soluções Red Hat

Uma plataforma estável e comprovada, versátil o suficiente para lançar novas aplicações, virtualizar ambientes e criar uma nuvem híbrida mais segura.

Conteúdo adicional

EBOOK

Inovação e eficiência operacional com o Linux

Faça o download deste ebook se quiser ver mais informações sobre o Red Hat Enterprise Linux versão 9.