总结与展望

这一章我们介绍了如何借助时钟中断实现周期性的线程调度,合理分配 CPU 资源给每个线程。

我们在后台运行一个内核线程 idle 来进行线程的调度。需要尤其注意异步中断的屏蔽与恢复。

不过,目前为止我们所涉及到的线程全都是所谓的内核线程,它们共享内核(进程)的资源,也即经过重映射之后的虚拟内存空间。当然,每个线程都有仅属于它们自己的一个内核栈。

下一章,我们考虑编写并在我们的内核上运行用户态程序