Nos sistemas operacionais os sinais são meios usados para qu...

Próximas questões
Com base no mesmo assunto
Q80154 Sistemas Operacionais
Nos sistemas operacionais os sinais são meios usados para que os processos possam se comunicar e para que o sistema possa interferir em seu funcionamento. No Linux, o sinal SEGV tem a função de
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: A - informar os erros de endereços de memória.

Vamos entender por que essa alternativa está correta e esclarecer o assunto abordado na questão.

No contexto dos sistemas operacionais, especialmente no Linux, os sinais (signals) são um mecanismo fundamental para a comunicação entre processos e para que o sistema possa gerenciar e controlar o comportamento dos processos em execução.

Os sinais são, basicamente, notificações assíncronas enviadas para um processo com o objetivo de chamar a atenção deste processo para um evento específico. Cada sinal tem um número associado e uma função específica.

O sinal SEGV, mencionado na questão, é o SIGSEGV, que é a abreviação de Segmentation Violation. Este sinal é usado para indicar que um processo tentou acessar uma área de memória indevida, ou seja, um endereço de memória que não lhe pertence ou que não está devidamente mapeado. Este tipo de erro é comum em situações de buffer overflow ou null pointer dereference.

Portanto, a Alternativa A está correta porque o sinal SEGV (SIGSEGV) informa os erros de endereços de memória.

Vamos brevemente analisar as outras alternativas para consolidar a compreensão:

Alternativa B: Este comportamento é associado ao sinal SIGKILL, que termina um processo imediatamente e não pode ser ignorado ou tratado pelo processo.

Alternativa C: Descreve o comportamento do sinal SIGCONT, que instrui a continuação da execução de um processo que foi interrompido (por um sinal SIGSTOP ou SIGTSTP, por exemplo).

Alternativa D: Refere-se ao sinal SIGILL, que indica a execução de uma instrução ilegal pelo processo, como uma instrução inválida ou corrompida.

Alternativa E: Este comportamento é normalmente associado ao sinal SIGKILL ou SIGTERM, que são usados para "matar" um processo.

Espero que esta explicação tenha deixado claro o funcionamento dos sinais no Linux e por que a alternativa A é a correta. Se tiver mais dúvidas ou precisar de mais detalhes sobre outros sinais, fique à vontade para perguntar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Resposta Letra A

 

Entre os sinais existentes, tem-se os seguintes exemplos:

STOP - esse sinal tem a função de interromper a execução de um processo e só reativá-lo após o recebimento do sinal CONT;
CONT - esse sinal tem a função de instruir a execução de um processo após este ter sido interrompido;
SEGV - esse sinal informa erros de endereços de memória;
TERM - esse sinal tem a função de terminar completamente o processo, ou seja, este deixa de existir após a finalização;
ILL - esse sinal informa erros de instrução ilegal, por exemplo, quando ocorre divisão por zero;
KILL - esse sinal tem a função de "matar" um processo e é usado em momentos de criticidade.

Gabarito: A


O GNU/Linux suporta os sinais listados abaixo. Alguns números de sinais são dependentes de arquitetura.

Primeiro, os sinais descritos no POSIX 1:

	Sinal   Valor     Ação    Comentário     ---------------------------------------------------------------------------     HUP        1        A      Travamento detectado no terminal de controle ou                                 finalização do processo controlado     INT        2        A      Interrupção através do teclado     QUIT       3        C      Sair através do teclado     ILL        4        C      Instrução Ilegal     ABRT       6        C      Sinal de abortar enviado pela função abort     FPE        8        C      Exceção de ponto Flutuante     KILL       9       AEF     Sinal de destruição do processo     SEGV      11        C      Referência Inválida de memória     PIPE      13        A      Pipe Quebrado: escreveu para o pipe sem leitores     ALRM      14        A      Sinal do Temporizador da chamada do sistema alarm     TERM      15        A      Sinal de Término     USR1   30,10,16     A      Sinal definido pelo usuário 1     USR2   31,12,17     A      Sinal definido pelo usuário 2     CHLD   20,17,18     B      Processo filho parado ou terminado     CONT   19,18,25            Continuar a execução, se interrompido     STOP   17,19,23    DEF     Interromper processo     TSTP   18,20,24     D      Interromper digitação no terminal     TTIN   21,21,26     D      Entrada do terminal para o processo em segundo plano     TTOU   22,22,27     D      Saída do terminal para o processo em segundo plano

As letras da coluna Ação tem o seguinte significado:

  • A - A ação padrão é terminar o processo.

  • B - A ação padrão é ignorar o sinal.

  • C - A ação padrão é terminar o processo e mostrar o core.

  • D - A ação padrão é parar o processo.

  • E - O sinal não pode ser pego.

  • F - O sinal não pode ser ignorado.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo