Núcleo

Definição - O que significa Kernel?

Um kernel é o componente principal de um sistema operacional. Usando comunicação entre processos e chamadas de sistema, ele atua como uma ponte entre os aplicativos e o processamento de dados executado no nível do hardware.

Quando um sistema operacional é carregado na memória, o kernel é carregado 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.

Definirtec explica Kernel

Um kernel de computador faz interface entre os três principais componentes de hardware de computador, fornecendo serviços entre a interface de aplicativo / usuário e a CPU, memória e outros dispositivos de I / O de hardware.

O kernel fornece e gerencia recursos do computador, permitindo que outros programas executem e usem esses recursos. O kernel também configura o 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 dentro dos programas para execução.

O kernel é responsável por:

  • Gerenciamento de processos para execução de aplicativos
  • Gerenciamento de memória, alocação e I / O
  • Gerenciamento de dispositivos por meio do uso de drivers de dispositivos
  • Controle de chamada do sistema, que é essencial para a execução dos serviços do kernel

Existem cinco tipos de kernels:

  1. 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 assim acesso poderoso e rico ao hardware.
  2. Microkernels: definem uma abstração simples sobre o hardware que usa primitivas ou chamadas de sistema para implementar serviços mínimos de SO, como multitarefa, gerenciamento de memória e comunicação entre processos.
  3. Kernels híbridos: execute alguns serviços no espaço do kernel para reduzir a sobrecarga de desempenho dos microkernels tradicionais, onde o código do kernel ainda é executado como um servidor no espaço do usuário.
  4. Nano Kernels: simplifique o requisito de memória delegando serviços, incluindo os básicos, como controladores de interrupção ou temporizadores, para drivers de dispositivo.
  5. Exo Kernels: aloque recursos de hardware físico, como tempo de 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.