Índice:
Definição - O que significa Job Scheduling?
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 tarefas priorizadas que aguardam tempo da CPU e deve determinar qual tarefa deve ser executada em qual fila e a quantidade de tempo a ser alocada para a tarefa. Esse tipo de agendamento garante que todos os trabalhos sejam realizados de maneira justa e dentro do prazo.
A maioria dos sistemas operacionais, como Unix, Windows, etc., inclui recursos padrão de agendamento de tarefas. 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 específicos de agendamento de tarefas.
Techopedia explica o agendamento de tarefas
O agendamento de tarefas é realizado usando agendadores de tarefas. Agendadores de tarefas são programas que permitem agendar e, às vezes, rastrear tarefas de "lote" do computador ou unidades de trabalho como a operação de um programa de folha de pagamento. Os agendadores de tarefas têm a capacidade de iniciar e controlar tarefas automaticamente executando instruções preparadas no idioma de controle de tarefas ou por meio de comunicação semelhante com um operador humano. Geralmente, os agendadores de tarefas 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 regulamentos
Os desenvolvedores internos podem escrever esses recursos avançados; no entanto, geralmente são oferecidos por provedores especialistas em software de gerenciamento de sistemas.
No agendamento, 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 recurso 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