Questões de Algoritmo de Escalonamento (Sistemas Operacionais)

Limpar Busca

No contexto de um sistema operacional que suporta execução paralela, o analista Léo é encarregado de otimizar um aplicativo que faz uso intensivo de threads. O aplicativo em questão tem experimentado tempos de resposta inconsistentes, suspeitando-se de uma ineficiência na forma como as threads são gerenciadas e escalonadas.

Considerando um ambiente com múltiplos núcleos de CPU, para melhorar o desempenho do aplicativo, o analista Léo deve:

  • A incrementar o número de threads para igualar o número de núcleos de CPU disponíveis, partindo do princípio de que mais threads resultarão em melhor paralelismo e desempenho;
  • B implementar um algoritmo de escalonamento de threads baseado em prioridades, onde threads que realizam operações críticas para o desempenho recebem maior prioridade;
  • C forçar todas as threads a executarem em um único núcleo para evitar a sobrecarga associada à troca de contexto entre diferentes núcleos;
  • D utilizar um modelo de programação baseado em eventos em vez de threads, eliminando a necessidade de gerenciamento de threads;
  • E reduzir a prioridade do processo do aplicativo no gerenciador de tarefas do sistema operacional para que outros processos possam ser executados com maior eficiência, partindo do princípio de que isso indiretamente melhorará o desempenho do aplicativo multithreaded ao otimizar o uso geral de recursos do sistema.

Em um sistema de gerenciamento de recursos de uma grande corporação de tecnologia, o analista Hop precisa resolver um problema de Starvation que afeta a distribuição equitativa de recursos computacionais entre vários processos críticos. Após uma análise profunda, Hop identifica que o algoritmo de escalonamento atual prioriza processos com requisitos de recursos mais altos, deixando processos com requisitos menores em espera indefinida. Para resolver esse problema, Hop propõe uma solução inovadora que reestrutura a lógica de alocação de recursos, garantindo que todos os processos recebam uma fatia justa de tempo de CPU, sem comprometer a eficiência global do sistema.

Para resolver o problema de Starvation, Hop adotou a seguinte abordagem:

  • A implementação de um algoritmo de escalonamento Round-Robin, que distribui o tempo de CPU igualmente entre todos os processos, independentemente de seus requisitos de recursos;
  • B criação de um sistema de prioridades dinâmicas, onde os processos que esperam há mais tempo têm sua prioridade aumentada gradualmente até que sejam atendidos;
  • C adoção do algoritmo de escalonamento First-Come, First-Served (FCFS), garantindo que todos os processos sejam atendidos pela ordem de chegada, sem priorização baseada em requisitos de recursos;
  • D desenvolvimento de um mecanismo de feedback que ajusta a alocação de recursos em tempo real, baseado na análise de uso de CPU e na previsão de demanda futura;
  • E introdução de um sistema de cotas de recursos, onde cada processo recebe uma cota fixa, que pode ser ajustada manualmente conforme a necessidade.

O analista Zeferino está trabalhando em um sistema operacional que necessita de melhorias em seu algoritmo de escalonamento e nas primitivas de sincronização para otimizar o processamento de tarefas em um ambiente de múltiplos processadores.

Visando à otimização do sistema em questão, a abordagem que deve ser adotada é:

  • A implementar o algoritmo de escalonamento Round-Robin com quantuns fixos para todos os processos, independentemente de suas prioridades;
  • B utilizar semáforos binários para todas as operações de sincronização, aplicando o mesmo valor de inicialização para todos os semáforos;
  • C utilizar o algoritmo de escalonamento de Múltiplas Filas com Feedback, ajustando dinamicamente as prioridades dos processos baseado em suas características de execução;
  • D implementar um único lock global para gerenciar o acesso a todas as seções críticas, independentemente de sua relevância ou frequência de acesso;
  • E priorizar a implementação de algoritmos de escalonamento baseados exclusivamente em prioridades fixas, sem considerar a possibilidade de inversão de prioridades.

Uma das funções básicas de sistema operacional de dispositivos computacionais é a de gerenciamento de seus recursos. E, dentre as diversas demandas de gestão desse software básico, existem diferentes algoritmos para o escalonamento de processos interativos disponíveis para implementação em sistemas operacionais.
Há uma técnica de escalonamento que, em um sistema preemptivo, disponibiliza para cada processo uma quantidade fixa de tempo (quantum) para a sua execução. Caso o processo não tenha terminado, é retirado do processador e alocado ao final de uma fila.

Assinale a opção que apesenta o algoritmo de escalonamento que implementa o algoritmo anteriormente descrito.

  • A Alternância circular (round-robin).
  • B Garantido.
  • C Por fração justa (fair-share).
  • D Por loteria.
  • E Por prioridades.

Julgue o próximo item, a respeito de sistemas operacionais. 


O algoritmo de escalonamento round-robin distribui o tempo de CPU igualmente entre todos os processos na fila de prontos, usando uma quantidade de tempo fixo para cada um, independentemente de suas prioridades.

  • Certo
  • Errado