Na ordem inversa, porque a explicação é um pouco mais fácil assim:
-
Módulo de kernel carregável: refere-se a uma parte do código que pode ser carregada em tempo de execução pelo kernel. Normalmente, esses são drivers, mas em alguns casos ele pode fornecer funcionalidade extra que não tem nada a ver com hardware ou protocolos (por exemplo, adicionar algumas informações extras de contabilidade ou depuração). Em essência, um módulo do kernel serve a mesma função que uma biblioteca dinâmica para um programa de espaço de usuário (embora a vinculação de baixo nível seja muito mais complicada). Nos sistemas Linux, os módulos do kernel são armazenados em
/lib/modules
, no NetBSD (e acho que a maioria dos outros sistemas BSD exceto OS X) são encontrados em/stand
e no Windows eles são encontrados em vários locais emC:\Windows
. / p> -
Correção de kernel: vem em duas variedades, ao vivo e off-line. O patch de kernel offline é essencialmente apenas uma atualização do kernel (e deve ser feito como tal ao invés de aplicar um patch ao binário do kernel). Patch de kernel ativo é um recurso que permite que atualizações sejam aplicadas a um kernel do sistema operacional em execução sem tempo de inatividade. Pelo menos no Linux, as correções de kernel ao vivo estão contidas em módulos especiais do kernel. Note que o live kernel patching é não o mesmo que carregar uma nova versão de um driver após descarregar a versão antiga (como o Windows faz ao atualizar certos tipos de drivers).
-
Patch de memória do kernel: Este é um termo ambíguo fora de contexto, mas em todo contexto que vi, ele se refere à atualização de estruturas de dados na memória em um kernel em execução como parte de um patch de kernel ativo. Também pode se referir a técnicas usadas por alguns malwares para modificar a memória do kernel para acionar uma exploração. Raramente tem algo a ver com a quantidade de memória no sistema, e adicionar e remover memória geralmente é chamado de 'hotplugging'.