SóProvas


ID
2525047
Banca
FCC
Órgão
DPE-RS
Ano
2017
Provas
Disciplina
Sistemas Operacionais
Assuntos

Dentre as políticas de escalonamento de processos a seguir, a que apresenta maior probabilidade de ocasionar o starvation é a

Alternativas
Comentários
  • Gabarito letra E:

    Conceito de Não preempção: " Um algoritmo de escalonamento não preemptvo escolhe um processo para executar, e, então, o deixa executar até que seja bloqueadp (a espera de E/S ou de um outro processo) ou até que voluntáriamente libera a CPU" Sistesmas Operacionais Modernos 3a Edição, Tanebaum.

    Conceito de starvation : "Em programação concorrente, ocorre inanição quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado. Em um ambiente computacional multitarefa, a execução de diversos processos simultâneos deve seguir uma regra de escalonamento destes para uso do processador. Isso se deve ao fato de que, durante a mudança de contexto pelo processador, é feita a escolha do próximo processo a ser executado a partir da prioridade deste. Quando o escalonamento não é feito adequadamente, pode haver inanição."

    Resumo se é um algoritmo não-preemprivo o rpocesso poderá ficar executando indefinidamente causando a inanição(starvation) de outros processos que nunca serão escalonados para usa a CPU.

  • Lembrando que o FIFO também é não preemptivo.

  • Não consegui entender essa pois para mim tanto FIFO quanto Não preemptivo seriam possíveis respostas. Tanto que FIFO está inserido em Não preemptivo

  • Questão um pouco confusa.

  • Acho que FIFO é mais especifico que não-preenptivo, visto que qualquer algoritmo de execução, se for não-preenptivo, poderá gerar inanição. É importante saber que FIFO especifica a ordem de escolha de processos. Execução não-preenptiva faz com que processos que aguardam outro evento permaneçam em "RUM". É a não-preenpção que gera starvation (e não a execuçaõ FIFO)

  • Com a definição de Starvation na mente (Starvation (inanição) - processo nunca consegue executar sua região crítica, ou seja, acessar o recurso compartilhado. Processo com o arquivo extenso nunca consegue alocar o arquivo) temos que procurar qual política de escalonamento é não preemptiva, ou seja, processo que entra no processador e roda até terminar sem jamais ser interrompido. Ex: FIFO e SJF. A, B e C são preemptivas, o que elimina a D também. Resposta E!

  • Alternativa correta: E. 

     

    Tinha marcado A, mas agora entendo que a E é a correta mesmo. 

     

    a) ERRADA: Round Robin é um FIFO com controle de tempo de execução (cada processo executa por X tempo, depois sai da CPU e vai pro fim da fila). Não ocorre preempção desta forma;

    b) ERRADA: não encontrei nenhum algoritmo com esse nome. O Round Robin usa um método que pode ter um nome parecido, mas só isso mesmo;

    c) ERRADA: FIFO é uma fila simples, cada processo ocupa a CPU na ordem em que chega e só sai quando terminar a execução. Não ocorre starvation porque todos vão executar cedo ou tarde;

    d) ERRADA: em um algoritmo preemptivo, um processo com menos prioridade pode ganhar mais prioridade com o tempo e eventualmente passar na frente de outro;

    e) GABARITO: já aqui ocorre o oposto da explicação da letra D, por isso é que pode ocorrer starvation. 

    Dúvidas/sugestões: mandem mensagem. 

  • No meu ponto de vista, o algoritmo First-in-First-Out (que inclusive está escrito errado na questão) e os algoritmos Não-preemptivos tem a mesma probabilidade de ocasionar um starvation, visto que o FIFO é baseado em não-preempção, a diferença é que ele especifica a ordem de escalonamento dos processos.

  • Renato Ribeiro, seu ponto de vista é interessante, porém creio estar errado.

    Sendo o FIFO, uma hora a execução vai ser finalizada, independente do tempo que levar na fila, não gerando inanição.