O kernel Linux é utilizado em computadores de todo o mundo há três décadas. Devido ao facto de o kernel ser utilizado em diferentes plataformas, esta solução está presente em quase todo o lado, por exemplo, em PCs, smartphones, eletrónica de vestir, electrodomésticos e dispositivos de rede. Neste artigo, vamos dar uma vista de olhos à arquitetura do kernel, às suas principais tarefas e interfaces.
Sabe-se que o código de montagem permite obter ainda mais desempenho, mas, em termos de capacidades, é um pouco limitado, uma vez que a maior parte do código é escrita em linguagem C. Esta percentagem chega a ser de 98%. Em linguagem assembly, decidimos fazer apenas inserções insignificantes que aumentam ligeiramente o desempenho, funções dependentes da arquitetura e o carregador.
Qual é a arquitetura do kernel Linux? O nível de acesso aos recursos do PC depende em grande parte do tipo de kernel utilizado pelo SO. Em termos de privilégios, o kernel permanece acima das outras aplicações. Tendo em conta o número de tarefas a realizar, a solução da tarefa tem lugar ao nível do kernel, pelo que se distinguem diversas variedades. A solução mais comum é monolítica, microkernel e híbrida.
A parte de leão do kernel monolítico do Linux é armazenada num único ficheiro. Mas isso ainda não indica que ele pertence ao kernel monolítico, mas os módulos são capazes de armazenamento separado. O truque principal é que o kernel pode tratar de todos os pedidos, mas não tem em conta os pedidos das aplicações dos utilizadores. O kernel assume tarefas como:
Apesar da natureza monolítica do kernel, ele consiste em módulos internos que são carregados conforme necessário e não individualmente. Alguns módulos são mantidos separados do kernel, mas na sua maioria são controladores de dispositivos auxiliares. O kernel é o software mais privilegiado num PC. Especificamente falando sobre o kernel do Linux, ele é monolítico. Esta é a principal coisa a saber nesta fase.