首页 > 其他 > 详细

进程和程序的区别 The relationship between process and program

时间:2014-03-29 15:32:34      阅读:402      评论:0      收藏:0      [点我收藏+]

遇到一个概念性的问题:程序和进程有什么区别?


一个程序是代码和数据的集合。一个进程是程序执行时候的一个特殊实例。程序总是运行于一个进程之中。

对于进程和程序概念性的区分对于理解fork函数和execl函数都是有很大帮助的。fork在相同的程序之中创建一个新的子进程,子进程具有父进程的很多性质,除了

fork返回值不同

PID不同

两者的父进程不同

父进程如果有文件锁,子进程不继承

父进程附加的信号,子进程不具有

tms结构体的值不同

几乎没有什么是不同的。在很大程度上,子进程 是父进程的一份拷贝



而exe family函数可以加载并运行新的程序。

很多时候,由于程序单进程而导致进程和程序的概念区分不清。这里要特别注意


一个进程触发和初始化一个程序!而一个程序能够多进程化,同时运行多个应用。

一个程序是可执行指令集的集合,目的是完成既定任务。



一个进程是一个模块,这个模块可以并行的执行其他模块。这些模块分别被加载到同一个用户指定的程序中。

 Process is always dependent on execution of a program. 


好比我写了一个hello world的source file。这个时候我编译链接完成生成了一个./a.out 

这个时候./a.out就是程序,他是数据和代码的集合,他是可执行的程序。这个时候还没process什么事


当我们在运行这个程序的时候,系统就会为我们的./a.out创建进程,进程就会触发并初始化我们的程序。在当前系统上执行这个程序的可执行指令。



bubuko.com,布布扣

进程和程序的区别 The relationship between process and program,布布扣,bubuko.com

进程和程序的区别 The relationship between process and program

原文:http://blog.csdn.net/cinmyheart/article/details/22477207

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!