学习Linux对内存的管理可以看书:《unix设计与实现》(学习内核的)
1.地址总线
地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA
能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。(学术理解)
2.物理地址
硬件实际地址或绝对地址
假如树莓派只有1个G这么大的(物理地址)内存,cpu(总线)可以访问到4个G,但你要运行的程序又超过了1个G,此时虚拟地址可以将物理地址的1个G映射4个G,此时程序就可以运行。如若没有虚拟地址的映射,则不能。
3.虚拟地址
逻辑(基于算法的地址(软件层面的地址,假的地址)) 地址称为虚拟地址
如果程序在磁盘的物理地址只有1个G,但是你又想运行超过1个G的程序,此时就得虚拟地址,可以将1个G的物理地址映射成4个G(其实真正物理地址里的数据其实是在虚拟地址上跑的,虚拟地址可以比真正的物理地址大)
其实我们写的所有代码都是操控的虚拟地址,不管是上层应用程序,还是底层操控的地址都是虚拟地址
BCM2835 时树莓派3b cpu型号 它是 ARM-cotexA53架构