Multitarefa | alternância de tarefas

Alternância de tarefas

Cada processador pode executar apenas um programa de cada vez. Por esta razão, a multitarefa num sistema uniprocessador (ou monoprocessador) é apenas uma ilusão conseguida com a alternância rápida entre as várias tarefas.

O núcleo do sistema operativo é responsável por isolar os contextos de execução das diversas tarefas. Para conseguir isto, é necessário que uma rotina do núcleo seja chamada a dada altura. Essa rotina (que pode ser chamada por uma interrupção provocada por um temporizador interno do computador) geralmente executa as seguintes operações:

  • Salva o estado do processador numa estrutura de dados do núcleo (a árvore de processos);
  • Seleciona, com base num algoritmo, a próxima tarefa a executar;
  • Se for necessário, reconfigura o espaço de endereçamento de modo a que a próxima tarefa encontre a memória no estado que espera;
  • Carrega o estado do processador referente à tarefa que vai receber tempo de processador;
  • A rotina retorna permitindo que o programa execute.