文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux下进程的结构

Linux下进程的结构

时间:2009-07-25  来源:embededgood

理解Linux下进程的结构

  Linux是一个多进程的操作系统,他的进程之间具有并行性、互不干扰等特点。也就是说,进程之间是分离的任务,拥有各自的权力和责任。其中,每一个进程都运行在各自独立的虚拟地址空间。因此,即使一个进程发生异常,它也不会应想到系统中的其它进程

Linux中一个进程在内存里有三部分数据,就是"数据段"、"堆栈段"和"代码段",基于I386兼容的中央处理器,都有上述三种段寄存器,以方便操作系统的运行。如图4-1所示。

  本质,对于理解、描述和设计操作系统有着极为重要的意义。了解进程的活动、状态,也有利于编制复杂程序。

     500)this.width=500;" border=0>
  图4-1  Linux进程的结构

对于linux而言,数据存储情况:
  代码段是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。

数据段则存放程序的全局变量、常数及动态数据分配的数据空间。(如malloc函数取得的空间等)。

堆栈段存放的就是子程序的返回地址、子程序的参数及程序的局部变量。堆栈段包括进程控制块PCB(Process Control Block)中。PCB处于进程核心堆栈的底部,不需要额外分配空间。

 

问:在一个程序运行的时候,那些变量存在堆中,那些变量存放在栈中?

答:对于静态变量和全局变量存放在堆中。

子函数的入口的临时变量或局部变量存放在栈中。

相关阅读 更多 +
排行榜 更多 +
海上商人

海上商人

休闲益智 下载
滑板飞行大师

滑板飞行大师

休闲益智 下载
植物吃人花

植物吃人花

休闲益智 下载