O que são módulos do kernel do Linux?

1

Eu queria saber se alguém poderia explicar o que os módulos do kernel Linux são para alguém que vem do Windows?

    
por Phenom 31.07.2010 / 09:14

3 respostas

3

É uma maneira de carregar dinamicamente o código no kernel do Linux, que é a parte de nível mais baixo do sistema operacional GNU / Linux. Os drivers de dispositivo do Windows são usados com frequência para propósitos semelhantes. Você pode ler esta FAQ um tanto antiga. Algumas coisas mudaram, mas a ideia básica continua a mesma.

    
por 31.07.2010 / 09:17
2

Módulos de kernel são pedaços de código autônomos que são carregados no kernel para fornecer suporte para hardware específico.

Por exemplo, o próprio kernel do Linux não pode usar uma porta serial (RS-232), mas quando você carrega o módulo do kernel apropriado, ele pode.

O comando lsmod mostrará uma lista de módulos do kernel atualmente carregados.

    
por 31.07.2010 / 09:26
1

Os módulos do kernel Linux são equivalentes em conceito aos drivers de dispositivos do Windows.

Para que um hardware funcione, você precisa de um driver para ele no Windows, e você precisa de um módulo de kernel de driver de dispositivo para ele no Linux.

Os drivers de dispositivo precisam acessar diretamente o hardware e, portanto, executar no modo kernel. Aplicações normais de usuário são executadas no modo de usuário. Um programa de modo de usuário tem as proteções da MMU da CPU e não pode interferir na operação de outro programa de modo de usuário ou qualquer coisa em execução no modo kernel. As coisas em execução no modo kernel não têm essa proteção, mas podem acessar o hardware diretamente. Então é por isso que eles são chamados de módulos do kernel.

Você pode criar seu próprio kernel Linux e incorporar módulos no kernel. Eles então deixam de ser módulos nesse ponto e fazem parte do kernel. Geralmente é vantajoso construir apenas um pequeno número de drivers necessários para inicializar e deixar que a detecção de hardware carregue o restante do necessário, embora você possa construir um kernel completamente "estático" que não precise carregar módulos, se quiser.

    
por 12.04.2012 / 16:12