题59
题目
Q:若对经典的页式存储管理方式的页表做出稍微改造, 允许不同页表的页表项指向同一个页帧, 则可能的结果有 ( ) 。
I. 可以实现对可重入代码的共享
II. 只需修改页表项, 就能实现内存 “复制” 操作
III. 容易发生越界访问 IV. 可以实现进程间通信
A. I、II、IV B. II、III C. I、 II、 III D. 仅 I
分析
A:多个虚拟的页表指向同一个物理内存空间,那肯定可以实现共享啊,我觉得一二三都可以
解
A
让不同页表的页表项指向同一个页帧, 可以共享该页帧的代码, 若代码是可重入的 (如编辑软件、编译软件等), 则这种方法可以节省大量的内存空间。
实现内存 “复制” 操作时, 不需要将页面的内容逐字节复制, 而只需将页表中指向该页面的指针复制到目的地址的页表项中。
越界保护是通过界地址寄存器实现的, III 是干扰项。
当多个进程需要通信时, 可以采用共享内存的方式, 它们是通过让各个进程页表的页表项指向相同的页帧实现的。