-
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.