Содержание
- Методы служб ядра KasperskyOS
- Служба виртуальной памяти
- Служба ввода-вывода
- Служба потоков исполнения
- Служба дескрипторов
- Служба процессов
- Служба синхронизации
- Службы файловой системы
- Служба времени
- Служба слоя аппаратных абстракций
- Служба управления драйвером XHCI DbC ядра KasperskyOS
- Служба аудита
- Служба профилирования
- Служба управления изоляцией памяти для ввода-вывода
- Служба соединений
- Служба управления электропитанием
- Служба уведомлений
- Служба прерывания IPC
- Служба взаимодействия со встроенным программным обеспечением аппаратной платформы
Методы служб ядра KasperskyOS
С точки зрения модуля безопасности Kaspersky Security Module ядро KasperskyOS является контейнером компонентов, предоставляющих службы. Список компонентов ядра содержится в файле Core.edl
, расположенном в директории sysroot-*-kos/include/kl/core
из состава KasperskyOS SDK. Также в этой директории находятся CDL-, IDL-файлы формальной спецификации ядра.
Методы служб ядра можно разделить на безопасные и потенциально опасные. Потенциально опасные методы могут быть использованы злоумышленником в компрометированном компоненте решения, чтобы, например, вызвать отказ, организовать скрытую передачу данных, захватить управление устройством ввода-вывода. Безопасные методы не могут быть использованы таким образом.
Доступ к методам служб ядра должен быть максимально ограничен политикой безопасности решения (принцип "Least Privilege"). Для этого нужно выполнить следующие требования:
- Разрешить доступ к безопасному методу только тем компонентам решения, которым этот метод нужен.
- Разрешить доступ к потенциально опасному методу только тем доверенным компонентам решения, которым этот метод нужен.
- Разрешить доступ к потенциально опасному методу только тем недоверенным компонентам решения, которым этот метод нужен, если только проверяемые условия доступа ограничивают возможности злонамеренного использования метода, или последствия злонамеренного использования метода допустимы с точки зрения безопасности.
Например, недоверенному компоненту можно разрешить использовать ограниченный набор портов ввода-вывода, чтобы этот компонент не мог захватить управление устройствами ввода-вывода. Также, к примеру, скрытая передача данных между недоверенными компонентами может быть допустимой с точки зрения безопасности.
Служба виртуальной памяти
Служба предназначена для управления виртуальной памятью.
Сведения о методах службы приведены в таблице ниже.
Методы службы vmm.VMM (интерфейс kl.core.VMM)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Выделяет (резервирует и опционально фиксирует) регион виртуальной памяти. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Фиксирует зарезервированный методом Параметры
|
Позволяет исчерпать оперативную память. |
|
Назначение Отменяет фиксацию региона виртуальной памяти. Параметры
|
Нет. |
|
Назначение Изменяет права доступа к региону виртуальной памяти. Параметры
|
Нет. |
|
Назначение Освобождает регион виртуальной памяти. Параметры
|
Нет. |
|
Назначение Позволяет получить сведения о странице виртуальной памяти. Параметры
|
Нет. |
|
Назначение Отменяет фиксацию региона виртуальной памяти. Параметры
|
Нет. |
|
Назначение Создает буфер MDL. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Создает буфер MDL из физической памяти, отображенной на заданный регион виртуальной памяти, и отображает созданный буфер MDL на этот регион. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Позволяет получить размер буфера MDL. Параметры
|
Нет. |
|
Назначение Резервирует регион виртуальной памяти и отображает на него буфер MDL. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Создает буфер MDL на основе существующего. Буфер MDL создается из тех же регионов физической памяти, что и оригинальный. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
Служба ввода-вывода
Служба предназначена для работы с портами ввода-вывода, MMIO, DMA, прерываниями.
Сведения о методах службы приведены в таблице ниже.
Методы службы io.IO (интерфейс kl.core.IO)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Регистрирует последовательность портов ввода-вывода. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Регистрирует регион памяти MMIO. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Создает буфер DMA. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Регистрирует прерывание. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Резервирует регион виртуальной памяти и отображает на него регион памяти MMIO. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Открывает доступ к портам ввода-вывода. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Привязывает вызывающий поток исполнения к прерыванию. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Отправляет потоку исполнения запрос, в результате выполнения которого поток должен выполнить отвязывание от прерывания. Параметры
|
Позволяет прекратить обработку прерывания в другом процессе. |
|
Назначение Разрешает (демаскирует) прерывание. Параметры
|
Позволяет разрешить прерывание на уровне системы. |
|
Назначение Запрещает (маскирует) прерывание. Параметры
|
Позволяет запретить прерывание на уровне системы. |
|
Назначение Изменяет параметры кеширования буфера DMA. Параметры
|
Нет. |
|
Назначение Резервирует регион виртуальной памяти и отображает на него буфер DMA. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Позволяет получить сведения о буфере DMA. Параметры
|
Нет. |
|
Назначение Позволяет получить физические адреса и размеры блоков буфера DMA. Параметры
|
Нет. |
|
Назначение Открывает доступ к буферу DMA для устройства. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
Служба потоков исполнения
Служба предназначена для управления потоками исполнения.
Сведения о методах службы приведены в таблице ниже.
Методы службы thread.Thread (интерфейс kl.core.Thread)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Создает поток исполнения. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Создает дескриптор вызывающего потока исполнения. Параметры
|
Нет. |
|
Назначение Блокирует вызывающий поток исполнения. Параметры
|
Позволяет заблокировать поток исполнения, который захватил созданный в разделяемой памяти объект синхронизации, который ожидается потоком исполнения другого процесса. В результате поток исполнения другого процесса может быть заблокированным сколь угодно долго. |
|
Назначение Возобновляет исполнение заблокированного потока. Параметры
|
Нет. |
|
Назначение Завершает поток исполнения. Параметры
|
Нет. |
|
Назначение Завершает вызывающий поток исполнения. Параметры
|
Нет. |
|
Назначение Блокирует вызывающий поток исполнения до завершения заданного потока исполнения. Параметры
|
Нет. |
|
Назначение Задает приоритет потока исполнения. Параметры
|
Позволяет повысить приоритет потока исполнения, чтобы сократить процессорное время, доступное остальным потокам исполнения, в том числе из других процессов. Рекомендуется контролировать приоритет потока исполнения. |
|
Назначение Задает базовый адрес локальной памяти потока исполнения (TLS) для вызывающего потока исполнения. Параметры
|
Нет. |
|
Назначение Блокирует вызывающий поток исполнения на заданное время. Параметры
|
Нет. |
|
Назначение Позволяет получить сведения о потоке исполнения. Параметры
|
Нет. |
|
Назначение Отвязывает вызывающий поток исполнения от прерывания, обрабатываемого в его контексте. Параметры
|
Нет. |
|
Назначение Позволяет получить маску сходства потока исполнения. Параметры
|
Нет. |
|
Назначение Задает маску сходства потока исполнения. Параметры
|
Нет. |
|
Назначение Задает класс планирования и приоритет потока исполнения. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Позволяет получить сведения о классе планирования и приоритете потока исполнения. Параметры
|
Нет. |
Служба дескрипторов
Служба предназначена для выполнения операций с дескрипторами.
Сведения о методах службы приведены в таблице ниже.
Методы службы handle.Handle (интерфейс kl.core.Handle)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Копирует дескриптор. В результате копирования вызывающий процесс получает потомка дескриптора. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Создает дескриптор. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Закрывает дескриптор. Параметры
|
Нет. |
|
Назначение Создает и связывает между собой клиентский, серверный и слушающий IPC-дескрипторы. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Создает клиентский IPC-дескриптор для обращения к модулю безопасности Kaspersky Security Module через интерфейс безопасности. Параметры
|
Позволяет исчерпать множество возможных значений дескрипторов процесса ядра. |
|
Назначение Позволяет получить идентификатор безопасности (SID) по дескриптору. Параметры
|
Нет. |
|
Назначение Закрывает дескриптор и отзывает его потомков. Параметры
|
Нет. |
|
Назначение Отзывает дескрипторы, которые образуют поддерево наследования заданного дескриптора. Параметры
|
Нет. |
|
Назначение Создает объект контекста передачи ресурса и настраивает механизм уведомлений для контроля жизненного цикла этого объекта. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
Служба процессов
Служба предназначена для управления процессами.
Сведения о методах службы приведены в таблице ниже.
Методы службы task.Task (интерфейс kl.core.Task)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Создает процесс. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Загружает сегмент ELF-образа в память процесса из буфера MDL. Параметры
|
Позволяет загрузить в память процесса код для последующего исполнения. |
|
Назначение Резервирует регион виртуальной памяти в процессе, который был создан "пустым". Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Освобождает регион виртуальной памяти, зарезервированный вызовом метода Параметры
|
Позволяет освободить регионы виртуальной памяти в другом процессе, который был создан "пустым" и еще не запущен, при наличии его дескриптора. (Маска прав дескриптора должна разрешать освобождение виртуальной памяти.) |
|
Назначение Задает точку входа в программу и смещение загрузки ELF-образа. Параметры
|
Создает условия для запуска кода, загруженного в память процесса. |
|
Назначение Загружает таблицу символов Параметры
|
Нет. |
|
Назначение Записывает заголовок ELF-образа в PCB процесса, который был создан "пустым". Параметры
|
Нет. |
|
Назначение Записывает данные в SCP дочернего процесса. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Удаляет SCP вызывающего процесса. Параметры
|
Нет. |
|
Назначение Запускает процесс. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Завершает вызывающий процесс. Параметры
|
Нет. |
|
Назначение Завершает процесс. Параметры
|
Позволяет завершить другой процесс при наличии его дескриптора. (Маска прав дескриптора должна разрешать завершение процесса.) |
|
Назначение Позволяет получить сведения о завершившемся процессе. Параметры
|
Нет. |
|
Назначение Позволяет получить контекст потока исполнения, входящего в процесс, который находится в "замороженном" состоянии. Параметры
|
Позволяет нарушить изоляцию процесса, который находится в "замороженном" состоянии. Например, контекст потока исполнения может содержать значения переменных. |
|
Назначение Позволяет получить сведения о регионе виртуальной памяти, принадлежащем процессу, который находится "замороженном" состоянии. Параметры
|
Позволяет нарушить изоляцию процесса, который находится в "замороженном" состоянии. Изоляция нарушается, так как открывается доступ к региону памяти процесса. |
|
Назначение Завершает процесс, который находится в "замороженном" состоянии. Параметры
|
Позволяет завершить процесс, который находится в "замороженном" состоянии. Это не дает получить сведения об этом процессе для диагностики. |
|
Назначение Позволяет получить имя вызывающего процесса. Параметры
|
Нет. |
|
Назначение Позволяет получить имя исполняемого файла (в ROMFS), из которого создан вызывающий процесс. Параметры
|
Нет. |
|
Назначение Позволяет получить приоритет начального потока процесса. Параметры
|
Нет. |
|
Назначение Задает приоритет начального потока процесса. Параметры
|
Позволяет повысить приоритет начального потока процесса, чтобы сократить процессорное время, доступное остальным потокам исполнения, в том числе из других процессов. Рекомендуется контролировать приоритет начального потока исполнения. |
|
Назначение Позволяет получить сведения о существующих процессах. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Задает класс планирования и приоритет начального потока процесса. Параметры
|
Позволяет выполнить следующие действия:
|
|
Назначение Задает начальное значение генератора случайных чисел для поддержки ASLR. Параметры
|
Нет. |
|
Назначение Позволяет получить адрес и размер таблицы символов Параметры
|
Нет. |
|
Назначение Передает дескриптор процессу, который еще не запущен. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Позволяет получить идентификатор процесса (PID). Параметры
|
Нет. |
Служба синхронизации
Служба предназначена для работы с фьютексами.
Сведения о методах службы приведены в таблице ниже.
Методы службы sync.Sync (интерфейс kl.core.Sync)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Блокирует исполнение вызывающего потока, если значение фьютекса равно ожидаемому. Параметры
|
Нет. |
|
Назначение Возобновляет исполнение потоков, заблокированных вызовами метода Параметры
|
Нет. |
Службы файловой системы
Службы предназначены для работы с файловой системой ROMFS, используемой ядром KasperskyOS.
Сведения о методах служб приведены в таблицах ниже.
Методы службы fs.FS (интерфейс kl.core.FS)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Открывает файл. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Закрывает файл. Параметры
|
Нет. |
|
Назначение Читает данные из файла. Параметры
|
Нет. |
|
Назначение Позволяет получить размер файла. Параметры
|
Нет. |
|
Назначение Позволяет получить уникальный идентификатор файла. Параметры
|
Нет. |
|
Назначение Позволяет получить число файлов в файловой системе. Параметры
|
Нет. |
|
Назначение Позволяет получить имя и уникальный идентификатор файла по индексу файла. Параметры
|
Нет. |
|
Назначение Позволяет получить размер файловой системы. Параметры
|
Нет. |
Методы службы fs.FSUnsafe (интерфейс kl.core.FSUnsafe)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Меняет образ файловой системы. Вместо образа ROMFS, созданного при сборке решения, будет использоваться другой образ ROMFS, загруженный в память процесса. Параметры
|
Позволяет выполнить следующие действия:
|
Служба времени
Служба предназначена для установки системного времени.
Сведения о методах службы приведены в таблице ниже.
Методы службы time.Time (интерфейс kl.core.Time)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Устанавливает системное время. Параметры
|
Позволяет установить системное время. |
|
Назначение Запускает постепенную корректировку системного времени. Параметры
|
Позволяет изменить системное время. |
|
Назначение Позволяет получить интервал времени, отражающий, на какое значение остается скорректировать системное время, чтобы постепенная корректировка была полностью завершена. Параметры
|
Нет. |
Служба слоя аппаратных абстракций
Служба предназначена для получения значений параметров аппаратной платформы, чтения и установки привилегированных регистров периферийных устройств, очистки кеша процессора, выполнения диагностического вывода программ, а также получения случайных чисел, сгенерированных аппаратно.
Сведения о методах службы приведены в таблице ниже.
Методы службы hal.HAL (интерфейс kl.core.HAL)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Позволяет получить значение параметра аппаратной платформы. Параметры
|
Позволяет получить значения параметров аппаратной платформы, которые могут представлять собой критические сведения о системе. |
|
Назначение Позволяет получить значение привилегированного регистра периферийного устройства. Параметры
|
Позволяет организовать канал передачи данных с процессом, который имеет доступ к методу Рекомендуется контролировать имя регистра. |
|
Назначение Задает значение привилегированного регистра периферийного устройства. Параметры
|
Позволяет выполнить следующие действия:
Рекомендуется контролировать имя регистра. |
|
Назначение Позволяет получить значение привилегированного регистра периферийного устройства. Параметры
|
Позволяет организовать канал передачи данных с процессом, который имеет доступ к методу Рекомендуется контролировать имя диапазона регистров и смещение регистра в этом диапазоне. |
|
Назначение Задает значение привилегированного регистра периферийного устройства. Параметры
|
Позволяет выполнить следующие действия:
Рекомендуется контролировать имя диапазона регистров и смещение регистра в этом диапазоне. |
|
Назначение Очищает кеш процессора. Параметры
|
Позволяет очистить кеш процессора. |
|
Назначение Помещает данные в диагностический вывод, который записывается, например, в порт COM или USB (версии 3.0 или более поздней, с поддержкой DbC). Параметры
|
Позволяет заполнить диагностический вывод фиктивными данными (например, неинформативными). |
|
Назначение Позволяет получить случайные числа, сгенерированные аппаратно. Параметры
|
Позволяет создать нагрузку на аппаратный генератор случайных чисел частыми вызовами метода, чтобы другие процессы не могли получить случайные числа с использованием этого генератора. |
Служба управления драйвером XHCI DbC ядра KasperskyOS
Служба предназначена для использования драйверами, реализующими стек USB (драйверами класса kusb), и позволяет останавливать и запускать драйвер XHCI DbC ядра KasperskyOS.
Сведения о методах службы приведены в таблице ниже.
Методы службы xhcidbg.XHCIDBG (интерфейс kl.core.XHCIDBG)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Запускает драйвер XHCI DbC ядра KasperskyOS. Параметры
|
Позволяет настроить контроллер XHCI, чтобы диагностический вывод (или отладка) выполнялся через порт USB (версии 3.0 или более поздней). |
|
Назначение Останавливает драйвер XHCI DbC ядра KasperskyOS. Параметры
|
Позволяет настроить контроллер XHCI, чтобы диагностический вывод (или отладка) не выполнялся через порт USB (версии 3.0 или более поздней). |
Служба аудита
Служба предназначена для чтения из журнала ядра KasperskyOS с данными аудита безопасности.
Сведения о методах службы приведены в таблице ниже.
Методы службы audit.Audit (интерфейс kl.core.Audit)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Открывает журнал ядра с данными аудита безопасности. Параметры
|
Нет. |
|
Назначение Закрывает журнал ядра с данными аудита безопасности. Параметры
|
Нет. |
|
Назначение Позволяет получить сообщение из журнала ядра с данными аудита безопасности. Параметры
|
Позволяет считать сообщения из журнала ядра с данными аудита безопасности, чтобы их не получил другой процесс. |
Служба профилирования
Служба предназначена для профилирования и сбора покрытия кода, а также для получения значений счетчиков производительности.
Сведения о методах службы приведены в таблице ниже.
Методы службы profiler.Profiler (интерфейс kl.core.Profiler)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Позволяет получить сведения о покрытии кода ядра. Параметры
|
Нет. |
|
Назначение Выводит сведения о покрытии кода ядра в формате gcda через интерфейс ввода-вывода (например, COM, USB). Параметры
|
Нет. |
|
Назначение Выводит сведения о покрытии пользовательского кода в формате gcda через интерфейс ввода-вывода (например, COM, USB). Параметры
|
Нет. |
|
Назначение Позволяет получить значения счетчиков производительности. Параметры
|
Нет. |
|
Назначение Позволяет получить значения счетчиков производительности, связанных с системным ресурсом (процессом или потоком исполнения). Параметры
|
Нет. |
|
Назначение Запускает семплирующее профилирование кода. Параметры
|
Нет. |
|
Назначение Останавливает семплирующее профилирование кода. Параметры
|
Нет. |
|
Назначение Позволяет получить данные, содержащие статистику исполнения кода, полученную в результате семплирующего профилирования. Параметры
|
Позволяет получить адреса и имена функций других процессов. |
|
Назначение Добавляет процесс в набор процессов, в контекстах которых исполняются программы, подлежащие семплирующему профилированию. Параметры
|
Нет. |
|
Назначение Очищает набор процессов, в контекстах которых исполняются программы, подлежащие семплирующему профилированию. Параметры
|
Нет. |
|
Назначение Сохраняет в ядре сведения о загружаемом сегменте ELF-образа. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Удаляет сведения о загружаемом сегменте ELF-образа, сохраненные в ядре методом Параметры
|
Нет. |
|
Назначение Выделяет ресурсы, требуемые для сбора покрытия кода ядра, который осуществляется при обработке системных вызовов, выполняемых вызывающим процессом. Параметры
|
Позволяет исчерпать оперативную память. |
|
Назначение Освобождает ресурсы, требуемые для сбора покрытия кода ядра, который осуществляется при обработке системных вызовов, выполняемых вызывающим процессом. Параметры
|
Нет. |
|
Назначение Запускает сбор покрытия кода ядра, который осуществляется при обработке системных вызовов, выполняемых вызывающим потоком исполнения. Параметры
|
Нет. |
|
Назначение Останавливает сбор покрытия кода ядра, который осуществляется при обработке системных вызовов, выполняемых вызывающим потоком исполнения. Также позволяет получить сведения о покрытии кода ядра. Параметры
|
Нет. |
Служба управления изоляцией памяти для ввода-вывода
Служба предназначена для управления изоляцией регионов физической памяти, используемых устройствами на шине PCIe для DMA. (Изоляция обеспечивается IOMMU.)
Сведения о методах службы приведены в таблице ниже.
Методы службы iommu.IOMMU (интерфейс kl.core.IOMMU)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Прикрепляет устройство на шине PCIe к автоматически созданному домену IOMMU, ассоциированному с вызывающим процессом. Параметры
|
Позволяет прикрепить устройство на шине PICIe, управляемое другим процессом, к домену IOMMU, ассоциированному с вызывающим процессом, что приведет к неработоспособности устройства. Рекомендуется контролировать адрес устройства на шине PCIe. |
|
Назначение Открепляет устройство на шине PCIe от автоматически созданного домена IOMMU, ассоциированного с вызывающим процессом. Параметры
|
Нет. |
|
Назначение Создает домен IOMMU, ассоциированный с вызывающим процессом. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Прикрепляет устройство на шине PCIe к заданному домену IOMMU, ассоциированному с вызывающим процессом. Параметры
|
Позволяет прикрепить устройство на шине PICIe, управляемое другим процессом, к домену IOMMU, ассоциированному с вызывающим процессом, что приведет к неработоспособности устройства. Рекомендуется контролировать адрес устройства на шине PCIe. |
|
Назначение Открепляет устройство на шине PCIe от заданного домена IOMMU, ассоциированного с вызывающим процессом. Параметры
|
Нет. |
Служба соединений
Служба предназначена для динамического создания IPC-каналов.
Сведения о методах службы приведены в таблице ниже.
Методы службы cm.CM (интерфейс kl.core.CM)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Выполняет запрос на создание IPC-канала с сервером для использования заданной службы. Параметры
|
Позволяет создать нагрузку на сервер, отправляя множество запросов на создание IPC-канала. |
|
Назначение Позволяет получить запрос клиента на создание IPC-канала для использования службы. Параметры
|
Нет. |
|
Назначение Отклоняет запрос клиента на создание IPC-канала для использования заданной службы. Параметры
|
Нет. |
|
Назначение Принимает запрос клиента на создание IPC-канала для использования заданной службы. Параметры
|
Нет. |
Служба управления электропитанием
Служба предназначена для изменения режима электропитания аппаратной платформы (например, выключения, перезагрузки), а также для включения и выключения процессоров (вычислительных ядер).
Сведения о методах службы приведены в таблице ниже.
Методы службы pm.PM (интерфейс kl.core.PM)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Выполняет запрос на изменение режима электропитания аппаратной платформы. Параметры
|
Позволяет изменить режим электропитания аппаратной платформы. |
|
Назначение Выполняет запрос на включение и/или выключение процессоров. Параметры
|
Позволяет выключить и включить процессоры. |
|
Назначение Позволяет получить сведения о том, какие процессоры находятся в активном состоянии. Параметры
|
Нет. |
Служба уведомлений
Служба предназначена для работы с уведомлениями о событиях, связанных с ресурсами.
Сведения о методах службы приведены в таблице ниже.
Методы службы notice.Notice (интерфейс kl.core.Notice)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Создает приемник уведомлений. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Добавляет запись вида "ресурс – маска событий" в приемник уведомлений, чтобы он получал уведомления о событиях, которые связаны с заданным ресурсом и соответствуют заданной маске событий. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Удаляет записи вида "ресурс – маска событий" с заданным идентификатором из приемника уведомлений, чтобы он не получал уведомления о событиях, соответствующих этим записям. Параметры
|
Нет. |
|
Назначение Удаляет записи вида "ресурс – маска событий", соответствующие заданному ресурсу, из приемника уведомлений, чтобы он не получал уведомления о событиях, соответствующих этим записям. Параметры
|
Нет. |
|
Назначение Извлекает уведомления из приемника. Параметры
|
Нет. |
|
Назначение Удаляет все записи вида "ресурс – маска событий"из заданного приемника уведомлений; возобновляет исполнение всех потоков, ожидающих появления уведомлений в заданном приемнике; опционально запрещает добавление записей вида "ресурс – маска событий" в заданный приемник уведомлений. Параметры
|
Нет. |
|
Назначение Сигнализирует, что произошли события, которые связаны с заданным пользовательским ресурсом и соответствуют заданной маске событий. Параметры
|
Нет. |
Служба прерывания IPC
Служба предназначена для прерывания блокирующих системных вызовов Call()
и Recv()
. (Это может потребоваться, например, для корректного завершения процесса.)
Сведения о методах службы приведены в таблице ниже.
Методы службы ipc.IPC (интерфейс kl.core.IPC)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Создает объект синхронизации IPC. Объект синхронизации IPC используется для прерывания блокирующих системных вызовов Дескриптор объекта синхронизации IPC не может быть передан другому процессу, так как в маске прав этого дескриптора не установлен необходимый для этого флаг. Параметры
|
Позволяет исчерпать память ядра, создавая в ней множество объектов. |
|
Назначение Переводит заданный объект синхронизации IPC в состояние, при котором системные вызовы Параметры
|
Нет. |
|
Назначение Переводит заданный объект синхронизации IPC в состояние, при котором системные вызовы Параметры
|
Нет. |
Служба взаимодействия со встроенным программным обеспечением аппаратной платформы
Служба предназначена для взаимодействия со встроенным программным обеспечением (англ. firmware) аппаратной платформы через интерфейс EFI.
Сведения о методах службы приведены в таблице ниже.
Методы службы efi.Efi (интерфейс kl.core.Efi)
Метод |
Назначение и параметры метода |
Потенциальная опасность метода |
---|---|---|
|
Назначение Позволяет получить текущее время от источника времени на аппаратной платформе и характеристики этого источника. Параметры
|
Нет. |
|
Назначение Устанавливает текущее время в источнике времени на аппаратной платформе. Параметры
|
Позволяет установить текущее время в источнике времени на аппаратной платформе. |
|
Назначение Позволяет получить значение переменной EFI. Параметры
|
Позволяет получить значения переменных EFI, которые могут представлять собой критические сведения о системе. |
|
Назначение Перечисляет имена переменных EFI. Параметры
|
Позволяет получить имена переменных EFI, которые могут представлять собой критические сведения о системе. |
|
Назначение Устанавливает значение переменной EFI. Параметры
|
Позволяет установить значение переменной EFI. |
|
Назначение Позволяет получить сведения о переменных EFI. Параметры
|
Нет. |
|
Назначение Перезагружает аппаратную платформу. Параметры
|
Позволяет перезагрузить аппаратную платформу. |