Escalonamento em Sistemas Computacionais
Pontos principais
- O escalonamento é o mecanismo fundamental que viabiliza a multitarefa em computadores com uma única CPU.
- Os escalonadores podem operar em diferentes níveis temporais: longo prazo, médio prazo e curto prazo.
- Um dos principais desafios do escalonamento é conciliar objetivos conflitantes, como a maximização da vazão e a minimização da latência.
Na ciência da computação, o escalonamento consiste no método pelo qual recursos são atribuídos para a execução de determinadas tarefas. Os recursos computacionais envolvidos podem abranger processadores, links de rede ou placas de expansão, enquanto as tarefas englobam threads, processos ou fluxos de dados. Essa atividade é gerenciada por um componente específico do sistema operacional denominado escalonador.
Objetivos Principais
Os escalonadores são projetados para otimizar o uso dos recursos computacionais e atender a métricas específicas de desempenho. Entre os objetivos mais comuns, destacam-se:
- Maximizar a vazão (throughput), que representa o volume total de trabalho concluído por unidade de tempo.
- Minimizar o tempo de espera desde o momento em que o trabalho se torna pronto até sua primeira execução.
- Minimizar a latência ou o tempo de resposta em sistemas interativos e em lotes.
- Maximizar a justiça na distribuição de tempo de processamento entre os diferentes processos.
Em ambientes de tempo real, como sistemas embarcados de controle industrial, o escalonador deve garantir obrigatoriamente o cumprimento de prazos rígidos para manter a estabilidade do sistema.
Tipos de Escalondores de Sistemas Operacionais
O módulo de escalonamento do sistema operacional decide quais trabalhos são admitidos no sistema e qual processo deve executar em determinado momento. Dependendo da frequência com que tomam decisões, os escalonadores dividem-se em três tipos principais: de longo prazo, de médio prazo e de curto prazo.
Escalonamento de Longo Prazo
O escalonador de longo prazo, também conhecido como escalonador de admissão, determina quais processos são admitidos na fila de prontos na memória principal. Ele controla o grau de multiprogramação e busca manter um equilíbrio adequado entre processos limitados por E/S (I/O-bound) e processos limitados por processamento (CPU-bound).
Escalonamento de Médio Prazo
O escalonador de médio prazo realiza a remoção temporária de processos da memória principal para a memória secundária, processo conhecido como troca (swapping), liberando espaço de memória para outros fluxos de execução ativos.
Escalonamento de Curto Prazo
O escalonador de curto prazo seleciona qual processo residente na memória pronta deve receber o próximo ciclo de execução da unidade central de processamento (CPU).
Perguntas frequentes
O que é o escalonamento em computação?
É a ação de atribuir recursos computacionais, como processadores e links de rede, para a execução de tarefas como processos e threads.
Qual é a função do escalonador de longo prazo?
Sua principal função é decidir quais programas ou trabalhos são admitidos na fila de execução do sistema, controlando o grau de multiprogramação.
O que diferencia processos limitados por E/S de processos limitados por CPU?
Processos limitados por E/S passam mais tempo realizando operações de entrada e saída, enquanto processos limitados por CPU utilizam majoritariamente a capacidade de cálculo do processador.