分类:
2009-06-19 17:05:40
摘自《现代操作系统》
———————————————————————————————
进程和程序之间的关系是很微妙的,但非常重要。用一个比喻可以使我们更容易理解这一点。想象一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。 他有做生日蛋糕的食谱,厨房里有所需的原料:面粉,鸡蛋,糖,香草汁等。在这个比喻中,做蛋糕的食谱就是程序(即用适当的形式描述的算法),计算机科学家 就是处理机(CPU),而做蛋糕的各种原料就是输入数据。进程就是厨师阅读食谱,取来各种原料以及烘制蛋糕等一系列动作的总和。
现在假设计算机科学家的儿子哭着跑过来,说他被一只蜜蜂蜇了。计算机科学家就记录下他照着食谱做到哪儿了(保存进程的当前状态),让后拿出一本急救手册, 按照其中的指示处理蜇伤。这里,我们看到处理机从一个进程(做蛋糕)切换到令一个更高优先级的进程(实施医疗救治),每个进程拥有自己的程序(食谱和急救 手册)。当蜜蜂蜇伤处理完之后,这位科学家又回来做蛋糕,从他离开时的那一步继续做下去。
这里的关键思想是:一个进程是某种类型的一个活动,它有程序,输入,输出以及状态。单个处理器可以被若干进程共享,使用某种调度算法决定何时停止一个进程的操作,并转而为另一个进程服务。