SóProvas


ID
238318
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação aos sistemas operacionais, julgue os itens subsequentes.

Os métodos de escalonamento de processos preemptivos e não preemptivos se diferenciam pelo componente que decide o momento em que o sistema operacional recupera o uso do processador. No primeiro caso, o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo; no segundo, é o próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional.

Alternativas
Comentários
  • Em computação, preemptividade (algumas vezes preempção) é o ato de interromper temporariamente uma tarefa sendo resolvida por um sistema computacional, sem precisar de sua cooperação, e com a intenção de retomar a tarefa depois.

    Em sistemas operacionais, preemptividade ou preempção é a capacidade de alterar a ordem de (ou tirar de execução) um processo em detrimento de outro com uma prioridade maior.

    Nestes casos, a preemptividade representa a troca do processo em execução, assim sendo, para que o processador seja retirado de um processo, interrompendo seu trabalho, e designado a outro processo, anteriormente interrompido.

    Fonte: http://pt.wikipedia.org/wiki/Preempção

  • Gabarito definitivo mudou a resposta para Errado

    Justificativa CESPE:

    Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para Errado

  • Olá, pessoal!

    O gabarito foi atualizado para "E", após recursos, conforme edital divulgado pela banca e publicado no site.

    Justificativa da banca: Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para ERRADO.

    Bons estudos!

  • Não entendi direito. Teria que ver o recurso, porque pela explicação, não vi o erro.
  • ... No primeiro caso, o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo; ...

    No caso de preemptivos o processo pode decidir encerrar a sua execução ou até memso bloquea-lo para a espera de outro processo antes de esgotar o quantum dedicado a ele.
  • Na minha opinião, o grande erro ai, e que a banca tentou explicar de forma não muito clara, é que, na não prrempção, mesmo que o processo esteja esperando por uma E/S o processador é dele pois ele não terminou a execução. Ele pode até deixa o processador para outro processo, mas não porque o processador determinou, mas porque ,ele, processo, quis.
  • Questão ERRADA.

    Acredito que o erro da questão esteja no trecho: "... no segundo, é o próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional."

    Na realidade o sistema pode ou não retornar o controle do processador ao sistema operacional. De acordo com o livro de Sistemas Operacionais do prof. Carlos Maziero (http://dainf.ct.utfpr.edu.br/~maziero/doku.php/so:livro_de_sistemas_operacionais), no Capítulo 2 - Gerência de Tarefas:

    Sistemas não-preemptivos: a tarefa em execução permanece no processador tanto quanto possível, só abandonando o mesmo caso termine de executar, solicite uma operação de entrada/saída ou libere explicitamente o processador, voltando à fila de tarefas prontas (isso normalmente é feito através de uma chamada de sistema sched_yield() ou similar). Esses sistemas são também conhecidos como cooperativos, pois exigem a cooperação das tarefas para que todas possam executar.
  • Questão difícil.

    No enunciado a preempção é utilizada com o algorítimo de schedule Round-Robin, pois diz que "o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo". Esse intervalo, neste algorítimo, é chamado de quantum de tempo (geralmente de 10 a 100 milissegundos).

    Segundo Silberschatz, em fundamentos de sistemas operacionais, "A fila de prontos é tratada como uma fila circular. O scheduler da CPU percorre a fila de prontos, alocando a CPU para cada processo por um intervalo de até um quantum de tempo".

    Ainda segundo Silberschatz, as decisões de scheduling podem ser tomadas em quatro situações, dentre elas:

    1. Quando um processo passa do estado de execução para o estado de espera (p.ex. como resultado de uma solicitação de I/O ou de uma chamada a wait para o encerramento de um dos processos filhos); e

    2. Quando um processo termina.

    Nas situações acima dizemos que o esquema de scheduling é sem preempção ou cooperativo. No schedule sem preempção, quando a CPU é alocada para um processo, esse a usa até liberá-la no seu encerramento ou ao passar para o estado de espera.


    É isso aí...Não encontrei justificativa para a banca alterar o gabarito.

  • Tipo da questão que você lê, vê que não é 100% precisa, mas imagina que o gabarito vai ser dado como certo e marca certo, torcendo pra que a banca mantenha um certo padrão de preciosismo.

     

    Aí eles resolvem ter uma crise preciosismo.

     

    Além do apontado pelo colega Yank outra imprecisão é dizer que no caso além do "próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional", existe também a possibilidade do processo voluntáriamente ceder a CPU. Isso é muito comum com o uso de Fibers.

     

    Mas o mais complicado é que a banca não diz "apenas/exclusivamente quando" aí temos que ter bola de cristal pra advinhar o grau de preciosismo.

     

  • Prezados,

    Um algoritmo de escalonamento é não preemptivo se, uma vez na posse do CPU, um processo executa até o CPU liberar voluntariamente.Os algoritmos não preemptivos tem alguns problemas graves, como certas classes de processos executam durante muito tempo até serem bloqueadas, e um utilizador egoísta pode impedir que o computador execute processos de outros utilizadores. Nos algoritmos preemptivos o SO usa as interrupções do relógio para retirar o CPU do processo em execução.

    Essa questão inicialmente foi dado como certo , mas o Cespe mudou o gabarito para errado com essa justificativa :

    Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para ERRADO.

    Portanto a questão está errada.