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

⚡ Resumo Inteligente

O escalonamento de processos é uma tarefa do sistema operacional que gerencia os processos em seus estados de pronto, espera e execução. Ele aloca tempo de CPU para cada processo, mantém a CPU ocupada e reduz o tempo de resposta usando escalonadores de longo, médio e curto prazo.

  • 🗓️ Definição: O escalonamento de processos gerencia os processos nos estados pronto, em espera e em execução para manter a CPU ocupada.
  • 📥 Filas: As filas de tarefas, de prontos e de dispositivos organizam os processos de acordo com seu estado de execução.
  • 🔀 Modelo de dois estados: Em sua forma mais simples, um processo está em execução ou não está em execução.
  • 🧑‍💼 Três Agendadores: Os planejadores de longo, médio e curto prazo controlam quais processos são executados e quando.
  • Curto prazo: O agendador de CPU é o mais rápido, selecionando um processo pronto para execução imediata.
  • 🔁 Troca de contexto: Salvar e restaurar o estado da CPU na placa de circuito impresso permite a multitarefa.

Agendamento de processos em sistemas operacionais

O que é agendamento de processos?

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

O escalonamento de processos permite que o sistema operacional aloque um intervalo de tempo de execução da CPU para cada processo. Outro motivo importante para usar um sistema de escalonamento de processos é que ele mantém a CPU ocupada o tempo todo. Isso permite obter o menor tempo de resposta possível para os programas.

Filas de agendamento de processos

As filas de agendamento de processos ajudam a manter uma fila distinta para cada estado de processo e PCB (Código de Processo de Ação). Todos os processos com o 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 da fila existente e movido de volta para a fila do novo 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 acima:

  • Um retângulo representa uma fila.
  • Um círculo representa o recurso.
  • Uma seta indica o fluxo do processo.
  1. Cada novo processo é inicialmente colocado na fila de prontos. Ele aguarda na fila de prontos até que seja finalmente processado para execução. Aqui, o novo processo é colocado na fila de prontos e aguarda até ser selecionado para execução, ou seja, até ser despachado.
  2. Um dos processos recebeu a CPU e está em execução.
  3. O processo deve emitir uma solicitação de E/S.
  4. Em seguida, 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. Deve ser removido à força da CPU, como resultado de uma interrupção. Assim que a interrupção for concluída, deve ser enviado de volta para a fila de prontos.

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, aguardando sua vez de serem executados. Cada entrada na fila representa um processo específico.

Objetivos de programação

Aqui estão os objetivos importantes do planejamento 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 planejador de longo prazo também é conhecido como agendador de trabalhoEste agendador regula o programa, selecionando processos da fila e carregando-os na memória para execução. Ele também regula o grau de multiprogramação.

No entanto, o principal objetivo desse tipo de agendador é oferecer uma combinação equilibrada de tarefas, como tarefas de processador e de E/S, que permita o gerenciamento da multiprogramação.

Agendador de Médio Prazo

A programação de médio prazo é uma parte importante do trocarpingEle permite lidar com os processos que foram trocados de memória. Nesse agendador, um processo em execução pode ser suspenso, o que gera 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 em direção à sua 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

O planejamento de curto prazo também é conhecido como agendador de CPUO principal objetivo deste agendador é aumentar o desempenho do sistema de acordo com critérios predefinidos. Ele permite selecionar, dentre um grupo de processos prontos para execução, aqueles que estão prontos para serem executados, e alocar a CPU para um deles. O despachante concede o controle da CPU ao processo selecionado pelo agendador de curto prazo.

Diferença entre agendadores

Longo prazo vs. curto prazo vs. médio prazo:

Longo prazo Curto prazo Termo médio
O termo "longo prazo" também é conhecido como agendador de tarefas. O termo "curto prazo" também é conhecido como agendador de CPU. O prazo médio também é chamado de swap.ping Agendador.
É 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 selecionar processos da carga e do pool de volta para a memória. Ele seleciona apenas os processos que estão em estado de pronto para execução. Isso ajuda a enviar o processo de volta para a memória.
Oferece controle total. Oferece menos controle. Reduz o nível de multiprogramação.

O que é mudança de contexto?

É um método para armazenar/restaurar o estado de uma CPU na placa de circuito impresso (PCB), permitindo que a execução do processo seja retomada do mesmo ponto posteriormente. O método de troca de contexto é importante para um sistema operacional multitarefa.

Perguntas Frequentes

Um agendador decide qual processo deve ser executado em seguida com base em uma política. Um despachante é o módulo que efetivamente concede ao processo escolhido o controle da CPU, realizando a troca de contexto e o salto.ping para o local correto no programa.

O grau de multiprogramação é o número de processos mantidos na memória principal simultaneamente. O escalonador de longo prazo controla isso, decidindo quantos processos admitir, equilibrando o uso da CPU e de E/S para um desempenho eficiente do sistema.

Um Bloco de Controle de Processo (PCB) é uma estrutura de dados que o sistema operacional utiliza para armazenar todas as informações sobre um processo, como seu estado, contador de programa, registradores e limites de memória. É essencial para salvar e restaurar processos durante uma troca de contexto.

A IA consegue aprender padrões de carga de trabalho para decidir qual processo executar e como alocar o tempo da CPU. Em vez de regras fixas, ela adapta o agendamento em tempo real, melhorando a taxa de transferência, o tempo de resposta e a eficiência energética, especialmente em sistemas de nuvem e com múltiplos núcleos.

Sim. Ao analisar picos de uso da CPU e padrões de E/S anteriores, os modelos de IA podem estimar quanto tempo um processo levará para ser executado e se ele está limitado pela CPU ou pela E/S. Essas previsões ajudam o escalonador a priorizar processos e reduzir o tempo de espera.

Resuma esta postagem com: