Perguntas sobre 'memory-management'

2
respostas

Qual é o tempo de vida de um descritor de arquivo?

Conforme descrito aqui , os redirecionamentos usam open() para gravar em um arquivo. Há um descritor de arquivo interno (?) Criado no shell e, em seguida, usado quando necessário. O descritor interno é criado para toda a duração do script...
18.05.2018 / 17:11
2
respostas

Por que as regiões mapeadas somente para leitura têm páginas sujas?

Executando (por exemplo) o seguinte comando para obter a lista de páginas mapeadas na memória: pmap -x 'pidof bash' Eu tenho esta saída: Porquealgumaspáginassomenteparaleiturasãomarcadascomo"sujas", ou seja, escritas que exigem um write-...
02.11.2017 / 23:02
0
respostas

Como o cache de páginas é mapeado no kernel em arquiteturas x86 de 64 bits?

Em um Linux x86 moderno de 64 bits, como o mapeamento entre páginas virtuais e físicas é configurado, o lado do kernel? No lado do usuário, você pode mmap em páginas do cache de páginas, e isso irá mapear as páginas 4K diretamente no espaço d...
31.12.2016 / 19:44
1
resposta

Como o endereço do kernel trocou páginas de memória na partição swap \ file?

Uma partição swap não contém um sistema de arquivos estruturado. O kernel não precisa disso porque armazenou páginas de memória na partição marcada como área de troca. Como pode haver várias páginas de memória que na área de troca, como o kernel...
20.08.2017 / 14:31
1
resposta

Criação da região / segmento da pilha no Linux

Entendo que no Linux o carregador de processos não cria automaticamente uma região "heap" para um processo como é o caso da pilha, está correto? Eu usei /proc/$$/maps e, antes da chamada para malloc() , não havia região "heap".     
18.12.2015 / 10:35
0
respostas

Como lidar com uma página excepcional ao alocar páginas de cache contíguas no Linux

Eu tenho um código de módulo do kernel que aloca páginas de cache contíguas. Eu uso radix_tree_for_each_contig (). Aqui está o snippet parcial do código. radix_tree_for_each_contig(slot, tree_root, iter, index) { struct page *page; page = rad...
04.05.2017 / 06:39
1
resposta

Como o kernel decide quais páginas se comprometem a trocar?

Se o uso de RAM for maior que o nível escrito em "permuta", o kernel usará SWAP. Está bem. Mas como o kernel “ordena” programas? É «primeiro a chegar, primeiro a ser servido» para RAM? Ou maiores programas no SWAP? Programas mais usados na RAM?...
13.06.2015 / 18:50
1
resposta

Como o Qubes faz o gerenciamento de memória, especialmente no que diz respeito aos objetos compartilhados?

Estou apenas lendo sobre o sistema operacional do Qubes , e tenho uma pergunta muito simples: como ele faz a memória? gerenciamento e uso compartilhado de objetos? Sinta-se à vontade para corrigir quaisquer equívocos ou erros no vocabulário,...
20.11.2017 / 01:21
0
respostas

Como verificar se a página física está em uso?

Estou implementando kernel thread , que varre páginas físicas inteiras na memória e inspeciona números de quadros de páginas físicas de páginas usadas. No começo, pensei em verificar se uma página específica é usada por PG_lru flag , mas o r...
15.03.2018 / 06:38
2
respostas

O que é ligação de endereço?

Encontrei algumas explicações sobre o que é "binding binding" . Eles dizem que "a vinculação de endereços é uma operação de mapeamento de endereços virtuais ou lógicos para endereços físicos". Esta definição está correta? Eu não posso ter...
23.05.2018 / 11:37