首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

内部页表缺页会不会导致缺页?

内部页表缺页不会导致缺页。内部页表是操作系统中用于管理虚拟内存和物理内存映射关系的数据结构,它记录了虚拟页和物理页之间的对应关系。当程序访问一个虚拟页时,操作系统会首先在内部页表中查找对应的物理页,如果找到则直接访问物理页,如果没有找到则发生缺页异常。

缺页是指当程序访问一个虚拟页时,对应的物理页不在内存中,需要从磁盘中加载到内存中才能继续执行。而内部页表缺页是指在内部页表中查找虚拟页对应的物理页时,没有找到对应的记录,需要从外部页表或其他数据结构中获取对应的物理页信息。

因此,内部页表缺页是一种操作系统内部的异常情况,不会直接导致程序的缺页。它通常是由于内部页表数据结构的错误、内存管理算法的问题或者其他操作系统内部的异常情况导致的。在发生内部页表缺页时,操作系统会根据具体情况进行相应的处理,例如重新构建内部页表、从其他数据结构中获取对应的物理页信息等。

总结起来,内部页表缺页不会直接导致程序的缺页,但它可能会影响程序的正常执行。在处理内部页表缺页时,需要对操作系统的内存管理机制和算法有深入的了解,并进行相应的调试和修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

操作系统精髓与设计原理--虚拟内存

程序被编译器或内存管理器系统划分成 由程序员给编译器指定程序段 由程序员给编译器指定程序段 框内有内部碎片 框内有内部碎片 没有内部碎片 没有内部碎片 没有外部碎片 没有外部碎片 有外部碎片 有外部碎片...操作系统必须为每个进程维护一个,以说明每个对应的框 操作系统必须为每个进程维护一个,以说明每个对应的框 操作系统必须为每个进程维护一个段、以说明每一段中的加载地址和长度 操作系统必须为每个进程维护一个段...锁定是通过给每个框关联一个LOCK位实现的,这一位可以包含在和当前表里。         ...基本算法: 最佳(OPT):选择下次访问距当前时间最长的,此算法导致缺页率最低,但由于操作系统要知道将来的事件,因此是不可能实现的,属于理想模型,可以作为一个标准来衡量其他算法性能。...如果某一时刻进程驻留少,则所有进程同时处于阻塞状态概率较大,因而有许多时间花费在交互上;如果驻留过多,平均驻留集合大小不够用,就会频繁发生缺页中断,从而导致抖动。

67850

操作系统学习笔记-虚拟内存

(即由程序员决定) 框中有内部碎片 框中有内部碎片 无内部碎片 无内部碎片 无外部碎片 无外部碎片 有外部碎片 有外部碎片 操作系统须为每个进程维护一个,以说明每页对应的框 操作系统须为每个进程维护一个...这反映出整个的大小与虚拟地址空间的大小成正比,而导致的后果就是:将耗费大量的内存空间去放置。 两级层次页 为了解决这个问题,思考一下是否可以将也存储于虚拟内存中。...尺寸 尺寸是一个重要的硬件设计决策,它需要考虑多方面的因素: 越小,内部碎片的总量越少 越小,每个进程需要的的数量就越多,这就意味着更大的 对于大程序,活动进程有一部分页在虚存而非内存中...,从而导致一次内存访问可能产生两次缺页中断: 第一次读取所需的部分 第二次读取进程 又基于大多数辅存设备的物理特性,为了实现更为有效的数据块传送,它们更希望尺寸比较大 尺寸对缺页中断发生概率的影响使得这些问题变得更为复杂...) 这会导致缺页率增长 但是,当尺寸接近整个进程的大小时,缺页率开始下降。

