我有文件,描述了进程的32位虚拟地址空间结构。例如:内存表大小
- 08048000-08053000 R-XP 00000000 08:03 18877在/ usr /斌/猫
- 08053000-08054000 [R - P 0000a000 08:03 18877在/ usr /斌/猫
- 08054000-08055000 RW-p 0000b000 8点03 18877的/ usr /斌/猫
- 091e3000-09204000 RW-p 00000000 00:00 0 [堆]
- 4f2d0000-4f2ef000 R-XP 00000000 8时03 1857/USR /lib/ld-2.15.so
- 4f2ef000-4f2f0000 r - p 0001e000 08:03 1857 /usr/lib/ld-2.15.so
- 4f2f0000-4f2f1000 RW-P 0001f000 08:03 1857 /usr/lib/ld-2.15.so
- 4f2f7000-4f4a2000 R-XP 00000000 08:03 1858 /usr/lib/libc-2.15.so
- 4f4a2000-4f4a3000 --- p 001ab000 08:03 1858 /usr/lib/libc-2.15.so
- 4f4a3000-4f4a5000 [R - p 001ab000 08:03 1858 /usr/lib/libc-2.15.so
- 4f4a5000-4f4a6000 RW-p 001ad000 08:03 1858 /usr/lib/libc-2.15.so
- 4f4a6000-4f4a9000 RW-p 00000000 00:00 0
- b75c0000-b77c0000 - [R - p 00000000 08:03 57661/usr/lib中/区域/区域设置ARCHI已经
- b77c0000-b77c1000 RW-P 00000000 00:00 0
- b77d9000-b77da000 RW-P 00000000 00:00 0
- b77da000-b77db000 R-XP 00000000 00:00 0 [VDSO]
- bf819000 -bf83a000 rw -p 00000000 00:00 0 [stack]
x86处理器上有两级虚拟内存。一页的大小是4096字节。一个页面目录包含1024个记录,每个记录具有4个字节大小。
如何计算虚拟内存表的整体大小?
您是否尝试过这样计算? –
@MatsPetersson我想这样做,但我不明白该怎么做。我认为我可以计算非零偏移量(表中的3列)并乘以4096,所以我得到字节大小。但我不确定,如果这是正确的方式。你能解释我吗,我该怎么做? – thmw
所以,我的问题基本上是“尝试做计算并解释你所做的事情” - 这不完全是火箭科学,它是非常基本的计算。 –