Analise as afirmativas sobre as chamadas de sistema (syscall...

Próximas questões
Com base no mesmo assunto
Q635336 Sistemas Operacionais

Analise as afirmativas sobre as chamadas de sistema (syscalls) do sistema operacional Linux, colocando entre parênteses a letra V, quando se tratar de afirmativa verdadeira, e a letra F, quando se tratar de afirmativa falsa. A seguir, assinale a alternativa que apresenta a sequência correta.


( ) A chamada fork() faz com que o kernel crie uma cópia praticamente idêntica ao processo.

( ) A chamada init() faz com que o kernel crie uma cópia do processo shell e o execute.

( ) A chamada halt() faz com que o kernel suspenda o processo até a próxima interrupção do escalonador de processos.

( ) A chamada exec() faz com que o kernel inicie um novo processo que substitui o processo corrente. 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - V-F-F-V.

Vamos analisar cada afirmativa para entender o porquê dessa resposta.

(V) A chamada fork() faz com que o kernel crie uma cópia praticamente idêntica ao processo.

A função fork() é uma chamada de sistema no Linux que cria um novo processo. Este novo processo é uma cópia quase exata do processo pai, com exceção de alguns detalhes como o ID do processo, que é único. Essa afirmativa é verdadeira.

(F) A chamada init() faz com que o kernel crie uma cópia do processo shell e o execute.

Não existe uma chamada de sistema denominada init() que faça o que foi descrito. O init é, na verdade, o primeiro processo a ser iniciado pelo kernel durante o boot do sistema e não é uma syscall que cria cópias de processos shell. Portanto, essa afirmativa é falsa.

(F) A chamada halt() faz com que o kernel suspenda o processo até a próxima interrupção do escalonador de processos.

A chamada halt() está relacionada ao desligamento do sistema, e não à suspensão de processos. Portanto, essa descrição não está correta, sendo a afirmativa falsa.

(V) A chamada exec() faz com que o kernel inicie um novo processo que substitui o processo corrente.

A exec() é um conjunto de chamadas de sistema que substitui o espaço de memória do processo atual por um novo programa. Assim, o processo original continua, mas agora com um novo código sendo executado. Esta afirmativa é verdadeira.

Com base nesses esclarecimentos, a sequência correta é D - V-F-F-V.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

O processo init é o primeiro programa executado pelo kernel de qualquer sistema operacional Linux/Unix na sua inicialização. Todos os outros processos são denominados como sendo filhos deste e são monitorados pelo init.

Descrição do halt pelo man do linux:

halt, poweroff, reboot may be used to halt, power-off or reboot the machine.

Bons estudos.

Duas chamadas de sistema, fork() e exec(), são importantes para entender como os processos são inicializados

• fork() – quando um processo chama fork(), o kernel cria uma cópia praticamente idêntica do processo.

• exec() – quando um processo chama exec(programa), o kernel inicia programa, substituindo o processo corrente.

Pg. 23 - livro como funcionar o linux..

Halt: Desliga o computador de forma "segura" registrando seu desligamento em log.

Clique para visualizar este comentário

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