Pesquisa de site

Método de agendamento linear no sistema operacional


Introdução

O Método de Programação Linear é um algoritmo de programação projetado para sistemas em tempo real nos quais as tarefas devem ser concluídas dentro de prazos específicos para garantir a operação adequada do sistema. É um algoritmo simples que atribui tarefas com base em seus prazos e fornece intervalos de tempo fixos para concluir sua execução. Neste artigo aprenderemos sobre o Método de Escalonamento Linear seus diversos elementos, suas vantagens e desvantagens de uso em um Sistema Operacional

O que é o método de agendamento linear no sistema operacional?

As tarefas no LSM são organizadas em ordem linear e o escalonador percorre a lista, alocando intervalos de tempo para cada tarefa. A duração de cada intervalo de tempo é fixa e determinada pelas características do sistema e da tarefa.

O LSM atribui um intervalo de tempo para uma ação assim que ela é atribuída. A tarefa precisa ser concluída durante esse intervalo de tempo. O cronômetro passa para a próxima tarefa da lista se a tarefa atual for concluída antes da conclusão do intervalo de tempo alocado. O LSM antecipa as tarefas que não são concluídas dentro do intervalo de tempo alocado. Poste isso, o programa de horário muda para a próxima tarefa subsequente, atribuindo o restante do tempo do intervalo de tempo da tarefa anterior.

O LSM garante que as ações que podem ser agendadas sejam concluídas dentro do prazo. Se a estrutura tiver ativos suficientes para concluir todas as tarefas nos prazos atribuídos, o LSM garante que todas as tarefas serão concluídas no prazo. No entanto, se as capacidades do sistema forem insuficientes, certas tarefas podem não cumprir os seus prazos, o que leva a problemas do sistema ou a um mau desempenho.

O LSM tem o benefício adicional de ser direto e simples de implementar. Também é previsível, o que significa que as decisões de agendamento são baseadas exclusivamente em restrições de tempo e disponibilidade de recursos. Como resultado, é conhecido e capaz de garantir um nível mínimo de funcionalidade em sistemas de tempo real.

No entanto, o LSM pode não representar o método mais eficaz de escalonamento para todos os tipos de sistema. Requer prazos seguros e bem definidos para as tarefas, o que pode não ser o caso para todas as aplicações. Também pode ser ineficiente em plataformas com uma ampla variedade de tarefas ou em sistemas que exigem flexibilidade excessiva.

Elementos do método de programação linear

  • Time Slices - Cada tarefa no sistema recebe um intervalo de tempo fixo pelo LSM. A duração de cada intervalo de tempo é determinada pelas características do sistema e pelos requisitos das tarefas.

  • Ordem das tarefas - O LSM organiza as tarefas em ordem sequencial, com cada tarefa seguindo a anterior. O agendador itera pelas tarefas da lista, alocando intervalos de tempo para cada uma delas.

  • Preempção - O LSM tende a antecipar as tarefas que não completam seu cumprimento dentro do intervalo de tempo atribuído. O agendador então segue em frente e aloca o intervalo de tempo restante desta tarefa para a próxima tarefa.

  • Programação Determinística - LSM emprega uma abordagem de programação determinística na qual as decisões de programação são baseadas exclusivamente em prazos de tarefas e disponibilidade de recursos. Isso garante a previsibilidade e confiabilidade do algoritmo de escalonamento.

Vantagens do Método de Programação Linear

  • Priorização de tarefas - As tarefas são priorizadas com base em seus prazos, com prazos anteriores recebendo maior prioridade.

  • Time Slicing - A duração de cada intervalo de tempo é determinada pelas características do sistema e da tarefa. O intervalo de tempo deve ser longo o suficiente para permitir que a tarefa termine dentro do prazo, mas curto o suficiente para permitir que o agendador passe para a próxima tarefa o mais rápido possível.

  • Preempção - Se uma tarefa não terminar sua conclusão dentro do intervalo de tempo alocado a ela, ela será preemptada, assim como o sistema de agendamento passará para a tarefa seguinte, alocando o intervalo de tempo restante de a tarefa anterior.

  • Programação Determinística - O método de programação é conhecido e confiável porque as decisões relativas à programação dependem exclusivamente de prazos de tarefas e disponibilidade de recursos.

  • Timekeeping - Para garantir que as tarefas sejam concluídas no prazo, o programa de agendamento rastreia o tempo e o período restante para o intervalo de tempo de cada tarefa.

  • Gerenciamento de recursos - O LSM exige que recursos suficientes estejam disponíveis para concluir cada tarefa dentro dos prazos atribuídos. Como consequência, a gestão de ativos é vital para garantir que o sistema tenha recursos suficientes para concluir as tarefas.

Desvantagens do método de programação linear

Embora o Método de Escalonamento Linear (LSM) tenha vantagens, ele também apresenta desvantagens, que são as seguintes -

  • Uso ineficiente de recursos - Não importa quantas horas leva para realizar uma tarefa, o LSM fornece intervalos de tempo predeterminados para ela. Como resultado, algumas tarefas podem ser concluídas consideravelmente mais cedo do que o intervalo de tempo determinado, enquanto outras podem levar muito mais tempo, o que leva à utilização inadequada ou excessiva dos recursos do sistema.

  • Flexibilidade limitada - O LSM é menos flexível em comparação com outros algoritmos de escalonamento porque é um algoritmo de escalonamento simples e previsível. É inadequado para lidar com mudanças fluidas ou erráticas na carga de trabalho da máquina e podem ser necessárias alterações na sequência de tarefas e na duração do intervalo de tempo para acomodar as alterações.

  • Dificuldade em lidar com restrições em tempo real - Prazos ajustados podem não ser competentes para garantir que cada tarefa cumpra seus prazos, então o LSM pode ser adequado para plataformas com restrições estritas em tempo real.

  • Inversão de prioridade - As tarefas de prioridade mais alta são executadas primeiro no LSM, o que pode resultar em uma inversão de prioridade para tarefas de prioridade mais baixa se tarefas de prioridade mais alta as bloquearem. Como resultado, tarefas de menor prioridade podem ser atrasadas, levando a prazos desses indivíduos.

Embora a teoria do LSM seja simples, a sua implementação pode ser desafiadora, particularmente em estruturas que possuem numerosas unidades de processamento, nas quais a realocação e coordenação de tarefas podem ser necessárias.

Conclusão

O Método de Programação Linear (LSM) é um algoritmo de programação simples e determinístico que atribui intervalos de tempo fixos para cada tarefa em uma ordem linear. O LSM é adequado para sistemas com características e requisitos bem definidos, mas apresenta limitações em termos de utilização de recursos, flexibilidade, lidar com restrições em tempo real e possibilidade de inversão de prioridades. Apesar de suas limitações, o LSM pode ser um algoritmo de escalonamento útil para alguns sistemas. A divisão do tempo, a priorização de tarefas, a preempção, o agendamento determinístico, a cronometragem e o gerenciamento de recursos devem ser cuidadosamente considerados ao implementar o LSM.

Artigos relacionados: