ЭКЗЕМПЛЯРЫ ПЛАНИРОВЩИКА В ПРОЦЕССЕ

1. Машиночитаемый носитель (104) данных, хранящий исполняемые на компьютере команды, которые при их исполнении компьютерной системой (100) выполняют способ, содержащий этапы, на которых:
создают первый экземпляр (22) планировщика с помощью команд, исполняемых компьютерной системой, чтобы заставить первый набор задач (36/40/42) процесса (12) исполняться компьютерной системой; и
создают второй экземпляр (22) планировщика (22) с помощью команд, исполняемых компьютерной системой, чтобы заставить второй набор задач (36/40/42) процесса исполняться компьютерной системой.
2. Машиночитаемый носитель данных по п.1, в котором способ дополнительно содержит этапы, на которых:
распределяют первому экземпляру планировщика первое множество виртуальных процессоров (32), чтобы представлять первое подмножество процессорных ресурсов компьютерной системы; и
распределяют второму экземпляру планировщика второе множество виртуальных процессоров (32), чтобы представлять второе подмножество процессорных ресурсов компьютерной системы.
3. Машиночитаемый носитель данных по п.2, в котором способ дополнительно содержит этапы, на которых:
сопоставляют первое множество виртуальных процессоров с первым множеством аппаратных потоков (16), чтобы заставить первое множество задач исполняться посредством первого множества аппаратных потоков; и
сопоставляют второе множество виртуальных процессоров со вторым множеством аппаратных потоков (16), чтобы заставить второе множество задач исполняться посредством второго множества аппаратных потоков.
4. Машиночитаемый носитель данных по п.1, в котором создание второго экземпляра планировщика содержит этапы, на которых:
перемещают контекст (34) исполнения, исполняющий одну задачу из первого множества задач, из первого экземпляра планировщика во второй экземпляр планировщика; и
исполняют одну задачу из первого множества задач как одну задачу из второго множества задач.
5. Машиночитаемый носитель данных по п.4, в котором создание второго экземпляра планировщика дополнительно содержит этап, на котором:
сохраняют данные (44), которые идентифицирует первый экземпляр планировщика, с контекстом исполнения до исполнения одной задачи из первого множества задач как одной задачи из второго множества задач.
6. Способ, содержащий этапы, на которых:
инициализируют первый и второй экземпляры (22) планировщика в процессе (12), причем первый и второй экземпляры планировщика имеют доступ к первому и второму подмножествам процессорных ресурсов из множества процессорных ресурсов соответственно, и к первому и второму множествам задач (36/40/42) из процесса соответственно;
планируют первую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов с помощью первого экземпляра планировщика; и
планируют одну задачу из второго множества задач для исполнения посредством одного процессорного ресурса из второго подмножества процессорных ресурсов с помощью второго экземпляра планировщика.
7. Способ по п.6, дополнительно содержащий этапы, на которых:
планируют первую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов посредством привязки одной задачи из первого множества задач к первому контексту (34) исполнения на одном виртуальном процессоре из первого множества виртуальных процессоров (32), распределенных первому экземпляру планировщика; и
планируют одну задачу из второго множества задач для исполнения посредством одного процессорного ресурса из второго подмножества процессорных ресурсов посредством привязки одной задачи из второго множества задач к первому контексту (34) исполнения на одном виртуальном процессоре из второго множества виртуальных процессоров (32), распределенных второму экземпляру планировщика;
причем первое и второе подмножества процессорных ресурсов включают в себя первое и второе множества виртуальных процессоров соответственно.
8. Способ по п.7, дополнительно содержащий этапы, на которых:
сопоставляют виртуальный процессор из первого множества виртуальных процессоров с первым аппаратным потоком (16) для исполнения первой задачи из первого множества задач; и
сопоставляют виртуальный процессор из второго множества виртуальных процессоров со вторым аппаратным потоком (16) для исполнения одной задачи из второго множества задач;
причем множество процессорных ресурсов включает в себя первый и второй аппаратные потоки.
9. Способ по п.6, дополнительно содержащий этапы, на которых:
инициализируют второй экземпляр планировщика в ответ на исполнение одной задачи из первого множества задач на первом контексте (34) исполнения на одном процессорном ресурсе из первого подмножества процессорных ресурсов в первом экземпляре планировщика; и
инициализируют второй экземпляр планировщика, чтобы он включал в себя первый контекст исполнения.
10. Способ по п.9, дополнительно содержащий этап, на котором:
сохраняют первые данные (44), которые идентифицирует первый экземпляр планировщика, с первым контекстом исполнения.
11. Способ по п.10, дополнительно содержащий этапы, на которых:
сохраняют вторые данные (44), которые идентифицируют первый экземпляр планировщика, со вторым контекстом (34) исполнения в первом экземпляре планировщика; и
сохраняют третьи данные (44), которые идентифицирует второй экземпляр планировщика, с первым контекстом исполнения.
12. Способ по п.11, дополнительно содержащий этап, на котором:
сохраняют первые данные и третьи данные как стек.
13. Способ по п.9, дополнительно содержащий этап, на котором:
возвращают первый контекст выполнения во втором экземпляре планировщика первому экземпляру планировщика.
14. Способ по п.9, дополнительно содержащий этап, на котором:
планируют вторую задачу из первого множества задач для исполнения посредством одного процессорного ресурса из первого подмножества процессорных ресурсов после инициализации второго экземпляра планировщика.
15. Способ по п.6, в котором процесс представляет собой одно из прикладной программы, библиотечной функции или службы операционной системы.