程序与进程的区别
2016-05-09 20:53
204 查看
刚开始学习计算机操作系统,对程序和进程的概念有所模糊,更别说他们的区别,我通过查阅资料和询问进行了一下总结,希望对大家有所帮助,如果有错误,也希望大家批评指正。
1.动态性:程序是静态的,是一组有序指令的集合;而进程是动态的,是程序在数据集上的一次执行,“它由创建而产生,由调度而执行,由撤销而消亡”,有一定的生命期。
2.并发性:程序没有并发性,程序(没有建立PCB)是不能并发执行的;而进程具有并发性,体现在多个进程实体同存在于内存中,且能在一段时间内同时运行。
3.资源分配:进程是计算机分配资源的基本单位,而程序不是。
4.对应关系:进程和程序不是一一对应的。一个程序可对应多个进程,例如:C语言程序调试时,有时多个调试窗口可以同时存在,对应了多个进程,或者是多次打开同一浏览器;一个进程也可以执行一个或多个程序,例如:一个DLL文件可被多个程序运用,比如DirectX9的动态链接库,许多游戏有了它才能运行。
1.动态性:程序是静态的,是一组有序指令的集合;而进程是动态的,是程序在数据集上的一次执行,“它由创建而产生,由调度而执行,由撤销而消亡”,有一定的生命期。
2.并发性:程序没有并发性,程序(没有建立PCB)是不能并发执行的;而进程具有并发性,体现在多个进程实体同存在于内存中,且能在一段时间内同时运行。
3.资源分配:进程是计算机分配资源的基本单位,而程序不是。
4.对应关系:进程和程序不是一一对应的。一个程序可对应多个进程,例如:C语言程序调试时,有时多个调试窗口可以同时存在,对应了多个进程,或者是多次打开同一浏览器;一个进程也可以执行一个或多个程序,例如:一个DLL文件可被多个程序运用,比如DirectX9的动态链接库,许多游戏有了它才能运行。
相关文章推荐
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- Ruby中require、load、include、extend的区别介绍
- Ruby中的p和puts的使用区别浅析
- Ruby中的block、proc、lambda区别总结
- Redis和Memcached的区别详解
- Lua中调用函数使用点号和冒号的区别
- Lua中关于求模与求余的区别介绍
- TMP、TEMP和TMP文件区别解析
- 可自定义oem的萝卜家园 Ghost XP 新春装机版 V200801 下载
- C#基础语法:结构和类区别详解
- 深入c# 类和结构的区别总结详解
- C#中string.Empty和null的区别详解
- sqlserver和oracle中对datetime进行条件查询的一点区别小结
- 网页中Span和Div的区别
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- C#中类与结构的区别实例分析
- SQL 中having 和where的区别分析
- C#实现判断操作系统是否为Win8以上版本
- c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别详解