Índice:
Definição - O que significa Kernel?
Um kernel é o componente principal de um sistema operacional. Usando a comunicação entre processos e as chamadas do sistema, ele atua como uma ponte entre aplicativos e o processamento de dados realizado no nível do hardware.
Quando um sistema operacional é carregado na memória, o kernel carrega primeiro e permanece na memória até que o sistema operacional seja desligado novamente. O kernel é responsável por tarefas de baixo nível, como gerenciamento de disco, gerenciamento de tarefas e gerenciamento de memória.
Techopedia explica o Kernel
Um kernel de computador faz interface entre os três principais componentes de hardware do computador, fornecendo serviços entre o aplicativo / interface do usuário e a CPU, a memória e outros dispositivos de E / S de hardware.
O kernel fornece e gerencia recursos do computador, permitindo que outros programas executem e usem esses recursos. O kernel também configura espaço de endereço de memória para aplicativos, carrega arquivos com o código do aplicativo na memória, configura a pilha de execução para programas e ramifica para locais específicos nos programas para execução.
O kernel é responsável por:
- Gerenciamento de processos para execução de aplicativos
- Gerenciamento, alocação e E / S de memória
- Gerenciamento de dispositivo através do uso de drivers de dispositivo
- Controle de chamada do sistema, essencial para a execução de serviços do kernel
Existem cinco tipos de kernels:
- Kernels monolíticos: Todos os serviços do sistema operacional são executados ao longo do thread principal do kernel em um kernel monolítico, que também reside na mesma área de memória, fornecendo acesso a hardware poderoso e rico.
- Microkernels: defina uma abstração simples sobre o hardware que usa chamadas primitivas ou de sistema para implementar serviços mínimos do sistema operacional, como multitarefa, gerenciamento de memória e comunicação entre processos.
- Kernels híbridos: execute alguns serviços no espaço do kernel para reduzir a sobrecarga de desempenho dos microkernels tradicionais em que o código do kernel ainda é executado como um servidor no espaço do usuário.
- Nano Kernels: simplifique os requisitos de memória delegando serviços, incluindo os básicos, como controladores de interrupção ou temporizadores nos drivers de dispositivo.
- Kernels Exo: aloque recursos físicos de hardware, como tempo do processador e bloco de disco, para outros programas, que podem ser vinculados a sistemas operacionais de biblioteca que usam o kernel para simular abstrações do sistema operacional.