好了,闹剧到此结束,明眼人都可以看出结局了,东躲西藏,不入主题的狼狈相大家也都见识了。
不过从人道主义出发,还得给你补一课:
虚拟内存机制通过非RAM存储介质(通常是磁盘)来扩充有限的物理内存容量,使得系统可以执行更多的任务。
虚拟内存机制是需要CPU支持的,x86 CPU通过虚拟内存映射表来将虚拟内存映射为物理内存。
当CPU无法通过给定的虚拟地址映射到物理地址时,会产生page fault中断,操作系统此时可以到后备存储介质(如硬盘)中查找数据页面,如果页面存在,则载入RAM,重新执行出错指令。
在windows中,虚拟内存分为两部分:用户模式内存和内核模式内存.其中用户模式内存是进程相关的;而内核模式内存又可分为paged和nonpaged两种,nonpaged内存为不可分页内存,也就是必须常驻在物理内存中的内存,此种类型的内存不可以产生page fault,否则会引发bug check,也就是蓝屏。
另外windows会预留前64k的内存作为无效指针判断区,无论用户模式代码还是内核模式代码都不可以访问,从而方便程序员管理指针。