进程的虚拟空间

 

 

                                   

 

 



start-end perm offset major minor inode image 

每行中的字段如下: 



/proc/*/maps (映像名字本身除外)中的每一个字段都与struct vm_area_struct中的一个成员相对应,下面用一个列表对每个字段进行描述。 

start 
end 
该内存区域的起始和结束虚拟地址。 

perm 
内存区域的读、写和执行许可的位掩码。该字段描述了允许进程对属于该区域的页所能进行的操作。字段中的最后一个字符既可以是 p(代表私有),也可以是 s(代表共享)。 

offset 
这里是内存区域在被映射文件中的起始位置。零偏移量表示内存区域的第一页与文件的第一页相对应。 

major 
minor 
对应于被映射文件所在设备的主设备号和次设备号。主设备号和次设备号是由用户打开的设备特殊文件所在的磁盘分区来决定的,而不是由设备本身所决定,这一点很容易混淆。 

inode 
被映射文件的索引节点号。 

image 
已被映射的文件(通常是一个可执行映像)的名字。

#include <string.h>

        int ab[250000] ={1};//data
        int abc[250000] = {0};//bss

int main()
{
        int a[250000] = {0};
        void *myblock = (void *) malloc(1024*1024*1024);

 

        printf("test\n");
        sleep(100000);

        return 0;

}


$cat /proc/26348/maps

0060e000-00624000 r-xp 00000000 fd:00 2803996    /lib/ld-2.3.4.so
00624000-00625000 r--p 00015000 fd:00 2803996    /lib/ld-2.3.4.so
00625000-00626000 rw-p 00016000 fd:00 2803996    /lib/ld-2.3.4.so
0062d000-00753000 r-xp 00000000 fd:00 2804676    /lib/tls/libc-2.3.4.so
00753000-00755000 r--p 00125000 fd:00 2804676    /lib/tls/libc-2.3.4.so
00755000-00757000 rw-p 00127000 fd:00 2804676    /lib/tls/libc-2.3.4.so
00757000-00759000 rw-p 00757000 00:00 0 
08048000-08049000 r-xp 00000000 00:2f 597793      a.out code?
08049000-0813e000 rw-p 00000000 00:2f 597793      a.out [data]
0813e000-08232000 rw-p 0813e000 00:00 0          bss 976k ?
77ef1000-b7ef4000 rw-p 77ef1000 00:00 0          heap 1G 
bfdb7000-c0000000 rw-p bfdb7000 00:00 0          total 3G [c0000000]  
ffffe000-fffff000 ---p 00000000 00:00 0 


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值