Limpeza do espaço de troca durante a execução

0

Eu tenho uma questão teórica O que aconteceria se eu limpasse todo o espaço de troca durante a execução, O sistema operacional falharia devido a falhas de página que aconteceriam no kernel?

    
por Lee 09.04.2016 / 21:52

2 respostas

4

Se você apenas quer dizer "swapoff -a" quando diz "clean up", então não.

Se você corromper / sobrescrever o dispositivo / arquivo de swap, é muito provável que um aplicativo que seja trocado de volta (com dados corrompidos) falhe, sim. O kernel não é trocado, então o "sistema" não falharia.

    
por 09.04.2016 / 22:08
6

Substituir a troca por valores aleatórios é equivalente a sobrescrever imagens de processo na memória com valores aleatórios.

Se um segmento de texto com valores aleatórios for executado, o resultado mais provável é a finalização do processo devido a uma instrução ilegal (sinal SIGILL ).

Se um segmento de dados com valores aleatórios for lido, o resultado é provavelmente a finalização do processo devido a uma falha de segmentação (sinal SIGSEGV ), porque os ponteiros apontarão fora do espaço de endereço do processo. Note que os ponteiros são dados, assim como os escalares. Especialmente a pilha geralmente contém vários ponteiros; Quando uma instrução return é executada, uma entrada de pilha aleatória causa um salto para um endereço aleatório.

    
por 10.04.2016 / 12:56

Tags