Способ, устройство и носитель информации для динамического внесения изменений в функцию

1. Способ динамического обновления функции патчами, включающий:
восстановление исходных команд корректируемой функции вместо N начальных команд длинного перехода измененной корректируемой функции в соответствии с предустановленным тегом выполняемой в данный момент задачи, где N - целое, большее или равное 3, и
преобразование первых N исходных начальных команд в команды длинного перехода для динамического обновления функции патчами, когда завершается выполняемая в данный момент задача.
2. Способ по п. 1, отличающийся тем, что перед тем, как вместо N начальных команд длинного перехода измененной корректируемой функции восстанавливают исходные команды корректируемой функции в соответствии с предустановленным тегом выполняемой в настоящее время задачи, способ дополнительно включает:
анализ всех задач в системе на предмет определения подлежащих изменению задач, при этом подлежащими изменению задачами являются задачи, указатели программного счетчика (ПС) которых указывают на одну из N начальных команд корректируемой функции, а позиции N команд используются для записи команд длинного перехода измененной корректируемой функции; и
установка тегов для подлежащих изменению задач для определения типов всех задач.
3. Способ по п. 2, отличающийся тем, что после установки тегов для подлежащих изменению задач способ дополнительно включает следующие действия:
принятие решения о том, установлен ли тег, указывающий на необходимость выполнения задачи в текущий момент с учетом того, что любая задача среди всех задач должна запускаться заново; и
восстановление исходных команд корректируемой функции вместо N начальных команд длинного перехода корректируемой функции, если
установлен тег, указывающий на необходимость выполнения задачи в текущий момент.
4. Способ по п. 3, дополнительно включающий следующие действия: принятие решения о том, имеет ли текущая задача тег, когда выполняемая в данный момент задача близка к завершению;
принятие решения о том, указывает ли по-прежнему указатель ПС текущей задачи на одну из N начальных команд корректируемой функции, если текущая задача имеет тег;
преобразование N исходных начальных команд корректируемой функции в команды длинного перехода корректируемой функции, если указатель ПС указывает на одну из N команд;
удаление тега текущей завершающейся задачи и затем преобразование N исходных начальных команд корректируемой функции в команды длинного перехода корректируемой функции, если указатель ПС не указывает на N команд; и
переход к задаче, которая должна быть запущена, если текущая задача не имеет тега.
5. Способ по п. 2, отличающийся тем, что после того, как все выполняющиеся задачи в системе будут проанализированы для определения подлежащих изменению задач, способ дополнительно включает следующие действия:
преобразование N начальных команд корректируемой функции в команды длинного перехода и сохранение исходных команд в резервной памяти.
6. Устройство для динамического обновления функции патчами, содержащее:
восстанавливающий модуль, сконфигурированный для восстановления исходных команд корректируемой функции вместо N начальных команд длинного перехода измененной корректируемой функции в соответствии с предустановленным тегом выполняемой в данный момент задачи, где N -целое, большее или равное 3; и
первый преобразующий модуль, сконфигурированный для преобразования первых N исходных начальных команд в команды длинного перехода для динамического обновления функции патчами, когда завершается выполняемая в данный момент задача.
7. Устройство по п. 6, отличающееся тем, что оно дополнительно включает:
определяющий модуль, сконфигурированный для анализа всех задач в системе на предмет определения подлежащих изменению задач, при этом подлежащими изменению задачами являются задачи, указатели ПС которых указывают на одну из N начальных команд корректируемой функции, а позиции N команд используются для записи команд длинного перехода измененной корректируемой функции; и
устанавливающий теги модуль, сконфигурированный для установки тегов для подлежащих изменению задач для определения типов всех задач.
8. Устройство по п. 7, отличающееся тем, что оно дополнительно включает:
первый решающий модуль, сконфигурированный для принятия решения о том, установлен ли тег, указывающий на необходимость выполнения задачи в текущий момент с учетом того, что любая задача среди всех задач должна запускаться заново; и
восстанавливающий модуль, дополнительно сконфигурированный для восстановления исходных команд корректируемой функции вместо N начальных команд длинного перехода корректируемой функции, если установлен тег, указывающий на необходимость выполнения задачи в текущий момент.
9. Устройство по п. 8, отличающееся тем, что оно дополнительно включает:
второй решающий модуль, сконфигурированный для принятия решения о том, установлен ли для текущей задачи тег, когда выполняемая в данный момент задача должна завершаться, и дополнительно сконфигурированный
для принятия решения о том, указывает ли по-прежнему указатель ПС текущей задачи на одну из N начальных команд корректируемой функции;
восстанавливающий модуль, дополнительно сконфигурированный для восстановления N исходных начальных команд корректируемой функции вместо команд длинного перехода корректируемой функции, если указатель ПС указывает на одну из N команд;
устанавливающий теги модуль, дополнительно сконфигурированный для удаления тега текущей завершающейся задачи, если указатель ПС не указывает на одну из N команд, и затем включения восстанавливающего модуля для восстановления N исходных начальных команд корректируемой функции вместо команд длинного перехода корректируемой функции; и
переходный модуль, сконфигурированный для перехода к задаче, которая должна быть запущена, если текущая задача не имеет тега.
10. Устройство по п. 7, отличающееся тем, что оно дополнительно включает:
второй преобразующий модуль, сконфигурированный для преобразования N исходных начальных команд корректируемой функции в команды длинного перехода и резервирования исходных команд.
11. Носитель информации, хранящий компьютерную программу, сконфигурированную для выполнения способа динамического обновления функции патчами согласно одному из пп. 1-5.