O kernel Linux é um kernel gratuito e de código aberto crítico para muitos sistemas de computador. No sistema operacional (SO) Linux, o kernel Linux forma uma interface crítica entre as camadas de hardware e software, permitindo que o SO gerencie muitos componentes diferentes de uma só vez.
Os kernels são programas de computador que formam o núcleo de um sistema operacional (SO) e oferecem ao usuário controle total sobre os componentes de hardware e software que compõem o sistema. Os kernels ajudam a evitar conflitos entre processos importantes que são essenciais para o funcionamento adequado do sistema. O código do kernel é mantido na memória do computador e permite todas as interações entre software e hardware; por exemplo, entrada/saída (E/S), uso de CPU e cache, drivers de dispositivo, sistemas de arquivos e soquetes de rede.
O kernel Linux kernel foi desenvolvido em 1991 por Linus Torvalds como uma alternativa gratuita ao Unix, um dos primeiros sistemas operacionais que permitia aos usuários interagir diretamente com computadores. Nos anos que se seguiram, o kernel Linux e as versões subsequentes do kernel e os lançamentos do kernel se tornaram críticos para as distribuições do Linux. Atualmente, eles são usados por algumas das maiores empresas de tecnologia, software e computação do mundo.
A cada nove a 10 semanas, uma nova versão do kernel Linux é lançada. Essas versões, chamadas de "kernels estáveis", são criadas por desenvolvedores de kernel do Linux e mantenedores de repositórios do Linux e podem ser encontradas em kernel.org e no GitHub.
Alguns fornecedores, no entanto, como Debian e Red Hat, preferem manter uma árvore de origem personalizada — uma coleção de todo o código-fonte do kernel Linux para seus próprios projetos. Essa abordagem tem ramificações críticas para o uso do kernel Linux em muitas aplicações empresariais modernas, como inteligência artificial (IA), edge computing e Internet das coisas (IoT).
Por exemplo, o Red Hat Enterprise Linux é uma plataforma Linux estável e de alto desempenho que apresenta funcionalidades de segurança e recursos de gerenciamento, e é construído usando a árvore de origem Linux personalizada da Red Hat. O Debian usa sua árvore de origem para manter o Ubuntu, um código aberto que é fundamental para muitas arquiteturas de IoT.
Um kernel é um programa de computador que funciona como o coração do sistema operacional, o sistema que permite aos usuários interagir com o hardware e o software do computador. No caso do sistema operacional Linux, o kernel Linux é o código que forma o componente central do sistema operacional, permitindo que ele execute suas funções.
O sistema operacional Linux é composto por vários componentes além do kernel Linux, como bibliotecas do sistema, utilitários de espaço do usuário e aplicações. No entanto, todos esses componentes dependem do kernel Linux para se comunicarem com o sistema operacional para que possam receber comandos, como entrada/saída (E/S), e atender às solicitações do usuário. O kernel Linux é conhecido por sua flexibilidade e pode ser modificado de acordo com a necessidade do usuário ou para atender aos requisitos de um programa específico.
Cada lançamento do kernel Linux tem um ciclo de vida em que é testado, liberado ao público e, em seguida, descontinuado gradualmente. O ciclo de vida do kernel Linux é dividido em cinco fases: Prepatch, Mainline, Stable Review, Long Term Support (LTS) e End of Life (EOL).
Boletim informativo do setor
Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.
Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.
Atualmente, o Linux é um dos sistemas operacionais de código aberto mais usados no mundo. Isso se deve em grande parte à flexibilidade e eficácia do kernel Linux. Ele fornece muitos dos recursos de gerenciamento e controle que tornam o sistema operacional Linux uma plataforma tão poderosa, incluindo aqueles que alimentam a CPU (o cérebro ativo de um sistema de computador) e sua capacidade de rede (sua capacidade de se conectar a outros dispositivos e compartilhar recursos e informações). Estes são alguns dos mais amplos benefícios empresariais do kernel Linux:
O kernel Linux é composto por seis camadas distintas ou subsistemas que habilitam suas funções principais:
Veja a seguir cada um deles e como funcionam.
A camada SCI carrega a funcionalidade que permite ao kernel executar chamadas de sistema a partir do espaço do usuário para o kernel. Esse é um recurso crítico do kernel Linux porque o espaço do usuário é onde o software de aplicação e os drivers executam suas cargas de trabalho, enquanto o espaço do kernel é estritamente para executar funções críticas do sistema operacional. A camada de SCI forma uma ponte entre os dois espaços. Quando uma chamada de sistema é iniciada a partir do espaço do usuário, por exemplo, uma solicitação para atualizar uma caixa de entrada de e-mail ou abrir uma aplicação móvel bancária, a chamada do sistema aciona um comutador para a camada do kernel, permitindo que a solicitação seja transmitida ao sistema operacional.
A camada de gerenciamento de processos permite que o kernel Linux execute os processos que permitem que os usuários interajam com o computador. Por exemplo, quando o Linux é inicializado pela primeira vez, Init (abreviação de "initialization"), leva o sistema a um estado utilizável, executando scripts de inicialização e gerenciando níveis de execução. Cada processo representa uma virtualização individual do processador — por exemplo, código de encadeamento, dados, stack e registros de CPU.
Os computadores gerenciam a memória virtual usando o que é conhecido como "páginas". As páginas são a menor unidade em que os dados podem ser divididos em um sistema operacional que depende de memória virtual. A camada de gerenciamento de memória do kernel Linux permite que o sistema operacional e, por extensão, o usuário, gerencie a memória disponível do computador. A memória virtual é crítica para a funcionalidade de todos os programas e aplicações.
O sistema de arquivos virtual (VFS) do kernel Linux fornece uma interface comum para sistemas de arquivos. O VFS opera como uma camada de comutação entre o SCI e os sistemas de arquivos suportados pelo kernel, permitindo muitas funções críticas (por exemplo, abrir, fechar, ler e escrever).
As abstrações do sistema de arquivos (em outras palavras, a maneira como os arquivos, diretórios e sistemas de arquivos aparecem para os usuários) são outro componente importante da camada VFS, ajudando a apresentar a complexidade de um sistema de computação de uma forma representativa e fácil para o usuário entender.
Cada computador em uma rede, também conhecido como "nó", deve seguir os protocolos de rede — um conjunto rigoroso de regras para compartilhar e receber dados. Esses protocolos são cruciais para permitir que dispositivos incompatíveis usem a mesma rede, por exemplo, um telefone Android e um computador Mac.
Para facilitar esse tipo de comunicação, os protocolos de rede dependem de gateways, que são dispositivos de hardware (como roteadores) que facilitam a comunicação entre duas redes diferentes. A stack no kernel Linux usa muitos dispositivos de gateway comuns, como conversores de taxa, tradutores de protocolo e outros, para possibilitar a comunicação de redes entre dispositivos incompatíveis.
Os drivers de dispositivos fornecem ao SO uma interface de software que permite o funcionamento de um dispositivo específico, como um teclado ou unidade externa, um mouse ou uma impressora. O código-fonte do kernel Linux é composto principalmente por código contido em drivers de dispositivo específicos para um determinado dispositivo.
A árvore de origem do Linux, um diretório que contém todo o código-fonte do kernel Linux e dos drivers de dispositivo, é dividida nos vários dispositivos compatíveis e suas conexões, como Bluetooth ou porta serial. O driver do dispositivo reconhece os comandos dados a um dispositivo individual ou classe de dispositivos e cria solicitações de E/S contendo esses comandos para que o dispositivo funcione da maneira pretendida pelo usuário.
Empresas de setores muito diferentes dependem do kernel Linux e dos vários recursos que eles oferecem para manter sua força de trabalho inovando e fornecer os programas, aplicações e serviços dos quais seus clientes dependem. Aqui estão alguns dos casos de uso empresarial mais comuns para o kernel Linux.
O kernel Linux permite que computadores e dispositivos de computação sejam conectados com segurança por meio de Wi-Fi, Ethernet ou outro tipo de conexão, independentemente da compatibilidade do dispositivo. Essa funcionalidade permite conhecimento crítico e compartilhamento de recursos, como o uso de intranets e a entrega rápida e eficiente de produtos de software como serviço (SaaS).
O kernel Linux está equipado com recursos de segurança robustos que ajudam a proteger os usuários e os sistemas operacionais contra ameaças cibernéticas que podem prejudicar computadores, programas, aplicações e as redes em que são executados. Essas ameaças incluem muitos tipos diferentes de malware, como ransomware, rootkits, worms e muito mais. As ameaças que têm como alvo as vulnerabilidades do kernel Linux são tratadas por meio de patches frequentes, como correções de bugs, que protegem os sistemas e os programas executados neles.
Com 89% das empresas realizando iniciativas de transformação digital2, a otimização dos recursos computacionais dedicados à transformação digital tornou-se parte essencial da maioria das estratégias empresariais.
O kernel Linux ajuda as empresas a equilibrar as necessidades dos Recursos de computação mais valiosos (como servidores, bancos de dados e software de aplicações de ponta), para que possam ter certeza de que seus sistemas e redes estão funcionando em níveis máximos por meio de um processo chamado ajuste do kernel.
O ajuste do kernel está ajustando sutilmente as configurações do kernel Linux para melhorar o desempenho em subsistemas específicos do kernel Linux, como rede, memória, agendamento de processos e sistemas de arquivos. No caso de sistemas de arquivos, por exemplo, muitas aplicações de computação intensiva de dados, incluindo videogames, aplicativos de negociação financeira e sites de redes sociais, exigem o ajuste dos parâmetros do sistema de arquivos para serem executados em níveis de pico. O sistema de arquivos proc, um VFS no sistema operacional Linux, faz interface entre estruturas de dados internas no kernel para obter dados sobre o sistema de modo que os parâmetros do kernel possam ser ajustados para otimizar o desempenho da aplicação.
As empresas mais bem-sucedidas da atualidade devem equipar os funcionários com tecnologia de ponta, como notebooks e dispositivos móveis, para prosperar. O kernel Linux permite que programas e redes que sustentam milhares de funcionários em diferentes locais — e usando diferentes tipos de dispositivos — colaborem sem dificuldades. O kernel permite que os dispositivos de hardware interajam usando módulos de dispositivos específicos que podem ser carregados no kernel para que possam ser gerenciados pelo sistema operacional.
Um processo popular de gerenciamento de dispositivos Linux é conhecido como interrupt. O interrupt ajuda a conservar os recursos de computação, permitindo que o kernel Linux interrompa a comunicação entre um dispositivo e uma aplicação quando ela não é necessária para uma operação específica. Outra opção é o udev, uma ferramenta de gerenciamento de dispositivos Linux que gerencia a adição e subtração de dispositivos de um sistema operacional e controla como cada dispositivo aparece em um diretório.
A computação em nuvem, a entrega sob demanda de recursos de computação pela internet, tornou-se uma ferramenta essencial para muitas empresas modernas, estimulando a inovação e ajudando a fornecer soluções aos clientes de forma rápida e escalável.
O kernel Linux possibilita a computação em nuvem de maneiras críticas e tornou-se um componente essencial de todos os maiores provedores de nuvem do mundo, incluindo Amazon (AWS), Microsoft Azure, Oracle e Google Cloud.
A escalabilidade do kernel possibilita que ele ofereça suporte a sistemas de computadores maciços, como supercomputadores e data centers, sem aumentar significativamente os recursos de computação - um recurso essencial para arquiteturas de nuvem. O kernel Linux também é ideal para cargas de trabalho na nuvem porque é altamente estável e com downtime relativamente baixo. Finalmente, o kernel Linux é altamente versátil e pode operar em vários tipos de hardware, um recurso fundamental nos ambientes virtualizados que são fundamentais para a nuvem moderna.
1. Top five containerization technologies in 2024, (link externo a ibm.com), 6Sense, 2024
2. The Value of Digital Transformation, (link externo a ibm.com), Harvard Business Review, 31 de julho de 2023
O IBM Cloud Infrastructure Center é uma plataforma de software compatível com o OpenStack para gerenciamento da infraestrutura de nuvens privadas em sistemas IBM zSystems e no IBM LinuxONE.
Conheça servidores, armazenamento e software projetados para sua estratégia corporativa de nuvem híbrida e IA.
Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.