C语言 UNIX V6 进程交换时间



试图了解著名的UNIX六级内核的工作原理。问题是关于在源代码 https://pages.lip6.fr/Pierre.Sens/srcv6/进程切换的哪个位置被触发?

在狮子会关于UNIX源代码的评论中,我在3725行遇到了clock((函数。它是否触发进程交换?

尽管有关此源代码的信息足够多,但由于 197x 和 201x 编程文本和术语的不同风格,我陷入了困境。

上面玛格丽特·布鲁姆的评论给了我一个线索,但我没有看到复选标记,否则我会接受它作为答案。(显然是因为它只是一个评论( 下一个可能是更多展开的版本:

1(SLP.C的第1923行说:">虽然不是很明显,但这里的基本同步是在runin标志上,它被睡眠,由时钟例程每秒设置一次。因此,核心洗牌每秒进行一次"。

2(Lion在第11章时钟中断中的评论说:"无论使用哪个时钟,中断都是以线路频率产生的(即使用50 Hz电源,每20毫秒一次("。

3(源代码的0147行:#define HZ 60/时钟的滴答/秒/。

4( 第 14章程序交换(第 14.2 段(:进程 #0 执行"调度"。等关于运行跳动

所以clock((是一个中断服务例程 (IRS(。函数sched((是进程编号 0。

相关内容

  • 没有找到相关文章

最新更新