进程和程序的区别 - 分享一个故事

今天看见一个关于进程和程序区别的故事比较不错:

一位厨艺很好的计算机科学家正在为他的女儿烘制生日蛋糕。他做的生日蛋糕有食谱,厨房中有所需要的原料:面粉、糖、奶油等。在这个比喻中,做蛋糕的食谱就是程序了(即用适当的形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的原料就是输入数据了。进程就是厨师阅读食谱、取得各种原料、烘制蛋糕的一系列动作的总和。

现在假设计算机科学家的儿子哭着跑了进来,说他被一只蜜蜂蛰了。计算机就记录他的蛋糕照着食谱做到什么地方了(保存进程的当前状态),然后拿出一本急救手册,按照急救手册中的指示处理蛰伤。这里我们看见了处理机(科学家)从低优先级的进程(做蛋糕)切换到一个高优先级的进程(处理蛰伤,实施医疗救治),每个进程都有各自的程序(菜谱和急救手册)。当蛰伤处理完毕,科学家又回来做蛋糕,从刚才离开时的哪一步继续做下去。

关键思想:
进程是某种类型的活动,它有程序、输入、输出、状态。单个处理机被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转为另一个进程提供服务。

猜你喜欢

转载自bodu-li.iteye.com/blog/1840065