1.1K10
  • 2020年秋招最新操作系统之存储管理面试知识点集锦

    4.3 可变分区 根据进程的需要,把内存空闲空间分割出一个分区,分配给该进程 剩余部分称为新的空闲区 会导致一些问题:导致一些外碎片,这样会导致内存利用率下降。...2.8 缺页异常处理 是一种错误 在地址映射过程中,硬件检查时发现所要访问的页面不在内存,则产生异常–缺页异常 操作系统执行缺页异常处理程序:获得磁盘地址,启动磁盘,将该页调入内存...,导致开销较大。...程序的编制方法 分配给进程的框数量 缺页越多,系统的性能越差,这称为颠簸(抖动):虚存中,页面在内存与磁盘之间频繁调度,使得调度页面所需的时间比进程实际运行的时间还多,这样导致系统效率急剧下降,这种现象称为颠簸或抖动...3.6.2 页面尺寸问题 确定页面大小对分页的硬件设计非常重要,而对操作系统是个可选的参数 要考虑的因素 内部碎片 长度 辅存的物理特性 Intel 80x86/Pentium:

    67710

    3.2.2 请求分页管理方式

    除了需要一定容量的内存及外存的计算机系统,还需要有机制、缺页中断机构和地址变换机构。...1、机制 请求分页系统的机制不同于基本分页系统, 请求分页系统在一个作业运行前不需要全部一次性调入内存,因此在作业的运行过程中,必然会出现要访问的页面不在内存的情况,如何发现和处理这种情况是请求分页系统必须解决的两个基本问题...此时 应将缺页的进程阻塞(调完成唤醒),如果内存中有空闲块,则分配一个块,将要调入的装入该块,并修改中相应表项,若此时内存中没有空闲块,则要淘汰某(若被淘汰在内存期间被修改过,则要将其写回外存...但与一般的中断相比,它有两个明显的区别: - 在指令执行期间产生和处理中断信号,而非一条指令执行完后,属于内部中断。 - 一条指令在执行期间,可能产生多次缺页中断。...若未找到该页的表项,应到内存中去查找,再去对比表项中状态位P,看该页是否已调入内存,未调入则产生缺页中断,请求从外存把该页调入内存。

    65610

    操作系统之存储管理

    4.3 可变分区 根据进程的需要,把内存空闲空间分割出一个分区,分配给该进程 剩余部分称为新的空闲区 会导致一些问题:导致一些外碎片,这样会导致内存利用率下降。...2.8 缺页异常处理 是一种错误 在地址映射过程中,硬件检查时发现所要访问的页面不在内存,则产生异常–缺页异常 操作系统执行缺页异常处理程序:获得磁盘地址,启动磁盘,将该页调入内存...,导致开销较大。...程序的编制方法 分配给进程的框数量 缺页越多,系统的性能越差,这称为颠簸(抖动):虚存中,页面在内存与磁盘之间频繁调度,使得调度页面所需的时间比进程实际运行的时间还多,这样导致系统效率急剧下降,这种现象称为颠簸或抖动...3.6.2 页面尺寸问题 确定页面大小对分页的硬件设计非常重要,而对操作系统是个可选的参数 要考虑的因素 内部碎片 长度 辅存的物理特性 Intel 80x86/Pentium:

    1.4K20

    深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法

    除非有其他程序需要,导致这一被分配出去了,不然这一的内容不会被修改。当原程序再次需要该页内的数据时,如果这一确实没有被分配出去,那么系统只需要重新为该页在MMU内注册映射即可。...或者把另外一个使用中的写到磁盘上(如果其在最后一次写入后发生了变化的话),并注销在MMU内的记录 将数据读入被选定的 向MMU注册该页 硬性缺失导致的性能损失是很大的。...7) 当磁盘中断发生时,表明该页已经被装入,已经更新可以反映它的位置,框也被标记为正常状态。 8) 恢复发生缺页中断指令以前的状态,程序计数器重新指向这条指令。...缺页中断   在请求分页系统中,可以通过查询中的状态位来确定所要访问的页面是否存在于内存中。...每当所要访问的页面不在内存时,会产生一次缺页中断,此时操作系统会根据中的外存地址在外存中找到所缺的一,将其调入内存。

    20.4K31

    【计组&OS】访存过程以及存储层次化结构

    查询: 如果TLB未命中(TLB Miss),CPU将访问进行地址转换。 存储逻辑地址到物理地址的映射关系。 操作系统维护,其中包含有效位,指示对应的页面是否在物理内存中。...有效位检查: 在中找到对应的表项后,CPU检查该项的有效位。 如果有效位为1,表示数据在主存中,CPU可以继续访问主存以获取数据。...缺页异常处理: 如果有效位为0,表示数据不在主存中,即发生了缺页异常(Page Fault)。 缺页异常处理程序被调用,操作系统开始处理这一异常。...数据加载与更新: 操作系统从辅存中加载缺失的数据到主存。 加载完成后,操作系统更新页,将新的物理地址映射到原来的逻辑地址。 重新尝试访问: 更新后,操作系统会重新执行导致缺页异常的指令。...继续执行程序: 一旦数据被加载到主存并且被更新,CPU可以继续执行程序,就像没有发生缺页异常一样。

    13710

    操作系统之存储管理

    4.3 可变分区 根据进程的需要,把内存空闲空间分割出一个分区,分配给该进程 剩余部分称为新的空闲区 会导致一些问题:导致一些外碎片,这样会导致内存利用率下降。...2.8 缺页异常处理 是一种错误 在地址映射过程中,硬件检查时发现所要访问的页面不在内存,则产生异常--缺页异常 操作系统执行缺页异常处理程序:获得磁盘地址,启动磁盘,将该页调入内存 如果内存中有空闲框...3.5.6 最近最少使用算法(LRU)(重点) 选择最后一次访问时间距离当前时间最长的一并置换,即置换未使用时间最长的一 性能接近最佳页面置换算法 实现:时间戳或维护一个访问的栈,导致开销较大。...程序的编制方法 分配给进程的框数量 缺页越多,系统的性能越差,这称为颠簸(抖动):虚存中,页面在内存与磁盘之间频繁调度,使得调度页面所需的时间比进程实际运行的时间还多,这样导致系统效率急剧下降,这种现象称为颠簸或抖动...3.6.2 页面尺寸问题 确定页面大小对分页的硬件设计非常重要,而对操作系统是个可选的参数 要考虑的因素 内部碎片 长度 辅存的物理特性 Intel 80x86/Pentium: 4096

    3.4K111

    Doris开发手记4:倍速性能提升,向量化导入的性能调优实践

    在导入本身是大宽的场景下,这个问题的严重性会进一步放大。 进行了问题定位之后,优化工作就显得很简单了。...如果目标虚存空间中的内存,在物理内存中没有对应的映射,那么这种情况下,就产生了缺页中断(Page Fault)。...内存复用 这里大量的内存使用,取址都是对于Column进行操作导致的,所以得尝试从内存分配的源头来解决这个问题。...Doris内部本身支持了ChunkAlloctor的类来进行内存分配,复用,绑核的逻辑,通过ChunkAlloctor能大大提升内存申请的效率,对于当前case的缺页中断也能起到规避的效果: image.png...page fault的问题, 可以考虑引入大内存机制来进一步进行缺页中断,内存cache的优化 4.小结 当然,笔者进行的向量化导入工作只是Doris向量化导入中的一部分工作。

    68110

    一文聊透 Linux 缺页异常的处理 —— 图解 Page Faults

    比如,进程尝试对一个可写的虚拟内存进行写入,访问权限没有问题,但是该虚拟内存背后并未有物理内存与之关联,所以也会导致缺页异常。...虚拟内存虽然背后映射着物理内存,但是由于对物理内存的访问权限不够而导致的保护类型的缺页中断。比如,尝试去写一个只读的物理内存。...,一个是进程用户态(用户态缺页处理的就是这部分),另一个就是内核的 copy 部分(内核态缺页处理的是这部分)。...image.png 当进程陷入内核态访问这部分页的的时候,会发现相关目录或者表项是空的,就会进入缺页中断的内核处理部分,也就是前面提到的 vmalloc_fault 函数中,如果发现缺页的虚拟地址在内核主页顶级全局目录中对应的目录项...虽然直接调用 swap_readpage 可以基本完成 swap in 的目的,但在某些特殊情况下会导致 swap 的性能非常糟糕。

    3.1K22

    Doris开发手记4:倍速性能提升,向量化导入的性能调优实践

    在导入本身是大宽的场景下,这个问题的严重性会进一步放大。进行了问题定位之后,优化工作就显得很简单了。...如果目标虚存空间中的内存,在物理内存中没有对应的映射,那么这种情况下,就产生了缺页中断(Page Fault)。...内存复用这里大量的内存使用,取址都是对于Column进行操作导致的,所以得尝试从内存分配的源头来解决这个问题。...Doris内部本身支持了ChunkAlloctor的类来进行内存分配,复用,绑核的逻辑,通过ChunkAlloctor能大大提升内存申请的效率,对于当前case的缺页中断也能起到规避的效果:图片通过替换...page fault的问题, 可以考虑引入大内存机制来进一步进行缺页中断,内存cache的优化4.小结当然,笔者进行的向量化导入工作只是Doris向量化导入中的一部分工作。

    1.3K00

    操作系统内存管理,你能回答这8个问题吗?

    方法二:如果是因为程序太多,导致超过了内存的容量,可以采用自动交换技术,把暂时不需要执行的程序移动到外存中。...通俗来说:覆盖发生在程序的内部,交换发生在程序与程序之间。...页面太大容易产生空间浪费,程序假如只使用了1个字节却被分配了10M的页面,这岂不是极大的浪费,页面太小会导致(下面介绍)占用空间过大,所以页面需要折中选择合适的大小,目前大多数系统都使用4KB作为的大小...框号:最主要的一项,最主要的目的就是找到物理页号; 有效位:1表示有效,表示该表项是有效的,如果为0,表示该表项对应的虚拟页面现在不在内存中,访问该页面会引起缺页中断,缺页中断后会去物理空间找到一个可用的框填回到中...工作集时钟页面置换算法 在工作集页面置换算法中,当缺页中断发生后,需要扫描整个才能直到页面的状态,进而才能确定被淘汰的是哪个页面,因此比较耗时,所以引入了工作集时钟页面算法。

    1.1K10

    计算机系统 Lecture 1:虚拟内存详解

    Part V:缺页 上图中,当 MMU 访问的虚拟地址对应到中 VP 3 时,地址翻译硬件发现该地址在当中有效位为 0,即未被缓存在 DRAM 当中,称为缺页(Page Fault),触发一个缺页异常...缺页异常的处理程序被启动,该程序会选择一个牺牲,若是该牺牲被标记为已经更改过,则内核会将其复制回磁盘,若是未更改过,调整牺牲中所对应的 PTE。...当缺页异常处理程序返回时,原进程会重新启动导致缺页异常的指令,该指令会将导致缺页的虚拟地址重发送到地址翻译硬件,这时就会进行命中的相关流程了。...在缺页异常处理程序重新启动导致缺页的指令之后,该指令将从内存中正常地读取字,而不会再产生缺页异常。...缺页处理程序将控制权返回给原来的进程,再次执行导致缺页的指令。再次执行后,就会产生命中时的情况了。

    41830

    操作系统(五)虚拟存储器管理

    在分页虚拟存储管理时使用的,是在原来的基础上发展起来的,包括以下内容:物理块号、状态位、访问位、修改位、外存地址 。...具体过程: 保存当前进程的CPU现场环境,从辅存中找到该页; 查看当前内存是否有空闲空间调入该页,如果有则启动I/O,将该页由辅存调入内存,同时修改,再按分页存储管理方式的地址变换过程转换地址;如果内存已满...调策略 请求调策略 当缺页中断发生时进行调度,即当访问某一面而该页面不在内存时由操作系统将其调入内存。...预调策略 也称先行调度,是当缺页中断发生前进行调度,即当一个页面即将被访问之前就将其调入内存。 预调可以节省进程因缺页中断而等待页面调入的时间。...抖动问题 -进程的大部分时间,都用于页面的换进换出,而几乎不能再去做任何有效的工作,从而导致发生处理机利用率急剧下降,而趋于零的现象,我们称此时系统处于抖动状态。

    1.9K20

    linux内核缺页中断处理

    现代处理器通过分段分页机制实现虚拟地址到物理地址转换一般支持二级或四级。...7.当磁盘中断发生时,表明该页已经被装入,已经更新可以反映他的位置,框也标记位正常状态。 8.恢复发生缺页中断指令以前的状态,程序计数器重新指向这条指令。...而vmalloc出现异常比较好处理,只需要同步就可以了(因为伴随着进程的切换可能用户进程的不是最新的,需要将内核的更新到用户进程的),2.内核引用用户空间地址发生的异常,比如用户态的地址非法...下面看内核态缺页异常具体的处理函数,内核态分为当前进程的内核映射部分没更新到最新的,此时需要进行同步,调用vmalloc_fault /* * 处理vmalloc异常或者模块区域映射异常 *...//fixup处处理,这样不会导致死循环中断,内核设计很安全。

    10.7K22

    Linux内核虚拟内存管理之匿名映射缺页异常分析

    2898行 如何不存在则分配页(有可能缺页地址的表项所在的直接不存在)。...2906和 2907行判断是否是由于读操作导致缺页而且没有禁止0。 2908-2909行是核心部分:设置表项的值映射到0。...而这个被设置的保护位组合最终会在缺页异常中被设置到中:上面说到的do_anonymous_page函数: 2908 entry = pte_mkspecial(pfn_pte...所以就将其设置为了只读!!! 2922行 跳转到setpte去将设置好的表项值填写到表项中。...当匿名读之后再次去写时候会由于属性为只读导致COW缺页异常,详将COW相关文章,再此不在赘述。下面用图说话: ?

    2.9K32

    操作系统内存换入-请求调---14

    ( ) ---- 一个实际系统的请求调 这个故事从哪里开始? 请求调,当然从缺页中断开始 查询对应的手册可以发现,缺页中断对应的中断号为14。...,那肯定就是执行exevce来得 // 进程的executable时导致缺页异常的。...之所以说,并没有把对应的页面和用户进程的线性地址空间进行映射,是因为并没有把对应的物理地址放入这个的某个表项当中。...如果要映射,相当于把自己的物理地址放入自己的某个表项当中,只有这样,才能说将映射到了进程的线性地址空间,也只有这样,用户进程才有权限访问该页本身。...而不能访问内核管理进程所使用的本身,也就是用户进程读写不了表项,但可以读写表项中指向的物理页面。

    64020

    MySQL分时机:100w?300w?500w?都对也都不对!

    在开头我提到分的原因是因为单数据规模太大,导致系统功能使用越来越慢,而影响数据库查询性能的因素很多,有并发连接线程数、磁盘IO,锁等等。...但是频繁的内存分配会导致大量的缺页异常,使内核的管理负担增大。这也是 malloc 只对大块内存使用 mmap 的原因。欧!!这里冒出一个新名词,缺页异常?别着急,我会在后面讲解。...,中的每一条映射关系又叫做Page Table Entry,即表项,缩写PTE,表项地址缩写PTEA 讲完这些名词,我们再来看一下这张图: ?...缺页异常处理程序确定出物理内存中的牺牲,如果这个页面被修改过了(D 标志位为 1),那么将牺牲换出到磁盘。...缺页处理程序从磁盘中调入新的页面到内存中,并且更新 PTE 缺页处理程序将控制权返回给原来的进程,再次执行导致缺页的指令。再次执行后,就会产生命中时的情况了。

    1K20

    操作系统 内存管理 虚拟存储技术与虚拟式存储管理方案的实现

    预调:在发生缺页需要调入某时,一次调入该页以及相邻的几个。提高了调I/O效率,减少I/O次数。 置策略 当线程产生缺页中断,内存管理器还必须确定将调入的虚拟放在物理内存的何处。...把操作系统维护一个所有当前在内存中的页面的链表,最老的页面在表头,最新的页面在尾。当发生缺页时,置换表头的页面并把新调入的页面加到尾。...段包括逻辑段号、物理段起始地址(段首址)和物理长度三项内容。 按逻辑段的顺序排列,放在内存中。 地址转换 与式存储管理相同,为了实现段式管理,系统提供一对寄存器:段起始地址和段长度寄存器。...需要增加段式管理和式管理的成分:必须为每个程序建立一张段;由于一个段又被分为了若干也,系统有为每个段建立一张。...段中记录了该段对应的起始地址和长度,而则给出该段逻辑页面与内存块号之间的对应关系。

    2.2K31
    领券