发新话题
打印

请教Linux下当前进程和当前程序的问题!

请教Linux下当前进程和当前程序的问题!

进程和程序的关系到底是怎样的?(我看了很多书了了,都没找到我能理解并接受的讲解)
当前程序和当前进程的关系又是怎样的?
是不是当前进程就是在当前程序执行之前为当前程序限定执行环境(CPU寄存器,以及各种硬件环境)?
如果是这样,是不是霜*绦蛟谥葱惺保?绻?枰?氯挝竦幕埃?诖唇?诵陆?滩⑿薷男陆?淌粜灾?螅?鼻俺绦蚓鸵?灰桓鲋葱谢肪沉耍?
内核看得快看不下去了!      

TOP

程序是一个静态的概念,是存在于存储介质上的一组由代码指令,符号信息等组成的二进制数据,这组数据在不同的操作系统平台上有不同的组织格式,比如Windows的PE格式,Linux的ELF格式等。当需要运行一个程序时,由操作系统内核将该程序读取出来,按其组织格式解析,并把代码段,数据段等装入内存,并构建虚拟地址空间,并在内核的管理结构中注册这个新开僻的动态结构,这就是进程了,也就是说,进程是程序在系统中的一个运行实例,一个程序可以有多个运行实例。一个进程它有进程状态,地址空间,代码段,静态数据段,动态数据段,所请求的系统资源(打开的文件,占用的设备)等。
    现在操作系统都是多任务的操作系统,有多个进程可以在同一个CPU上“同时”运行“,但这个”同时“是个假像,是通过分时调度实现的,当前正在运行的进程就称为当前进程。没有当前程序的概念。
    如果还有不清楚的,我们随时在版面发文交流,谢谢。      

TOP

发新话题