页缺失

✍ dations ◷ 2025-09-12 06:28:08 #计算机错误,虚拟内存

页缺失(英语:Page fault,又名硬错误、硬中断、分页错误、寻页缺失、缺页中断、页故障等)指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页时,由中央处理器的内存管理单元所发出的中断。

通常情况下,用于处理此中断的程序是操作系统的一部分。如果操作系统判断此次访问是有效的,那么操作系统会尝试将相关的分页从硬盘上的虚拟内存文件中调入内存。而如果访问是不被允许的,那么操作系统通常会结束相关的进程。

虽然其名为“页缺失”错误,但实际上这并不一定是一种错误。而且这一机制对于利用虚拟内存来增加程序可用内存空间的操作系统(比如Microsoft Windows和各种类Unix系统)中都是常见且有必要的。

微软在较新版Windows的资源监视器中使用“硬错误”(Windows Vista及以上)、“硬中断”(Windows 8及以上)这一术语来指代“页缺失”。

软性页缺失指页缺失发生时,相关的页已经被加载进内存,但是没有向MMU注册的情况。操作系统只需要在MMU中注册相关页对应的物理地址即可。

发生这种情况的可能性之一,是一块物理内存被两个或多个程序共享,操作系统已经为其中的一个装载并注册了相应的页,但是没有为另一个程序注册。

可能性之二,是该页已被从CPU的工作集中移除,但是尚未被交换到磁盘上。比如OpenVMS这样的使用次级页缓存的系统,就有可能会在工作集过大的情况下,将某页从工作集中去除,但是不写入硬盘也不擦除(比如说这一页被读出硬盘后没被修改过),只是放入空闲页表。除非有其他程序需要,导致这一页被分配出去了,不然这一页的内容不会被修改。当原程序再次需要该页内的数据时,如果这一页确实没有被分配出去,那么系统只需要重新为该页在MMU内注册映射即可。

与软性页缺失相反,硬性页缺失是指相关的页在页缺失发生时未被加载进内存的情况。这时操作系统需要:

硬性页缺失导致的性能损失是很大的。以一块7200rpm的主流机械硬盘为例,其平均寻道时间为8.5毫秒,读入内存需要0.05毫秒。相对的,DDR3内存的访问延迟通常在数十到100纳秒之间,性能差距可能会达到8万到22万倍。

另外,有些操作系统会将程序的一部分延迟到需要使用的时候再加载入内存执行,以此来提升性能。这一特性也是通过捕获硬性页缺失达到的。

当硬性页缺失过于频繁的发生时,称发生系统颠簸。

当程序访问的虚拟地址是不存在于虚拟地址空间内的时候,则发生无效页缺失。一般来说这是个软件问题,但是也不排除硬件可能,比如因为内存故障而损坏了一个正确的指针。

具体动作与所使用的操作系统有关,比如Windows会使用异常机制向程序报告,而类Unix系统则会使用信号机制。如果程序未处理相关问题,那么操作系统会执行默认处理方式,通常是转储内存、终止相关的程序,然后向用户报告。

相关

  • 彼得·海恩彼得·杰拉尔德·海恩(Peter Gerald Hain,1950年2月16日-),又译韓培德,英国工党政治家,曾在布莱尔以及布朗政府任下议院领袖、就业及退休保障大臣及威尔士大臣等职。他在2008年承认
  • 氢经济氢经济(英文:Hydrogen Economy)一词,由John Bockris(英语:John Bockris) 在美国通用汽车公司技术中心于1970年演讲所创。当时发生第一次能源危机时,主要为描绘未来氢气取代石油成为
  • 790110 数学 120 信息科学与系统科学 130 力学 140 物理学 150 化学 160 天文学 170 地球科学 180 生物学210 农学 220 林学 230 畜牧、兽医科学 240 水产学310 
  • 酸洗酸洗是一种金属表面处理方法,用于除去污渍、锈等。酸洗主要使用盐酸或硫酸。盐酸虽然比硫酸贵,但它速度快,同时金属损耗小。碳素钢通常用盐酸或硫酸酸洗。合金钢常用磷酸,硝酸或
  • 哥伦布剧院哥伦布剧院(西班牙语:Teatro Colón)位于阿根廷布宜诺斯艾利斯,被认为是世界上音响效果最佳的五个音乐表演场地之一第一座哥伦布剧院开业于1857年。目前的剧院于1908年5月25日开
  • 近东问题近东问题或东方问题(英语:Eastern Question),是欧洲近代史上围绕奥斯曼土耳其帝国衰落,而出现的一连串的政治及外交问题。近东问题并非单指一个问题,而是包括出现于18、19及20世纪
  • 科韦利科韦利(乌克兰语:Ковель,波兰语:Kowel)是乌克兰沃伦州的城市,位于乌克兰西北部,是科韦利区的行政中心。2009年,人口估计约有65,777人。在历史上曾属于波兰。战后这里的许多波
  • 锺相锺相(11世纪?-1130年),南宋初期洞庭湖地区民变领袖。原是荆湖北路鼎州(今湖南常德市)的一个小商人。北宋末年,锺相在洞庭湖一代传播一种巫教(可能是摩尼教),仿照王小波、李顺、提出“
  • 安弗施无线射频系统安弗施无线射频系统(, ),是一家从事射频同轴电缆、天线系统和合路器等无线通信设备的全球性设计与制造商。公司目前在全球拥有约1800名员工、8个生产基地(德国、中国、美国、巴
  • 布吉站布吉站是深圳地铁3号线及5号线的换乘站,位于中国广东省深圳市龙岗区布吉街道与龙岗大道近规划中布吉综合客运枢纽东广场,同时亦连接广深铁路和京九铁路的深圳东站。3号线部分