Nos sistemas operacionais os sinais são meios usados para qu...
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.
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