内存管理:
背景知识:
- 虚拟地址空间:
每个进程都有自己的虚拟地址空间,对于32位的进程来说空间大小为4GB,由于虚拟地址空间的存在,一个进程中的线程是看不到其他线程的内存的。虚拟地址空间主要包含了四部分内容,其中主要的是用户模式分区和内核模式分区。用户模式分区:自己写的程序,数据,加载的动态库等都加载到这个地方。内核模式分区:线程调度,内存管理等,该部分是不可以被访问的。2. 物理存储器:
虚拟地址空间并不是物理存储器,这个地址空间只不过是内存地址空间,为了能够正常的读/写数据,还需要将物理存储器分配或者映射到相应的地址空间上。当然虚拟地址空间要大的多,这个地址空间中的大部分是闲置的或者尚未分配的。为了使用这部分地址空间可以如下操作。