КОНФИГУРАЦИЯ ИЗОЛИРОВАННЫХ РАСШИРЕНИЙ И ДРАЙВЕРОВ УСТРОЙСТВ

1. Один или более читаемых процессором носителей, содержащих исполняемые процессором команды, которые при их исполнении процессором выполняют способ, содержащий этапы, на которых:
получают драйвер (300) устройства, который является набором исполняемых команд;
определяют набор вычислительных ресурсов (312 и 350), требуемых для исполнения упомянутого набора исполняемых команд драйвера (300) устройства;
предоставляют одни или более объектов (332, 333, 336, 338 и 340) локального доступа для использования драйвером (300) устройства для доступа к требуемому набору вычислительных ресурсов (312 и 350), причем каждый из упомянутых одного или более объектов (332, 333, 336, 338 и 340) локального доступа содержит исполняемые команды;
инициируют выполнение упомянутого набора исполняемых команд драйвера (300) устройства и исполняемых команд упомянутых одного или более объектов (332, 333, 336, 338 и 340) локального доступа.
2. Один или более носителей по п.1, в которых на этапе определения получают читаемый процессором манифест (142), ассоциированный с драйвером (300) устройства, причем этот манифест (142) драйвера устройства задает упомянутый набор вычислительных ресурсов (312 и 350), требуемых для исполнения упомянутого набора исполняемых команд драйвера (300) устройства.
3. Один или более носителей по п.1, в которых способ дополнительно содержит этап, на котором подтверждают, что драйвер (300) устройства уполномочен на доступ к требуемому набору вычислительных ресурсов (312 и 350).
4. Один или более носителей по п.1, в которых на этапе предоставления дополнительно генерируют один или более объектов (332, 333, 336, 338 и 340) локального доступа для использования драйвером (300) устройства для доступа к требуемому набору вычислительных ресурсов (312 и 350), причем объекты локального доступа предоставляются операционной системой.
5. Один или более читаемых процессором носителей, содержащих исполняемые процессором команды, которые при их исполнении процессором выполняют способ, состоящий в том, что:
получают недоверенный программный модуль (300), содержащий набор исполняемых команд, причем этот недоверенный программный модуль (300) сконфигурирован для доступа к одному или более вычислительным ресурсам (312 и 350);
определяют один или более целевых вычислительных ресурсов (312 и 350) недоверенного программного модуля (300), причем эти один или более целевых вычислительных ресурсов (312 и 350) являются вычислительными ресурсами (312 и 350), к которым недоверенный программный модуль (300) будет стремиться осуществить доступ, когда исполняется упомянутый набор исполняемых команд недоверенного программного модуля (300);
предоставляют один или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа для недоверенного программного модуля (300) так, чтобы недоверенный программный модель получил доступ к упомянутым одному или более целевым вычислительным ресурсам (312 и 350) через предоставление одного или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа.
6. Один или более носителей по п.5, в которых каждый из доверенных объектов (332, 333, 336, 338 и 340) локального доступа ассоциирован с одним или более вычислительными ресурсами (312 и 350) и каждый из доверенных объектов (332, 333, 336, 338 и 340) локального доступа содержит набор исполняемых команд.
7. Один или более носителей по п.5, в которых каждый из доверенных объектов (332, 333, 336, 338 и 340) локального доступа ассоциирован с одним или более вычислительными ресурсами, каждый из доверенных объектов (332, 333, 336, 338 и 340) локального доступа содержит исполняемые команды, и на этапе предоставления дополнительно конфигурируют исполняемые команды упомянутых одного или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа, чтобы предоставить недоверенному программному модулю (300) доступ к одному или более целевым вычислительным ресурсам (312 и 350) через сконфигурированные исполняемые команды одного или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа.
8. Один или более носителей по п.5, в которых недоверенный программный модуль (300) является драйвером (300) устройства.
9. Один или более читаемых процессором носителей, содержащие исполняемые процессором команды, которые при их исполнении процессором выполняют способ, содержащий этапы, на которых:
получают недоверенный программный модуль (300), содержащий набор исполняемых команд, причем этот недоверенный программный модуль (300) сконфигурирован для доступа к одному или более вычислительным ресурсам (312 и 350);
определяют один или более целевых вычислительных ресурсов (312 и 350) недоверенного программного модуля (300), причем эти один или более целевых вычислительных ресурсов (312 и 350) являются вычислительными ресурсами (312 и 350), к которым недоверенный программный модуль (300) будет стремиться осуществить доступ, когда выполняется упомянутый набор исполнимых команд программного модуля;
предоставляют один или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа для недоверенного программного модуля (300) так, чтобы недоверенный программный модуль получил доступ к упомянутому одному или более целевым вычислительным ресурсам (312 и 350) через предоставленные один или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа, ассоциированных с упомянутыми одним или более целевыми вычислительными ресурсами (312 и 350);
позволяют программному модулю осуществить доступ к упомянутым одному или более целевым вычислительным ресурсам (312 и 350) только через упомянутые один или более доверенных объектов (332, 333, 336, 338 и 340) локального доступа, ассоциированных с этими одним или более целевыми вычислительными ресурсами (312 и 350).
10. Один или более носителей по п.9, в которых недоверенный программный модуль (300) является драйвером (300) устройства.