Lar Áudio O que é uma falha de segmentação (segfault)? - o que é techopedia

O que é uma falha de segmentação (segfault)? - o que é techopedia

Índice:

Anonim

Definição - O que significa Segmentation Fault (Segfault)?

Uma falha de segmentação (segfault) é um erro retornado pelo hardware com proteção de memória que informa ao sistema operacional que ocorreu uma violação de acesso à memória. O sistema operacional geralmente reage informando o processo incorreto sobre o erro através de um sinal e, em seguida, o sistema operacional executa algum tipo de ação corretiva. Isso acontece porque um processo ou programa tenta acessar a memória que não está atribuída a ele.

Uma falha de segmentação também é conhecida como violação de acesso.

Techopedia explica falha de segmentação (Segfault)

Uma falha de segmentação geralmente é causada por erros na programação de um processo ou aplicativo no qual o programa é levado a acessar a memória que não foi alocada para ele, mas para outros programas ou para o próprio sistema. Um processo não pode tocar na memória não reservada para ele, pois sempre deve solicitar memória antes de usá-lo. Portanto, quando acidentalmente toca na memória que não está atribuída a ele, ocorre uma violação de acesso.


Segfaults também podem ser causados ​​por uma função recursiva, que pode consumir todo o espaço de pilha atribuído e invadir rapidamente a memória não atribuída a ele. Em alguns sistemas, isso é considerado um estouro de pilha, mas para outros é simplesmente um tipo de violação de acesso.


Uma falha de segmentação pode ser tratada por um processo por meio de um manipulador de sinal personalizado, mas geralmente é o manipulador de sinal padrão do sistema operacional usado, o que geralmente resulta no término do processo ofensivo de forma anormal, chamado de falha, ou o sistema operacional forçando um dump principal. .

O que é uma falha de segmentação (segfault)? - o que é techopedia