O que são “estruturas de dados do kernel”?

3

Ao ler sobre o kernel do Linux, me deparei com a noção de estruturas de dados do kernel. Tentei encontrar mais informações no Google, mas não consegui encontrar nada.

  • O que são estruturas de dados do kernel?
  • Quais são seus requisitos, uso e acesso?
  • Qual é a organização da estrutura de dados dentro do kernel?

Exemplos de estruturas de dados do kernel podem ser file_operations ou c_dev .

    
por Karthi prime 08.04.2013 / 10:55

2 respostas

4

O kernel é escrito em C. "Estruturas de dados do kernel" referem-se apenas a várias formações (árvores, listas, matrizes, etc.) de tipos compostos principalmente ( struct s e union s) definidos na origem , que código C é normalmente preenchido com coisas assim. Se você não entende C, eles não serão significativos para você.

As estruturas de dados estruturam o armazenamento de informações na memória ou no espaço de endereço. Não há nada particularmente especial sobre os usados pelo kernel do Linux. Alguns deles podem / devem ser usados se você estiver escrevendo um módulo do kernel, mas seu uso é completamente interno ao kernel. A memória do kernel é acessada apenas pelo kernel e sua estrutura não tem relevância para qualquer outra coisa.

    
por 08.04.2013 / 13:47
1

O kernel acompanha o estado do sistema - processos de usuário existentes, memória alocada, status dos processadores, drivers de dispositivos carregados, status do hardware, E / S armazenada em cache, portas de rede, timers e até métricas de desempenho. Basicamente, tudo o que é um recurso do sistema e não faz parte de um processo do usuário, e não faz parte do próprio programa do kernel.

Todas essas informações são armazenadas em "estruturas de dados do kernel", que é apenas uma memória que armazena registros formatados de maneiras definidas.

Normalmente, você encontra essa palavra quando lê sobre depuração, rastreio ou dump do kernel. Um dump do kernel pode copiar apenas as estruturas do kernel, ou as estruturas do kernel, bem como os dados do processo / usuário. Na maioria das vezes você só precisa das estruturas de dados do kernel.

    
por 08.04.2013 / 11:22

Tags