Agendamento de trabalhos

Definição - o que significa agendamento de tarefas?

O agendamento de tarefas é o processo de alocar recursos do sistema para muitas tarefas diferentes por um sistema operacional (SO). O sistema lida com filas de trabalho priorizadas que estão aguardando tempo de CPU e deve determinar qual trabalho será obtido de qual fila e a quantidade de tempo a ser alocado para o trabalho. Esse tipo de programação garante que todos os trabalhos sejam realizados de forma justa e no prazo.

A maioria dos sistemas operacionais, como Unix, Windows, etc., incluem recursos de agendamento de tarefas padrão. Vários programas, incluindo sistemas de gerenciamento de banco de dados (DBMS), backup, planejamento de recursos corporativos (ERP) e gerenciamento de processos de negócios (BPM), também apresentam recursos de agendamento de trabalhos específicos.

Definirtec explica a programação de trabalhos

O agendamento de trabalho é executado usando agendadores de trabalho. Agendadores de trabalho são programas que permitem o agendamento e, às vezes, rastreiam trabalhos em "lote" do computador ou unidades de trabalho, como a operação de um programa de folha de pagamento. Agendadores de tarefas têm a capacidade de iniciar e controlar tarefas automaticamente, executando instruções de linguagem de controle de tarefas preparadas ou por meio de comunicação semelhante com um operador humano. Geralmente, os planejadores de trabalho atuais incluem uma interface gráfica do usuário (GUI) junto com um único ponto de controle.

As organizações que desejam automatizar a carga de trabalho de TI não relacionada também podem usar atributos mais sofisticados de um agendador de tarefas, por exemplo:

  • Programação em tempo real de acordo com eventos externos imprevistos
  • Reinicialização e recuperação automatizadas em caso de falhas
  • Notificando o pessoal de operações
  • Gerando relatórios de incidentes
  • Trilhas de auditoria destinadas a fins de conformidade com a regulamentação

Os desenvolvedores internos podem escrever esses recursos avançados; no entanto, geralmente são oferecidos por fornecedores especialistas em software de gerenciamento de sistemas.

Na programação, muitos esquemas diferentes são usados ​​para determinar qual trabalho específico executar. Alguns parâmetros que podem ser considerados são os seguintes:

  • Prioridade de trabalho
  • Disponibilidade de recursos de computação
  • Chave de licença se o trabalho estiver utilizando um software licenciado
  • Tempo de execução atribuído ao usuário
  • Número de trabalhos paralelos permitidos para um usuário
  • Tempo de execução projetado
  • Tempo de execução decorrido
  • Presença de dispositivos periféricos
  • Número de casos de eventos prescritos