用实例解释“进程和程序的区别”

          一个类比可以使我们更容易理解这一点。想象一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。他有做生日蛋糕的食谱,厨房里有所需的原料:面粉、鸡蛋、糖、香草汁等等。在这个比喻中,做蛋糕的食谱就是程序(即用适当形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的各种原料就是输入数据进程就是厨师阅读食谱、取来各种原料、以及烘制蛋糕的一系列动作的总和。

现在假设计算机科学家的儿子哭着跑了进来,说他被一只蜜蜂螫了(向系统发出中断信号)。计算机科学家就记录下他照着食谱做到哪儿了(保存进程的当前状态),然后拿出一本急救手册,按照其中的指示处理螫伤。这里,我们看到处理机从一个进程(做蛋糕)切换到另一个高优先级的进程(实施医疗救治),每个(进程)拥有各自的程序(食谱和急救书)。当蜜蜂螫伤处理完之后,计算机科学家又回来做蛋糕,从他离开时的那一步继续做下去。

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

------------------------------------------------------------------------------------------------------------------------

看完以上的帖子后,我对进程与程序之间的差别有了更深的了解。进程就像是一个工作任务(也有可能一个工作任务包含有若干个进程),为了实现这个任务我们需要的是实现这个任务的方法和步骤(即程序),而且要为每个步骤提供它所需要的数据(数据集)。在进程工作的过程中,程序会根据它的方法和步骤(即算法),去调用内存中的数据。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值