page68
ESPAÇO ABERTO
Artigo
É o segundo maior componente da Kernel e é responsável por implementar o endereçamento e a paginação de todo tipo de dado a ser manipulado pelo processador (ou processadores). Garante que todo e qualquer conjunto de código tenha acesso à memória principal e tem o registro do endereçamento utilizado pelos conjuntos de códigos (aplicativos, bibliotecas, módulos, o próprio Kernel, etc) que é SEMPRE aleatório, considerando os registros e as bibliotecas compartilhadas. Este processo de endereçamento aleatório de instruções de código é chamado de Address Space Layout Randomization, ou ASLR e é um dos fatores que garantem a segurança de acesso exclusivo do Kernel, bem como determina o processo hierárquico de acesso aos códigos em processamento. Essa “tal” paginação é o gerenciamento de memória que converte os endereços lógicos usados pelos aplicativos para manipulação de dados em endereços físicos. Este processo divide a memória principal em “páginas” do mesmo tamanho. Neste contexto, uma “página” tipicamente tem 4KB. Em outras palavras, 4GB de memória RAM são divididos em um milhão de páginas de memória. Estão começando a entender como o Kernel Linux usa a memória? Bom.. não se assustem se não entenderem tudo. Eu levei tempo. Mas isso não impedirá que você compile o seu Kernel. Ok?
O próximo elemento eu creio que entenderão mais facilmente, pois poderão comparar com a realidade de outros sistemas operacionais. Neste ponto em particular eu desejo levantar a “dúvida” em vocês, a partir da pergunta abaixo:
- Qual é o Kernel mais “orientado ao usuário”, que tenta abstrair a necessidade de compreensão do quê é necessário para que um dispositivo de armazenamento de dados forneça acesso a estes dados, sem que o usuário tenha que entender que existe um sistema de arquivos?
Gerenciamento de Memória