过程概念与程序的区别
1、流程定义
进程是指可以在某个数据集上同时运行的程序的执行进程。
流程是一个由正文段、用户段和流程控制块组成的执行环境。 正文段包含执行的机器命令,用户数据段包含进程在运行时直接进行操作的用户数据。 进程控制块存储程序的执行环境,操作系统通过这些数据描述和管理进程。
2、流程特点
进程是操作系统管理的实体,与程序的执行过程相对应,具有以下特点:
同时性。 可以按固定间隔同时运行多个流程实体。 同时性是流程和现代操作系统的重要特征。
动感。 进程是进程实体的执行进程。 的动态性表现在动态变化过程中,通过运行程序创建进程,通过捕获CPU执行进程指令,并在执行结束时取消。 此外,进程在创建后可能会改变进程的状态。
独立性。 在没有引入线程概念的操作系统中,进程是独立执行和资源调度的基本单元。
异步性。 显示出流程运行时断时续、流程何时运行、何时暂停都无法预测的随机特性。
结构特征。 流程实体包括用户正文段、用户数据段和流程控制块。
3、流程和程序比较
3.1、流程和程序的区别
程序是静态的,过程是动态的。 程序是存储在某介质上的二进制代码,过程与程序的执行过程相对应。 系统不需要为不运行的程序编写进程,进程一经创建,就处于不断变化的动态过程中,适应不断变化的上下文环境。
程序是永久性的,过程是暂时存在的。 程序持久性是相对于进程的,只要不删除,就可以永久存储在介质中。
3.2、流程和程序联系
流程一次运行,流程始终至少对应一个特定流程。 一个程序可以支持多个进程,同一程序可以在不同的数据集上运行,从而构成了几个不同的进程。 几个进程可以同时执行同一程序代码,同一进程可以按顺序执行几个程序。
《现代操作系统》通过比喻的形式说明了进程和程序的区别。 一位擅长烹饪的计算机科学家正在为女儿烤生日蛋糕。 他有制作生日蛋糕的食谱。 厨房里有必要的原料。 在这个比喻中,做蛋糕的食谱是程序。 也就是说,它是以适当形式编写的算法。 计算机科学家是CPU。 制作蛋糕的各种原料是输入数据。 过程是厨师阅读食谱,取来各种原料,烤蛋糕等一系列动作的总和。