Linux下的进程结构
Linux系统是一个多进程的系统,它的进程之间具有并行性、互不干扰等特点。也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任。其中,各个进程都运行在独立的虚拟地址空间。因此,即使一个进程发生异常,它也不会影响到系统中的其他进程。
Linux中的进程包含3个段,分别为“数据段”、“代码段”、“堆栈段”。
(1)数据段:存放的是全局变量、常数以及动态数据分配的数据空间。根据存放的数据,数据段又可以分为普通数据段(包括可读可写/只读数据段,存放静态初始化的全局变量或常量)、BSS数据段(存放未初始化的全局变量)、堆(存放动态分配的数据)。
(2)代码段:存放的是程序代码的数据。
(3)堆栈段:存放的是子程序的返回地址、子程序的参数以及程序的局部变量等。