Kernel Linux: Funcionalidades, Comandos e Módulos

Classificado em Computação

Escrito em em português com um tamanho de 3,52 KB.

O Kernel Linux: Funcionalidades e Características

Definição e Papel do Kernel

O Kernel é o núcleo do sistema operacional Linux. Ele controla os dispositivos e periféricos do sistema, como memória, placas de som e vídeo, discos rígidos, sistemas de arquivos, redes e outros recursos. É importante diferenciar o Kernel da distribuição Linux, pois o Kernel é apenas uma parte do sistema operacional.

Para que um dispositivo funcione corretamente, o Kernel precisa oferecer suporte a ele e seus parâmetros devem ser configurados. O documento Hardware-HOWTO lista os periféricos suportados e não suportados pelo GNU/Linux.

Módulos do Kernel

Módulos são partes do Kernel que são carregadas sob demanda, quando solicitadas por um aplicativo ou dispositivo, e descarregadas da memória quando não são mais necessárias. Essa abordagem modular oferece duas vantagens:

  • Kernel mais enxuto: Evita a necessidade de um Kernel grande e estático que ocupe muita memória com todos os drivers compilados.
  • Eficiência de memória: Permite que partes do Kernel ocupem a memória somente quando forem realmente necessárias.

Os módulos são carregados automaticamente pelo programa kmod ou manualmente através do arquivo /etc/modules, insmod ou modprobe.

Comandos para Gerenciar Módulos do Kernel

modprobe

O comando modprobe carrega um módulo e suas dependências manualmente. Ele permite carregar vários módulos e dependências de uma só vez. Seu comportamento é definido pelo arquivo /etc/modules.conf.

Exemplo: modprobe nome_do_modulo parametro=valor

kmod

O kmod é um daemon que carrega os módulos automaticamente quando são requisitados pelo sistema. Ele monitora constantemente o sistema e, ao detectar a necessidade de um módulo, carrega-o automaticamente.

É possível desativá-lo recompilando o Kernel, encerrando o processo ou modificando o arquivo /etc/modules. Se desativado, os módulos devem ser carregados manualmente com modprobe ou insmod.

lsmod

O comando lsmod lista os módulos carregados no Kernel. A coluna "Module" indica o nome do módulo, "Used" mostra quais módulos o estão usando e "(autoclean)" indica que o módulo será removido automaticamente quando não estiver mais em uso.

Módulos carregados através de /etc/modules não possuem o parâmetro "(autoclean)" e não são removidos automaticamente.

insmod

O comando insmod carrega um módulo manualmente. Para módulos com dependências, é possível carregá-las manualmente ou usar o modprobe, que as carrega automaticamente.

Exemplo: insmod ne io=0x300 irq=10

rmmod

O comando rmmod remove módulos carregados no Kernel. Utilize lsmod para visualizar os módulos carregados. Uma mensagem de erro será exibida se você tentar remover um módulo que ainda está em uso.

depmod

O comando depmod verifica as dependências entre os módulos. Essa verificação é crucial para garantir que todas as dependências estejam disponíveis durante a inicialização do sistema. O comportamento do depmod pode ser modificado através do arquivo /etc/modules.conf.

Exemplo: depmod -a

Entradas relacionadas: