Solaris内核调度器深度解析
1. 实时调度表与调度器基础
实时(RT)调度表在Solaris内核调度中扮演着关键角色。每个RT调度表条目由/usr/include/sys/rt.h中的rtdpent数据结构定义。该表包含两列:rt_quantum字段,它代表处理器执行时间的时间片;rt_globpri字段,即系统范围的全局优先级,在加载RT调度类时动态计算。
typedef struct rtdpent { pri_t rt_globpri; /* global (class independent) priority */ int rt_quantum; /* default quantum associated with this level */ } rtdpent_t;rt_quantum字段与TS表中的ts_quantum字段含义相同,即处于该优先级的线程在被调度出处理器之前允许运行的时间。使用dispadmin(1M)命令转储调度表时,该值依赖于RES值。默认RES值为1000时,rt_quantum以毫秒为单位。
调度器是管理可运行内核线程队列(调度队列)的内核代码段。它将最高