本章我们介绍了进程和线程的概念,由于进程管理的资源事实上仅有虚拟内存,而它用一个
接着,处于要将线程切换出去的目的,我们讨论如何表达线程的运行状态,以及如何用栈实现线程状态的保存与恢复,进而实现了线程切换。
最终,我们初始化一个临时线程(注意利用 __trapret
初始化寄存器的小技巧),并从启动线程切换过去并切换回来。
如果同时有多个线程需要执行,我们需要公平合理地分配 CPU 资源给这些线程,让它们都能被运行到,这就是下一章所要讲的线程调度。
本章我们介绍了进程和线程的概念,由于进程管理的资源事实上仅有虚拟内存,而它用一个
接着,处于要将线程切换出去的目的,我们讨论如何表达线程的运行状态,以及如何用栈实现线程状态的保存与恢复,进而实现了线程切换。
最终,我们初始化一个临时线程(注意利用 __trapret
初始化寄存器的小技巧),并从启动线程切换过去并切换回来。
如果同时有多个线程需要执行,我们需要公平合理地分配 CPU 资源给这些线程,让它们都能被运行到,这就是下一章所要讲的线程调度。