СПОСОБ УПРАВЛЕНИЯ ИСПОЛНЕНИЕМ ЗАДАЧИ В КОМПЬЮТЕРНОЙ СИСТЕМЕ
METHOD OF CONTROLLING EXECUTION OF TASKS IN COMPUTER SYSTEM

Настоящее изобретение относится к способу управления исполнением задач компьютерной системой. Термин "задача" используется для обозначения программы или части программы, которая записана в запоминающем устройстве компьютерной системы для исполнения с помощью процессора упомянутой системы.
Управление исполнением задачи обычно доверяют секвенсору, который представляет собой компьютерную программу операционной системы и который отвечает за выполнение задачи правильным образом. Например, секвенсор может представлять собой секвенсор, выполняемый в режиме реального времени.
В определенных вариантах использования компьютерные системы должны исполнять определенное количество задач, имеющих время выполнения, приоритеты и критичности, которые отличаются друг от друга. Это, в частности, усложняется, когда критические задачи, которые должны быть выполнены в точные моменты времени, должны одновременно присутствовать с некритическими задачами, имеющими относительно длительное время выполнения. Кроме того, определенные задачи имеют изменяющееся время выполнения.
Одно решение могло бы состоять в том, чтобы обеспечить в компьютерной системе множество процессоров, предназначенных для исполнения определенных задач. Однако такое решение является очень дорогостоящим, и для того чтобы сделать его надежным, требуется, чтобы различные процессоры не полностью использовались.
Другое решение могло бы состоять в подразделении задач, которые имеют длительное время выполнения, на подзадачи таким образом, что критическая задача могла бы выполняться между двумя подзадачами. Однако это подразумевает использование существенных ограничений конструкции программного обеспечения и значительно усложняет операции модификации задач. Кроме того, это не решает проблему задач с переменным временем исполнения.
Наиболее часто используемое решение состоит в том, чтобы предоставить время, которое можно подразделять таким образом, чтобы определить последовательность периодов исполнения, некоторые из которых могут быть зарезервированы для исполнения самых критических задач. Задачи затем выполняют, когда они имеют наивысший приоритет. Однако снова трудно управлять выполнением задач, которые имеют переменное время исполнения.
В обычных системах определяют периоды вычисления (или "временные интервалы"), во время которых выполняют задачи. Когда исполнение задачи завершается перед окончанием периода вычисления, задача остается под управлением и переходит в нефункциональный цикл. Нефункциональный цикл прерывается в конце периода вычисления, когда секвенсор принимает на себя управление для запуска исполнения другой задачи. Когда исполнение задачи не закончено в конце периода вычисления, секвенсор принимает на себя управление для запуска алгоритма обработки ошибки. Сохранение ресурса для обработки ошибки расходует время и ресурсы.
Способ администрирования выхода за пределы времени исполнения известен из документа US 2002/0138542.
Цель изобретения состоит в том, чтобы обеспечить средство, которое позволяет лучше управлять выполнением задачи при одновременном отслеживании времени исполнения задач.
С этой целью изобретение направлено на способ управления исполнением задач с помощью, по меньшей мере, одного модуля процессора компьютерной системы, модуль процессора работает в периоды вычислений, и способ, содержащий следующие этапы:
- ассоциируют с каждой задачей относящиеся ко времени характеристики исполнения, при этом характеристики исполнения, относящиеся ко времени, включают в себя флаг, обозначающий возможность определения априори теоретического времени окончания задачи в режиме номинального исполнения, и флаг, обозначающий возможность расширенного режима исполнения, благодаря чему исполнение может быть продолжено за пределами теоретического времени окончания исполнения; и
- когда исполняется задача в теоретический момент времени окончания исполнения, запускают выполнение алгоритма продолжения в присутствии флага, обозначающего возможность расширенного режима, или запускают алгоритм обработки ошибки при отсутствии такого флага.
С помощью такого способа улучшают разделение времени, делая задачи детерминистическими по времени. Это делает возможным управлять выходами за нормальный предел, а также, возможно, без какого-либо риска прерывания задачи, которая вышла за нормальный предел ее теоретического конца времени исполнения, всякий раз, когда не требуется исполнение задачи более высокого приоритета после исполняемой задачи. Расширенный режим исполнения, таким образом, позволяет закончить задачу, в то время как прерывание или ошибка обработки могли бы сделать необходимым повторное исполнение задачи в последующем. Кроме того, прерывание задачи могло быть привести к наносящим ущерб последствиям, например, когда компьютерная система управляет функционированием механизмов, таких как транспортное средство. Это также позволяет ограничить использование обработки ошибки.
В различных алгоритмах для исполнения в расширенном режиме:
- исполнение продолжают за пределами теоретического времени окончания, пока задача не будет фактически закончена;
- исполнение продолжают в течение заданного времени, и алгоритм обработки ошибки запускают, если исполнение не будет закончено в упомянутое заданное время; и
- количество исполнений, уже выполняемых в расширенном режиме для каждой задачи, сохраняют в памяти, и исполнение продолжают в расширенном режиме, если количество исполнений меньше, чем пороговое значение, при этом алгоритм обработки ошибки запускают, если упомянутое количество исполнений не превышает упомянутое пороговое значение.
Последний алгоритм, в частности, является предпочтительным, поскольку он позволяет учитывать предыдущее исполнение задачи.
Предпочтительно, множество алгоритмов продолжения исполнения сохраняют в памяти для исполнения в расширенном режиме, и характеристики исполнения, относящиеся ко времени, включают в себя идентификатор для одного из алгоритмов продолжения исполнения.
Другие характеристики и преимущества изобретения будут понятны при чтении следующего описания конкретных вариантов осуществления изобретения.
Здесь делается ссылка на приложенный единственный чертеж, который представляет собой схему, представляющую компьютерную систему для воплощения способа в соответствии с изобретением.
Со ссылкой на чертеж способ в соответствии с изобретением воплощен в компьютерной системе, которая, в общем, обозначена номером 10 ссылочной позиции, и которая, как известно, по существу, содержит модуль 1 процессора, в котором предусмотрен, по меньшей мере, один процессор, постоянное запоминающее устройство (ROM) 2 и оперативное запоминающее устройство (RAM) 3, и периферийные устройства 4 ввода и вывода.
ROM 2 содержит программу OS операционной системы, которая выполнена с возможностью обеспечения исполнения компьютерной системой программ АР, АР′ приложения, выполненных с возможностью исполнения задач, таких как расчеты или другая обработка, для подачи данных, которые затем используются за пределами компьютерной системы. Различные программы загружают в RAM 3 для обеспечения их исполнения модулем процессора.
Операционная система OS совместно использует ресурсы компьютерной системы между различными исполняемыми программами и управляет взаимным обменом данных между различными программными и аппаратными компонентами компьютерной системы 10. Операционная система OS, таким образом, обеспечивает возможность для модуля 1 процессора совместного использования между различными задачами, предназначенными для исполнения. В этом примере такое совместное использование выполняется секвенсором, который выделяет временные интервалы для доступа модуля процессора к разным задачам, предназначенным для исполнения. Такие временные интервалы также называются "периодами вычисления".
Секвенсор программируют так, чтобы он воплощал способ изобретения для управления исполнением задачи модулем 1 процессора компьютерной системы 10.
В соответствии со способом изобретения характеристики исполнения, относящиеся ко времени, ассоциируют с каждой задачей.
Характеристики исполнения, относящиеся ко времени, включают в себя:
- флаг, обозначающий возможность управления задачей, управляемой секвенсором компьютерной системы 10 (способ, в соответствии с изобретением, не оказывает влияние на задачи, которые не управляются секвенсором);
- флаг, обозначающий возможность теоретического определения априори времени для запуска исполнения;
- флаг, обозначающий возможность теоретического определения априори времени для окончания выполнения задачи в номинальном режиме исполнения;
- флаг, обозначающий возможность расширенного режима исполнения для продолжения исполнения задачи за пределами теоретического времени окончания исполнения;
- флаг, обозначающий, что отсутствуют какие-либо ограничения, связанные с временем исполнения;
- флаг, обозначающий возможность исполнения прерывания задачи, исполнение прерываемой задачи продолжается, только если она имеет наибольший приоритет среди задач, запрашивающих исполнение; и
- флаг, обозначающий возможность модификации характеристик исполнения, относящихся ко времени, этот флаг, обозначающий возможность модификации характеристик исполнения, относящихся ко времени, устанавливающий, может ли такая модификация быть выполнена элементом компьютерной системы или некоторой другой исполняемой задачей (такая модификация позволяет, например, адаптировать характеристики исполнения, относящиеся ко времени, к новым рабочим условиям).
Характеристики исполнения, относящиеся ко времени, например, кодируют в виде шестнадцатеричных чисел, например, каждое из которых состоит из четырех битов.
В качестве примера могут быть предоставлены характеристики исполнения, относящиеся ко времени, которые содержат число, состоящее из цифр а, b, с, d, которые имеют значения, равные 0 или 1, как обозначено в следующей таблице:
Термин "детерминистический" используется для обозначения, что теоретическое время начала или время окончания могут быть рассчитаны перед запуском исполнения задачи. Таким образом, все циклические или полуциклические задачи имеют детерминистическое время начала, даже если они непосредственно будут прерваны задачей с более высоким приоритетом. И, наоборот, нецикличные задачи (исполнение которых запускается другими задачами, или как функция внешних элементов) имеют недетерминистическое время начала.
В номинальном режиме работы исполнение задачи с наибольшим приоритетом запускается секвенсором в заданный период вычислений, и задача заканчивается в период вычислений, соответствующий теоретическому времени окончания задачи. Секвенсор может затем снова перенять на себя и запустить исполнение следующей задачи с наибольшим приоритетом. В случае необходимости, если исполнение задачи заканчивается до окончания периода вычислений, соответствующего теоретическому времени окончания задачи, задача переходит в бесконечный нефункциональный цикл до тех, пока секвенсор снова не примет на себя обработку.
Когда задача исполняется в теоретическое время окончания исполнения, возможны различные ситуации.
Характеристики исполнения, относящиеся ко времени, не включают в себя флаг, обозначающий возможность прерывания: исполнение задачи продолжается до тех пор, пока она не будет закончена.
Характеристики исполнения, относящиеся ко времени, включают в себя флаг, обозначающий возможность прерывания, но они не включают в себя какой-либо флаг, обозначающий возможность определения априори теоретического времени окончания исполнения: задача прерывается для запуска исполнения задачи более высокого приоритета, если присутствует такая задача, ожидающая исполнения.
Характеристики исполнения, относящиеся ко времени, включают в себя флаг, включающий в себя возможность определения априори теоретического времени окончания исполнения задачи в режиме номинального исполнения, но они не включают в себя какой-либо флаг, обозначающий возможность расширенного режима для исполнения задачи таким образом, что ее исполнение может быть продолжено за пределами теоретического времени окончания исполнения: алгоритм обработки ошибки запускается секвенсором.
Характеристики исполнения, относящиеся ко времени, включают в себя флаг, обозначающий возможность определения, априори, теоретического времени для окончания исполнения задачи в номинальном режиме исполнения, и флаг, обозначающий возможность расширенного режима для исполнения задачи таким образом, что его исполнение может продолжаться за пределами теоретического времени окончания исполнения: способ включает в себя этап запуска исполнения продолжения алгоритма.
В первом варианте осуществления алгоритм исполнения обеспечивает условие для исполнения, которое будет продолжаться за пределами теоретического времени окончания, до тех пор, пока задача не будет фактически закончена.
Во втором варианте осуществления алгоритм исполнения обеспечивает продолжение исполнения в течение заданного времени и алгоритма обработки ошибки, который запускают, если исполнение не будет закончено в упомянутое заданное время. Упомянутое заданное время представляет собой конкретное время для каждой задачи, и затем его предпочтительно записывают в виде характеристик исполнения, относящихся ко времени.
В третьем варианте осуществления способ включает в себя этап сохранения в памяти для каждой задачи, количества исполнений, которые уже были выполнены в расширенном режиме, и алгоритм исполнения позволяет продолжить исполнение в расширенном режиме, если количество исполнений будет меньше, чем пороговое значение. Алгоритм обработки ошибки запускают, если количество исполнений достигло упомянутого порогового значения. Пороговое значение определяют для каждой задачи путем определения количества раз, которое можно выполнить практически всю задачу, без возникновения проблемы выполнения в режиме реального времени для других задач. В этом примере пороговое значение равно максимальному количеству раз, когда активация задачи может повторяться без последовательного исполнения упомянутой задачи, которая сдерживает исполнение других задач.
Предпочтительно, в данном варианте осуществления, пороговое значение получают среди характеристик исполнения, относящихся ко времени рассматриваемой задачи. Это делает возможным адаптировать пороговое значение к задаче, которая должна быть воплощена, то есть в отношении ее надежности, ее критичности и т.д.
Также предпочтительно, в этом варианте осуществления, количество исполнений рассматриваемой задачи, уже выполненных в расширенном режиме, повторно инициализируют или последовательно уменьшают всякий раз, когда возникает заданное событие. Например, заданное событие может представлять собой полное исполнение упомянутой задачи перед теоретическим временем окончания исполнения, перезагрузку компьютерной системы, сигнал на входе компьютерной системы и т.д.
В четвертом варианте осуществления предусмотрено множество алгоритмов исполнения в расширенном режиме, сохраненных в запоминающем устройстве, для исполнения в расширенном режиме, и характеристики исполнения, относящиеся ко времени, включают в себя идентификатор одного из алгоритмов исполнения, который запускают, если исполнение продолжается после теоретического окончания времени исполнения.
В качестве примера, в этом четвертом варианте осуществления, предоставляются исполнительные алгоритмы первого, второго и третьего вариантов исполнения, которые сохраняют в ROM 2, и для данных, определенных для каждой из задач, которые могут быть выполнены в расширенном режиме, для включения идентификатора, какой алгоритм должен быть выполнен в расширенном режиме.
Естественно, изобретение не ограничено описанными выше вариантами осуществления, а скорее оно охватывает любой вариант, находящийся в пределах сущности изобретения, которая определена формулой изобретения.
В частности, способ изобретения может быть воплощен, используя другие характеристики исполнения, относящиеся ко времени, чем упомянутые в представленном выше описании.
Другие алгоритмы исполнения расширенного режима могут быть разработаны, как и другие пороговые значения или параметры для таких алгоритмов.