Agendamento de processos no sistema operacional: agendador de longo, médio e curto prazo

O que é agendamento de processos?

Agendamento de Processos é uma tarefa do sistema operacional que agenda processos de diferentes estados, como pronto, em espera e em execução.

O agendamento de processos permite que o sistema operacional aloque um intervalo de tempo de execução da CPU para cada processo. Outra razão importante para usar um sistema de escalonamento de processos é que ele mantém a CPU ocupada o tempo todo. Isso permite que você obtenha o tempo mínimo de resposta dos programas.

Filas de agendamento de processos

As filas de agendamento de processos ajudam você a manter uma fila distinta para cada estado de processo e PCBs. Todos os processos do mesmo estado de execução são colocados na mesma fila. Portanto, sempre que o estado de um processo é modificado, seu PCB precisa ser desvinculado de sua fila existente, que volta para a nova fila de estado.

Três tipos de filas do sistema operacional são:

  1. Fila de trabalho – Ajuda a armazenar todos os processos do sistema.
  2. fila de pronto – Este tipo de fila ajuda a definir cada processo residente na memória principal, que está pronto e aguardando para ser executado.
  3. Filas de dispositivos – É um processo que está bloqueado devido à ausência de um dispositivo de E/S.
Filas de agendamento de processos
Filas de agendamento de processos

No diagrama fornecido acima,

  • Retângulo representa uma fila.
  • Círculo denota o recurso
  • A seta indica o fluxo do processo.
  1. Cada novo processo é colocado primeiro na fila Pronto. Ele espera na fila pronto até ser finalmente processado para execução. Aqui, o novo processo é colocado na fila de prontos e aguarda até que seja selecionado para execução ou despachado.
  2. Um dos processos está alocado na CPU e está em execução
  3. O processo deve emitir uma solicitação de E/S
  4. Em seguida, ele deve ser colocado na fila de E/S.
  5. O processo deve criar um novo subprocesso
  6. O processo deve estar aguardando seu encerramento.
  7. Ele deve ser removido com força da CPU, como resultado da interrupção. Assim que a interrupção for concluída, ela deverá ser enviada de volta para a fila de espera.

Modelo de Processo de Dois Estados

Os modelos de processo de dois estados são:

  • Estado de execução
  • Estado sem execução

Corrida

De acordo com o relatório Operasistema ting, sempre que um novo processo é construído, ele é inserido no sistema, que deverá estar em execução.

Não está funcionando

Os processos que não estão em execução são mantidos em uma fila, que aguarda sua vez de execução. Cada entrada na fila é um ponto para um processo específico.

Objetivos de programação

Aqui estão objetivos importantes do agendamento de processos

  • Maximize o número de usuários interativos dentro de tempos de resposta aceitáveis.
  • Alcance um equilíbrio entre resposta e utilização.
  • Evite adiamentos indefinidos e imponha prioridades.
  • Também deve fazer referência aos processos que detêm os principais recursos.

Tipo de agendadores de processos

Um agendador é um tipo de software de sistema que permite gerenciar o agendamento de processos.

Existem basicamente três tipos de agendadores de processos:

  1. Agendador de longo prazo
  2. Agendador de Curto Prazo
  3. Agendador de Médio Prazo

Agendador de longo prazo

O agendador de longo prazo também é conhecido como agendador de trabalho. Este agendador regula o programa e seleciona o processo da fila e os carrega na memória para execução. Também regula o grau de multiprogramação.

Porém, o principal objetivo deste tipo de escalonador é oferecer um mix equilibrado de jobs, como Processador, jobs de E/S., que permita o gerenciamento de multiprogramação.

Agendador de Médio Prazo

A programação de médio prazo é uma parte importante do troca. Ele permite que você lide com os processos externos trocados. Neste escalonador, um processo em execução pode ser suspenso, o que faz uma solicitação de E/S.

Um processo em execução pode ser suspenso se fizer uma solicitação de E/S. Um processo suspenso não pode progredir até a conclusão. Para remover o processo da memória e liberar espaço para outros processos, o processo suspenso deve ser movido para o armazenamento secundário.

Agendador de Curto Prazo

A programação de curto prazo também é conhecida como agendador de CPU. O principal objetivo deste escalonador é aumentar o desempenho do sistema de acordo com os critérios definidos. Isso ajuda você a selecionar de um grupo de processos que estão prontos para execução e aloca CPU para um deles. O despachante dá o controle da CPU ao processo selecionado pelo escalonador de curto prazo.

Diferença entre agendadores

Longo Prazo vs. Curto Prazo vs. Termo médio

Longo prazo Curto prazo Termo médio
Longo prazo também é conhecido como agendador de tarefas Curto prazo também é conhecido como agendador de CPU O médio prazo também é chamado de escalonador de troca.
É ausente ou mínimo em um sistema de compartilhamento de tempo. É insignificante na ordem de compartilhamento de tempo. Este escalonador é um elemento dos sistemas de compartilhamento de tempo.
A velocidade é menor em comparação com o agendador de curto prazo. A velocidade é a mais rápida em comparação com o escalonador de curto e médio prazo. Oferece velocidade média.
Permite que você selecione processos das cargas e reúna de volta na memória Ele seleciona apenas processos que estão em estado de prontidão de execução. Ajuda você a enviar o processo de volta para a memória.
Oferece controle total Oferece menos controle Reduza o nível de multiprogramação.

O que é mudança de contexto?

É um método para armazenar/restaurar o estado de uma CPU no PCB. Para que a execução do processo possa ser retomada do mesmo ponto posteriormente. O método de troca de contexto é importante para sistemas operacionais multitarefa.

Resumo

  • O agendamento de processos é uma tarefa do sistema operacional que agenda os processos de diferentes estados, como pronto, em espera e em execução.
  • Os modelos de processo de dois estados são 1) Em execução e) Não em execução
  • O agendamento de processos maximiza o número de usuários interativos, dentro de tempos de resposta aceitáveis.
  • Um agendador é um tipo de software de sistema que permite gerenciar o agendamento de processos.
  • Três tipos de agendador são 1) Longo prazo 2) Curto prazo 3) Médio prazo
  • O agendador de longo prazo regula o programa e seleciona os processos da fila e os carrega na memória para execução.
  • O agendador de médio prazo permite lidar com os processos externos trocados.
  • O principal objetivo do escalonador de curto prazo é aumentar o desempenho do sistema de acordo com critérios definidos
  • O longo prazo também é conhecido como agendador de tarefas, enquanto o curto prazo também é conhecido como agendador de CPU, e o médio prazo também é chamado de agendador de troca.