考研帮 > 数学 > 每日一练

3.8 虚拟存储器

3.8.2 页式虚拟存储器

  在页式虚拟存储系统中,将程序按统一的大小划分成多个页,同时也将虚拟存储器划分为同样大小的页,其中虚拟空间的页称为虚页(逻辑页),而主存空间的页称为实页(物理页),并对这些页按地址从低到高的顺序编号。
  在编程时,程序的虚地址由高位字段的虚页号和低位字段的页内地址两部分组成,虚页号标识页。虚地址到实地址之间的变换是由页表来实现的。页表是一张存放在主存中的虚页号和实页号的对照表,记录着程序的虚页调入主存时被安排在主存中的位置。若计算机采用多道程序工作方式,则可为每个用户作业建立一个页表,硬件中设置一个页表基址寄存器,存放当前所运行程序的页表的起始地址。
  页表中的每一行记录了与某个虚页对应的若干信息,包括虚页号、装入位和实页号等。页表基址寄存器和虚页号拼接成页表索引地址。根据这个索引地址可读到一个页表信息字,然后检测页表信息字中装入位的状态。若装入位为1,表示该页面已在主存中,将对应的实页号与虚地址中的页内地址相拼接就得到了完整的实地址;若装入位为0,表示该页面不在主存中,于是要启动I/O系统,把该页从辅存中调入主存后再供CPU使用,若主存已满,还需要使用替换算法替换页。如图3-17所示给出了页式虚拟存储器的虚-实地址的变换过程。

  页式虚拟存储器虽然能实现虚拟存储,但它还存在一些不足。
  (1)由于采用定长的页,虽然建立页表方便,页的调入也容易实现。但由于程序不可能正好是页面的整倍数,那么最后一页的零头将无法利用而造成空间浪费。
  (2)由于页不是逻辑上独立的实体,这给程序的处理、保护和共享等带来了麻烦。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