以下内存布局信息是在启动时由Linux内核在我的SoC平台(带有4核Cortex-A53处理器和2.75GiB DRAM)上打印的,但是我不完全了解布局的内容:< / p>
arr = ['abc']
if condition:
arr.append('def')
能否请您浏览这些部分和/或指出URL以获取更多详细信息?
非常感谢!
答案 0 :(得分:2)
在阅读了一些帖子之后,我提出了以下内存映射图。
使用:
CONFIG_ARM64_PAGE_SHIFT=12
CONFIG_PGTABLE_LEVELS=3
CONFIG_ARM64_VA_BITS=39
虚拟内存的总体布局:
--------------------> +--------------------------+
ffff:ffff:ffff:ffff | |
| |
| |
ffff:ffc0:0000:0000 |----- Kernel (512G)-------| <-- PAGE_OFFSET
| |
| |
ffff:ff80:0000:0000 | |
--------------------> +--------------------------+
ffff:ff7f:ffff:ffff |//////////////////////////|
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
z //////////////////////// z
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
|//////////////////////////|
0000:0080:0000:0000 |//////////////////////////|
--------------------> +--------------------------+
0000:007f:ffff:ffff | |
| |
| |
| User (512G) |
| |
| |
0000:0000:0000:0000 | |
--------------------> +--------------------------+
...以及内核虚拟内存布局:
ffff:ffff:ffff:ffff +--------------------------+
| |
| |
z z
| |
| |
ffff:ffc0:b000:0000 |--------------------------| 1:b000:0000 +------------------------+
| | | |
| memory (2.75G) | | Physical DRAM (2.75G) |
| | | |
ffff:ffc0:0000:0000 +==========================+ <-- PAGE_OFFSET --> 1:0000:0000 +------------------------+
| |
| |
| |
| vmemmap (4G) |
| +----------------------+ |
| | actual (44M) | |
ffff:ffbf:0000:0000 +--------------------------+
|//////////////////////////|
ffff:ffbe:ffe0:0000 +--------------------------+
| PCI I/O (16M) |
ffff:ffbe:fee0:0000 +--------------------------+
|//////////////////////////|
ffff:ffbe:fec0:0000 +--------------------------+
| fixed (4M) |
ffff:ffbe:fe7f:d000 +--------------------------+
|//////////////////////////|
ffff:ffbe:bfff:0000 +--------------------------+
| |
| |
| |
| |
| |
| |
z vmalloc (250G) z
| |
| |
| |
| |
| |
| |
ffff:ff80:087c:f76c | +----------------------+ |
| | .bss | |
| | .data | |
| | .init | | Kernel
| | .rodata | |
| | .text | |
ffff:ff80:0808:0000 | +----------------------+ |
ffff:ff80:0800:0000 +--------------------------+
| modules (128M) |
ffff:ff80:0000:0000 +--------------------------+
参考文献: