Kernel
O kernel é a parte mais importante do Linux, pois é o responsável por controlar os hardwares e os softwares. Este se encontra entre a camada de hardware e o GNU e é responsável pelo gerenciamento das tarefas em 4 áreas gerais do sistema:
TAREFA
DESCRIÇÃO
Gerenciamento de Processos
Determina quais processos tem permissão para usar a CPU
Gerenciamento de Memória
Ajuda a monitorar toda a memória - que parte será alocada no momento para um processo em particular, que parte deve ser compartilhada entre os processos e que parte está livre
Device Drivers
Atua como uma interface entre o hardware (por exemplo, um disco) e os processos. Normalmente, operar o hardware é uma tarefa do kernel
Chamadas de Sistema e Suporte
Os processos normalmente usam chamadas de sistema (syscall) para se comunicar com o kernel
NOTA: Nas Chamadas de Sistema e Suporte, temos duas chamadas importantes para entender como os processos são inicializados:
fork() = Quando um processo chama fork(), o kernel cria uma cópia praticamente idêntica ao processo.
exec() = Quando um processo chama exec(programa), o kernel inicia programa, substituindo o processo corrente.
Boot Loader
Geralmente o Kernel está localizado em /vmlinuz
ou em /boot/vmlinuz
. Um boot loader (carregador de boot) carrega esse arquivo na memória e o coloca em ação quando o sistema é inicializado.
Depois que o boot loader executar e colocar o kernel em ação, o principal do Kernel não será mais utilizado pelo sistema em execução. Entretanto você encontrará muitos módulos que o kernel pode carregar e descarregar por demanda durante o curso normal de operação do sistema. Eles são chamados de Módulos Carregáveis do Kernel e estão localizados em /lib/modules
.
Informações Sobre Kernel
CUIDADO: Manipular o Kernel pode deixar o SO inutilizável. Ao realizar por exemplo um PrivEsc, utilize o Kernel em último caso, para não correr o risco de comprometer o Linux.
Last updated