Восстановление контекста потока в многопоточной компьютерной системе - заявка 2016127444 на патент на изобретение в РФ

1. Компьютерная система, содержащая:
- конфигурацию, содержащую ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, и
- средство многопоточности, конфигурируемое для управления использованием конфигурации для выполнения способа, содержащего:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
2. Компьютерная система по п. 1, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
3. Компьютерная система по п. 1, содержащая, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
4. Компьютерная система по п. 1, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
5. Компьютерная система по п. 4, причем автономная программа разгрузки задает последний программно-задаваемый максимальный ID потока в качестве программно-задаваемого максимального ID потока при выпуске распоряжения на задание МТ для возобновления режима МТ.
6. Компьютерная система по п. 1, причем сброс с очисткой выполняется до загрузки не поддерживающей МТ в конфигурации операционной системы для предотвращения попыток осведомленной о МТ автономной программы разгрузки разгрузить из конфигурации какие-либо вторичные потоки.
7. Компьютерная система по п. 1, причем осведомленная о МТ, но не использующая МТ программа выпускает распоряжение на задание МТ с соответствующим максимальным ID потока с нулевым значением до выполнения автономной программы разгрузки для конфигурации.
8. Компьютерная система по п. 1, причем последний программно-задаваемый максимальный ID потока удерживается до осуществления чистого сброса или деактивации конфигурации.
9. Компьютерно-реализуемый способ восстановления контекста потока в конфигурации, содержащей ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, причем способ содержит:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
10. Способ по п. 9, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
11. Способ по п. 9, содержащий, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
12. Способ по п. 9, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
13. Способ по п. 12, причем автономная программа разгрузки задает последний программно-задаваемый максимальный ID потока в качестве программно-задаваемого максимального ID потока при выпуске распоряжения на задание МТ для возобновления режима МТ.
14. Способ по п. 9, причем сброс с очисткой выполняется до загрузки не поддерживающей МТ в конфигурации операционной системы для предотвращения попыток осведомленной о МТ автономной программы разгрузки разгрузить из конфигурации какие-либо вторичные потоки.
15. Способ по п. 9, причем осведомленная о МТ, но не использующая МТ программа выпускает распоряжение на задание МТ с соответствующим максимальным ID потока с нулевым значением до выполнения автономной программы разгрузки для конфигурации.
16. Компьютерный программный продукт для восстановления контекста потока в конфигурации, содержащей ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, причем компьютерный программный продукт содержит:
- машиночитаемый информационный носитель, имеющий заключенные в него программные команды, причем машиночитаемый информационный носитель не является сигналом, а программные команды являются считываемыми посредством устройства обработки данных для принуждения устройства обработки данных к выполнению способа, содержащего:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
17. Компьютерный программный продукт по п. 16, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
18. Компьютерный программный продукт по п. 16, содержащая, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
19. Компьютерный программный продукт по п. 16, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
20. Компьютерный программный продукт по п. 16, причем последний программно-задаваемый максимальный ID потока удерживается до осуществления чистого сброса или деактивации конфигурации.
Наверх