-
pna-x矢量网络分析仪通过调用call函数分派切换器来精确测量噪声系数
资源介绍
6.8 call函数调用分派切换器的理由
如果 call函数仅仅是时钟中断服务函数的一部分,那么它调用分配切换器就是理所当然
的了,但它还是其他中断、自陷服务函数的一部分,所以在产生其他中断、自陷时,如果之
前模式是用户模式,那么同样可能调用分派切换器,只要 runrun标记大于 0。那为什么这么
做呢?这是为了提高进程调度的实时性,因为 runrun标记大于 0,就表示有更高优先级的进
程在等待运行。
比如,现在有进程 p1调用 read从磁盘读取数据,该读取是同步操作。在磁盘读操作结束
前,read函数不会返回,p1处于等待状态。CPU切换至另一个进程 p2中运行。这时进程状
态如表 6-5所示。
表 6-5 进程 p1和 p2的状态(一)
进程 p_flag p_stat p_pri
p1 用户、加载 等待 -50
p2 用户、加载 运行 110
一段时间后,磁盘读操作完成,产生了一个磁盘读完成中断,进入到 call函数。call函数
又会执行 jsr pc,*(r0)+ 来调用磁盘中断服务函数的 C语言部分处理,该部分会唤醒进程 p1,
如表 6-6所示。
表 6-6 进程 p1和 p2的状态(二)
进程 p_flag p_stat p_pri
p1 用户、加载 就绪 -50
p2 用户、加载 运行 110