C UNIX V6处理交换时间

C UNIX V6处理交换时间,c,unix,assembly,pdp-11,C,Unix,Assembly,Pdp 11,试图了解著名的UNIX六级内核的工作原理。问题是在源代码流程的何处触发切换 在UNIX源代码的注释中,我在第3725行遇到了clock()函数。它是否触发进程交换 由于197x和201x编程文本和术语的不同风格,虽然关于此源代码的信息足够多,但我还是被卡住了。上面Margaret Bloom的评论给了我一个线索,但我没有看到复选标记,否则我会接受它作为答案。(显然,这只是一个评论) 下一个版本可能是更为开放的版本: 1) slp.c的第1923行说:“虽然不太明显,但这里的基本同步是在runin

试图了解著名的UNIX六级内核的工作原理。问题是在源代码流程的何处触发切换

在UNIX源代码的注释中,我在第3725行遇到了clock()函数。它是否触发进程交换


由于197x和201x编程文本和术语的不同风格,虽然关于此源代码的信息足够多,但我还是被卡住了。

上面Margaret Bloom的评论给了我一个线索,但我没有看到复选标记,否则我会接受它作为答案。(显然,这只是一个评论) 下一个版本可能是更为开放的版本:

1) slp.c的第1923行说:“虽然不太明显,但这里的基本同步是在runin标志上的,该标志处于休眠状态,由时钟例程每秒设置一次。因此,内核洗牌每秒发生一次”

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

3) 源代码的第0147行:#定义赫兹60/滴答声/时钟秒/

4) 第14章程序交换(第14.2段):进程0执行“sched”。关于磨合磨合

因此,clock()是一个中断服务例程(IRS)。函数sched()是进程编号0

见本章第1923行