编程接口指南

控制调度的接口调用

以下接口调用可控制进程调度。

使用 priocntl

对活动类调度的控制是通过 priocntl(2) 实现的。通过 fork(2)exec(2) 可继承类属性连同调度参数以及优先级控制所需的权限。RTTS 类都采用这种继承。

priocntl(2) 是用于指定实时进程、一组进程或应用系统调用的类的接口。priocntlset(2) 还提供了更为通用的接口,用于指定应用系统调用的一整组进程。

priocntl(2) 的命令参数可以是以下各项之一:PC_GETCIDPC_GETCLINFOPC_GETPARMSPC_SETPARMS。调用过程的实际或有效 ID 必须与受影响进程的实际或有效 ID 相匹配,或者必须具有超级用户权限。

PC_GETCID

此命令采用包含可识别类名称的结构的名称字段。将返回类 ID 以及类属性数据数组。

PC_GETCLINFO

此命令采用包含可识别类标识符的结构的 ID 字段。将返回类名称以及类属性数据数组。

PC_GETPARMS

此命令将返回其中一个指定进程的调度类标识符或特定于类的调度参数。即使 idtypeid 可能会指定许多 ID 类型和 ID,但是 PC_GETPARMS 仅返回一个进程的参数。类可选择进程。

PC_SETPARMS

此命令用于设置一个或多个指定进程的调度类或特定于类的调度参数。

其他接口调用

sched_get_priority_max

返回指定策略的最大值。

sched_get_priority_min

返回指定策略的最小值。有关更多信息,请参见 sched_get_priority_max(3R) 手册页。

sched_rr_get_interval

将指定的 timespec 结构更新到当前执行时间限制。有关更多信息,请参见 sched_get_priority_max(3RT) 手册页。

sched_setparam, sched_getparam

设置或获取指定进程的调度参数。

sched_yield

阻塞调用进程直到调用进程返回到进程列表的顶部为止。