linux中的进程是个最基本的概念,进程从运行队列到开始运行有两个开始的地方,一个就是switch_to宏中的标号1:"1:/t",另 一个就是ret_form_fork,只要不是新创建的进程,几乎都是从上面的那个标号1开始的,而switch_to宏则是除了内核本身,所有的进程要 想运行都要经过的地方,这样看来,虽然linux的进程体系以及进程调度非常复杂,但是总体看来就是一个沙漏状,而switch_to宏就是沙漏中间那个 最细的地方,想从一端到另一端,必然要经过那个地方,在非新创建的进程的情况下,所有进程都是从标号1开始,让我们先看一下这是怎么回事:
#define switch_to(prev,next,last) do {