SóProvas


ID
17905
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considerando-se o algoritmo de escalonamento por alternância circular (round-robin) aplicado a sistemas interativos, que problema pode ocorrer quando um quantum muito longo é adotado?

Alternativas
Comentários
  • Round-robin job scheduling may not be desirable if the size of the jobs or tasks are strongly varying. A process that produces large jobs would be favoured over other processes. This problem may be solved by time-sharing, i.e. by giving each job a time slot or quantum (its allowance of CPU time), and interrupt the job if it is not completed by then. O método de escalonamento de processos Round Robin pode não ser vantajoso se o tamanho dos jobs ou tarefas varia muito. Um processo que gera jobs maiores pode ser favorecido em relação a outros processos. Ess problema pode ser resolvido por "time-sharing", ou seja, dar a cada job um "time slot" ou "quantum" (uma atribuição de tempo de CPU), e interromper o job se ele não termonou ao fim do período de "quantum".
  • Round-Robin é um dos mais antigos e simples algoritmos de escalonamento. É largamento usado, e foi projetado especialmente para sistemas time-sharing.

    A idéia do algoritmo é a seguinte. Uma pequena unidade de tempo, denominada timeslice ou quantum, é definida. Todos os processos são armazenados em uma fila circular. O escalonador da CPU percorre a fila, alocando a CPU para cada processo durante um quantum. Mais precisamente, o escalonador retira o primeiro processo da fila e procede à sua execução. Se o processo não termina após um quantum, ocorre uma preempção, e o processo é inserido no fim da fila. Se o processo termina antes de um quantum, a CPU é liberada para a execução de novos processos. Em ambos os casos, após a liberação da CPU, um novo processo é escolhido na fila. Novos processos são inseridos no fim da fila.

    Dessa forma se for adotado um quantum cosideravelmente grande como sugere a questão, as requisições curtas sofrerão uma degradação no tempo de resposta, pois terão que aguardar pelo menos um quantum (que neste caso é grande) para cada requisição maior que estiver a sua frente na fila do round-robin.

    A alternativa correta seria a E

     

     

     

     

     

     

     

     

     

     

  • a) Aumento do número médio de preempções.   ERRADO! Se o quantum é maior, cada processo passa mais tempo em processamento. Portanto a taxa de preempções diminui.    b) Aumento do número de alternância de processos.   ERRADO! Mesma ideia da assertiva anterior. Preempção está diretamente associada a alternância de processos.    c) Aumento do número de timeouts de processos ociosos.   ERRADO!  Timeout é um conceito ligado a comunicação de processos. Este é um cenário de escalonamento de processos, por isso não se encaixa o timeout.    d) Redução na eficiência da CPU.   ERRADO! A CPU fica mais eficiente (para tarefas em lote), pois a preempção é muito dispensiosa (salvamento de contexto, escalonamento, etc.)    e) Degradação no tempo de resposta às requisições interativas curtas.   Correto! Se os processos ficam mais tempo executando, haverá menos oportunidades para as requisições interativas curtas executarem.
  • Como dito no comentário anterior, a eficiência da CPU pode até aumentar. Isso vai depender do tipo de processo (CPU-bound ou I/O-bound).

    O que podemos afirmar sobre a alternativa D) é que o "throughput" diminuirá.
  • Letra E.

     

    Em suma, se você der muito tempo de CPU para cada processo (quantum), os processos pequenos ficaram na fila de "Pronto" esperando por um longo tempo... consequentemente o "Tempo de Resposta" será alto e prejudicará processos interativos.