进程的内存布局
每个进程启动时操作系统都会给其分配4G的虚拟内存
这4个G是操作系统看到的内存布局,但是其会映射到物理内存,实际的物理内存是如下图:
所有的程序都是由指令构成的,如加减乘除、条件判断等最终都是编译成一些指令
数据段:
代码段:
这里保存的就是我们写的代码,更准确的是编译后的可执行机器指令
怎么从虚拟内存操作到物理内存:
数据最终还是会从虚拟内存存到物理内存中,那怎么将数据从虚拟内存存到物理内存呢?
程序中的数据都是操作的虚拟地址,会通过内存管理单元将虚拟地址转换为物理地址,然后再将数据从虚拟地址中存放到物理地址中