全部博文(2759)
发布时间:2013-09-22 11:21:13
/*****************************************************************************************************************************************//* cpu-multi32.h */#define cpu_get_pgd()\({\unsigned long pg;\__asm__("mrc p15, 0, %0, c2, c0, 0"\ /* 读取协处理器寄存器C2---地址变换.........【阅读全文】
发布时间:2013-09-16 05:49:32
1. commit limit与current commit charge接上文,我们看到testlimit -r开关,只是预留虚拟内存,并没有实际进行提交(commit)。预留虚存并不存储数据或代码,但有时候应用需要这个预留(就像预订坐位一样),用以创建大块虚存,并且在需要的时候进行提交,以确保提交的内存在地址空间上是连续的。当进程提交一块虚存时.........【阅读全文】
发布时间:2013-09-16 05:49:23
在继续整理这份笔记之前,我们先列一下Windows各发行版所支持物理内存的最大限制:1. 内存和地址空间限制Memory typeLimit in on X86Limit in 64-bit Windows32位进程用户态的虚拟地址空间2 GB.........【阅读全文】
发布时间:2013-09-16 05:46:51
1. 内存及虚存基本布局提起虚存,大都能说出几条来。对于32位系统,大多数操作系统都会将4GB的内存空间的一部分挪给内核使用,应用程序无法直接访问这一段内存,这部分内存空间称为内核空间。Windows默认情况下会将高地址的2GB分配给内核(也可配置为1GB),而Linux默认情况下将高地址的1GB空间分配给内核。.........【阅读全文】
发布时间:2013-07-16 02:34:04
相信C/C++程序员都用过这个库函数, 这个函数时程序员申请堆中的内存,需要自己手动释放内存,所以这个函数也是Memory Leak的根源。但是malloc一次最多能申请多少内存呢,显然这个跟我们物理内存的大小和我们的系统,编译器都有一定的关系。已经不记得之前在哪里遇到过这个问题,今天忽然想起来了,于是自己做了个实验。.........【阅读全文】