СПОСОБ И СИСТЕМА ДЛЯ ВЫПОЛНЕНИЯ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ

1. Способ для выполнения программных приложений, содержащий следующие стадии:
определение соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости; и
запуск выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости
2. Способ по п.1, содержащий дополнительно разделение вычислительного задания на микрозадания.
3. Способ по п.2, в котором разделение вычислительного задания на микрозадания осуществляется прикладной программой, которая инициирует вычислительное задание.
4. Способ по п.2, в котором разделение вычислительного задания на микрозадания осуществляется программным процессом, отдельным от прикладной программы, которая инициирует вычислительное задание.
5. Способ по п.1, в котором определение соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости, осуществляется операционной системой.
6. Способ по п.1, в котором определение соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости, осуществляется планировщиком микрозаданий, не входящим в операционную систему.
7. Способ по п.1, содержащий дополнительно стадию задержки выполнения по меньшей мере одного микрозадания в соответствии со временем ожидания, которое определяет минимальный интервал времени ожидания между выполнением каждого микрозадания.
8. Способ по п.7, содержащий дополнительно прикладную программу, задающую время ожидания.
9. Способ по п.8, в котором задание времени ожидания содержит задание разных минимальных значений времени для разных микрозаданий.
10. Способ по п.1, в котором один или несколько критериев незанятости основывается на одной или нескольких пороговых величинах загрузки ресурсов.
11. Способ по п.10, содержащий дополнительно задание одной или нескольких пороговых величин загрузки ресурсов.
12. Способ по п.10, содержащий дополнительно задание разных пороговых величин загрузки ресурсов для разных микрозаданий.
13. Способ по п.1, в котором запуск выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости, осуществляется дополнительно на основе ограничения числа микрозаданий, которые запускаются на выполнение, прежде чем другим заданиям будет разрешено использовать вычислительные ресурсы.
14. Способ по п.13, в котором ограничение числа микрозаданий, которые запускаются на выполнение, определяется определением загрузки вычислительных ресурсов процессами, не относящимися к прикладной программе.
15. Способ по п.1, содержащий дополнительно стадию определения размера памяти, которая должна быть выделена приложению, инициирующему вычислительное задание, причем определение объема памяти осуществляется на основе гораздо меньшего размера памяти, необходимого для выполнения микрозаданий приложения, а не основе размера памяти, необходимой приложению в целом.
16. Способ по п.15, в котором определение размера памяти осуществляется дополнительно на основе размера памяти, доступной в вычислительной системе.
17. Способ по п.1, в котором микрозадания являются частью вычислительного процесса, и выполнение каждого микрозадания может быть задержано без ущерба для результата остальной части вычислительного процесса.
18. Машиночитаемый носитель, содержащий одну или несколько последовательностей команд, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров выполняют следующие стадии для каждого из микрозаданий:
определение соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости; и
запуск выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости.
19. Машиночитаемый носитель по п.18, содержащий дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют разделение вычислительного задания на микрозадания.
20. Машиночитаемый носитель по п.18, содержащий дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задерживают выполнение по меньшей мере одного микрозадания в соответствии со временем ожидания, которое определяет минимальный интервал времени ожидания между выполнением каждого микрозадания.
21. Машиночитаемый носитель по п.20, в котором команды по задержке выполнения по меньшей мере одного микрозадания в соответствии со временем ожидания, которое определяет минимальный интервал времени ожидания между выполнением каждого микрозадания, содержат команды задания разных минимальных значений времени для разных микрозаданий.
22. Машиночитаемый носитель по п.18, в котором команды по определению соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости содержат команды по определению соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости на основе одной или нескольких пороговых величин загрузки ресурса.
23. Машиночитаемый носитель по п.22, содержащий дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задают одну или несколько пороговых величин загрузки ресурсов.
24. Машиночитаемый носитель по п.22, содержащий дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задают разные пороговые величины загрузки ресурсов для разных микрозаданий.
25. Машиночитаемый носитель по п.18, в котором команды по запуску выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости, содержат дополнительно команды по запуску определенного микрозадания на основе ограничения числа микрозаданий, выполнение которых разрешено, прежде чем другим заданиям будет разрешено использовать вычислительные ресурсы.
26. Машиночитаемый носитель по п.25, содержащий дополнительно команды, которые, будучи исполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют ограничение числа микрозаданий, выполнение которых разрешено, прежде чем другим заданиям будет разрешено использовать вычислительные ресурсы, путем проверки загрузки вычислительных ресурсов процессами, не относящимися к прикладной программе.
27. Машиночитаемый носитель по п.18, содержащий дополнительно команды, которые, будучи исполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют определение размера памяти, выделяемой приложению, причем определение размера памяти осуществляется в соответствии с требованием по минимальной памяти для выполнения микрозаданий приложения.
28. Машиночитаемый носитель по п.27, в котором команды для определения размера памяти содержат дополнительно команды для определения размера памяти в соответствии с размером памяти, доступной в вычислительной системе.
29. Машиночитаемый носитель по п.18, в котором микрозадания являются частью вычислительного процесса, и выполнение каждого микрозадания может быть задержано без ущерба для результата остальной части вычислительного процесса.
30. Система для выполнения программных приложений, содержащая
один или несколько процессоров; и
машиночитаемый носитель, соединенный с одним или несколькими процессорами с возможностями обмена с ними информацией, причем на машиночитаемом носителе хранится одна или несколько последовательностей команд, которые, будучи исполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров выполняют следующие стадии для каждого из микрозаданий:
определение соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости; и
запуск выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости
31. Система по п.30, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют разделение вычислительного задания на микрозадания.
32. Система по п.30, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задерживают выполнение по меньшей мере одного микрозадания в соответствии со временем ожидания, которое определяет минимальный интервал времени ожидания между выполнением каждого микрозадания.
33. Система по п.32, в котором команды по задержке выполнения по меньшей мере одного микрозадания в соответствии со временем ожидания, которое определяет минимальный интервал времени ожидания между выполнением каждого микрозадания, содержат команды задания разных минимальных значений времени для разных микрозаданий.
34. Система по п.30, в котором команды по определению соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости содержат команды по определению соответствия загрузки одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, одному или нескольким критериям незанятости на основе одной или нескольких пороговых величин загрузки ресурса.
35. Система по п.34, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задают одну или несколько пороговых величин загрузки ресурсов.
36. Система по п.34, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи выполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров задают разные пороговые величины загрузки ресурсов для разных микрозаданий.
37. Система по п.30, в котором команды по запуску выполнения определенного микрозадания на основе, по меньшей мере частично, установления факта, что загрузка одного или нескольких ресурсов, необходимых для выполнения определенного микрозадания, соответствует одному или несколькими критериям незанятости, содержат дополнительно команды по запуску определенного микрозадания на основе ограничения числа микрозаданий, выполнение которых разрешено, прежде чем другим заданиям будет разрешено использовать вычислительные ресурсы.
38. Система по п.37, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи исполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют ограничение числа микрозаданий, выполнение которых разрешено, прежде чем другим заданиям будет разрешено использовать вычислительные ресурсы, путем проверки загрузки вычислительных ресурсов процессами, не относящимися к прикладной программе.
39. Система по п.30, в которой машиночитаемый носитель содержит дополнительно команды, которые, будучи исполненными одним или несколькими процессорами, приводят к тому, что один или несколько процессоров осуществляют определение размера памяти, выделяемой приложению, причем определение размера памяти осуществляется в соответствии с требованием по минимальной памяти для выполнения микрозаданий приложения.
40. Система по п.39, в которой команды для определения размера памяти содержат дополнительно команды для определения размера памяти в соответствии с размером памяти, доступной в вычислительной системе.
41. Система по п.30, в которой микрозадания являются частью вычислительного процесса, и выполнение каждого микрозадания может быть задержано без ущерба для результата остальной части вычислительного процесса.