Адаптация планировщика для аппаратной платформы с разной производительностью процессоров (sched_api.h)

30 сентября 2026

ID libkos_sched_api

API определен в заголовочном файле sysroot-*-kos/include/coresrv/sched/sched_api.h из состава KasperskyOS SDK.

API позволяет установить уровни производительности процессоров (вычислительных ядер) в планировщике, чтобы сбалансировать планирование вычислений. По умолчанию планирование вычислений выполняется, исходя из предположения, что все процессоры на платформе имеют одинаковую производительность. Однако, например, на аппаратных платформах с технологиями ARM big.LITTLE и Intel E/P cores это не так, и балансировка планирования вычислений позволяет добиться того, чтобы процессоры с более высокой производительностью использовались более интенсивно, а нагрузка на менее производительные процессоры снизилась.

Сведения о функциях API приведены в таблице ниже.

Использование API

Чтобы установить уровни производительности процессоров в планировщике, нужно вызвать функцию KnSchedSetCpuCapacity(). Через параметры cpu и capacity эта функция принимает индекс процессора и уровень производительности процессора соответственно. Уровень производительности процессора представляет собой относительную величину, для которой базой сравнения служит самый высокопроизводительный процессор на аппаратной платформе. Для самого высокопроизводительно процессора нужно указать значение SCHED_CPU_CAPACITY_MAX (1024). Для процессоров с меньшей производительностью нужно указать долю от этого значения. Например, если эта доля составляет 75%, в параметре capacity нужно указать значение 768. (По умолчанию для всех процессоров на аппаратной платформе задан уровень производительности SCHED_CPU_CAPACITY_MAX.)

Сведения о функциях API

Функции sched_api.h

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!