No mundo dos computadores , um kernel é um programa núcleo que gerencia recursos de um computador para o sistema operacional . Os recursos gerenciados incluem os processos ( programas em execução ), os dispositivos de memória, CPU e hardware . O kernel Linux fornece gestão de recursos para o sistema operacional Linux. É um kernel monolítico que suporta mais hardware do que qualquer outro sistema operacional da história , de acordo com Greg Kroah -Hartman , um dos desenvolvedores do kernel do Linux. Open Source
O kernel Linux é composto por mais de quatro milhões de linhas de código, tornando-o um dos maiores projetos de código aberto. Toda a base de código pode ser visualizado e modificado por qualquer pessoa. Com um grande número de desenvolvedores de visualização do código-fonte , os problemas de segurança podem ser vistos e corrigidos rapidamente. Ele também permite que os desenvolvedores escrevam o código necessário para suportar o novo hardware e adaptá-lo às novas tecnologias e condições.
Monolítico com suporte para módulos carregáveis dinamicamente
O Linux kernel é monolítico - todos os serviços básicos estão aglomeradas no kernel. Um kernel monolítico oferece acesso direto ao hardware. Não há fila para o tempo do processador . Processos podem se comunicar uns com os outros . Hardware suportado funciona automaticamente, sem a necessidade de software adicional.
O kernel do Linux também suporta módulos carregáveis dinamicamente . Apenas os módulos necessários são carregados durante o processo de inicialização. Os usuários podem carregar módulos adicionais quando forem necessárias , sem ter que reiniciar o sistema operacional.
Verdadeira multitarefa
O kernel Linux é projetado para suportar vários usuários executando vários processos (programas) simultaneamente . Cada processo em execução tem seu próprio espaço de endereço virtual. Os espaços de endereçamento são completamente separados um do outro . Isso mantém um processo falhado de causar todo o sistema falhar. O kernel aloca os recursos do sistema para cada processo individualmente.
Suporte para hardware e sistemas de arquivos
Linux suportes pode ser executado em várias arquiteturas de computadores diferentes, incluindo ARM, PA- RISC, IBM , Intel, x86 e SPARC . Ele também suporta um grande número de periféricos como dispositivos USB , drives de CD /DVD , webcams e impressoras , tudo sem a necessidade de drivers adicionais . O kernel reconhece a arquitetura e os periféricos conectados -in durante o processo de inicialização e carrega o software apropriado para executá-los.
Linux suporta vários sistemas de arquivos , incluindo o Ext3 , ReiserFS , HPFS, MS- DOS, e NFS sistemas de arquivos SysV . Os sistemas de arquivos Linux mais utilizados são Ext3 e Ext4 . Você pode optar por usar outro tipo , como o ReiserFS . Linux suporta MS -DOS e NFS para ler Windows e unidades de rede.