-
-
[推荐]冒昧的问一个关于内存分页的问题。见笑。
-
发表于:
2012-6-15 16:02
5299
-
在网上看了很多资料,一共有两种。
第一种是说分页内存是指可以被交换到磁盘的内存,未分页内存是不能被交换的内存。只能在内存中的。
第二种是说未分页内存是从逻辑地址转成线性地址,而线性地址就是物理地址。
那么疑问来了,究竟未分页内存有没有是被"映射"到物理内存呢?物理内存又是否是按页存放的呢?按它的意思就是虚拟地址就是物理地址,那又产生一个疑问,假设驱动A中0x01123456是未分页内存,是否代表这个内存的物理地址也是0x01123456?
那么切换进程后呢?这块未分页内存是否还在?
另外我有个朋友说我的驱动暴搜ntoskrnl取未导出函数蓝屏的原因是访问到了未分页内存,究竟驱动访问未分页内存会不会蓝呢?又有一个论坛里的人说了,当INIT段执行完后将会被卸载,此时的地址是无效的,所以导致蓝屏,那么这里的无效究竟是什么?是这块内存没有对应的物理页面吗?又绕回某些文章说当地址没有对应物理页面的时候将会产生缺页中断,但是不会蓝屏,只会等待物理页面被装入。那么究竟……无效的内存代表什么????present位为0吗?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课