进程的概念和与程序的区别
1, 进程的定义
进程是允许某个并发执行的程序在某个数据集合上的运行过程.
进程是由正文段, 用户数据段及进程控制块共同组成的执行环境. 正文段存放被执行的机器指令, 用户数据段存放进程在执行时直接进行操作的用户数据. 进程控制块存放程序的运行环境, 操作系统通过这些数据描述和管理进程.
2, 进程的特征
进程是操作系统管理的实体, 对应了程序的执行过程, 具有以下几个特征.
并发性. 多个进程实体能在一段时间间隔内同时运行. 并发性是进程和现代操作系统的重要特征.
动态性. 进程是进程实体的执行过程. 进程的动态性表现在因执行程序而创建进程, 因获得 CPU 而执行进程的指令, 因运行终止而被撤销的动态变化过程. 此外, 进程在创建后还有进程状态的变化.
独立性. 在没有引入线程概念的操作系统中, 进程是独立运行和资源调度的基本单位.
异步性. 是指进程的执行时断时续, 进程什么时候执行, 什么时候暂停都无法预知, 呈现一种随机的特性.
结构特征. 进程实体包括用户正文段, 用户数据段和进程控制块.
3, 进程与程序的比较
3.1, 进程与程序的区别
程序是静态的, 进程是动态的, 程序是存储在某种介质上的二进制代码, 进程对应了程序的执行过程, 系统不需要为一个不执行的程序创建进程, 一旦进程被创建, 就处于不断变化的动态过程中, 对应了一个不断变化的上下文环境.
程序是永久的, 进程是暂时存在的. 程序的永久性是相对于进程而言的, 只要不去删除它, 它可以永久的存储在介质当中.
3.2, 进程与程序的联系
进程是程序的一次执行, 而进程总是对应至少一个特定的程序. 一个程序可以对应多个进程, 同一个程序可以在不同的数据集合上运行, 因而构成若干个不同的进程. 几个进程能并发地执行相同的程序代码, 而同一个进程能顺序地执行几个程序.
关于进程和程序的区别,《现代操作系统》中用了一个比喻形象说明: 一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕. 他有做生日蛋糕的食谱, 厨房里有所需要的原料, 在这个比喻中, 做蛋糕的食谱就是程序 (即用适当形式描述的算法), 计算机科学家就是处理机 (CPU), 而做蛋糕的各种原料就是输入数据. 进程就是厨师阅读食谱, 取来各种原料以及烘制蛋糕等一系列动作的总和.
来源: http://www.bubuko.com/infodetail-2767061.html