java面试题 操作系统中的缺页问题

缺页中断是请求分页系统中,当访问的页面不在内存时由硬件引发的中断。malloc()和mmap()等分配的内存只有虚拟地址,实际物理内存需在访问时调入。中断处理包括保护CPU现场、分析中断原因、调入所需页面和恢复现场。与一般中断不同,缺页中断可能在指令执行期间多次发生,中断返回后继续执行同一指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述一下操作系统中的缺页中断

什么是缺页?

malloc()和mmap()等内存分配函数,在分配时只是建立了进程虚拟地址空间,

并没有分配虚拟内存对应的物理内存。当进程访问这些没有建立映射关系的
虚拟内存时,处理器自动触发一个缺页异常。
什么是缺页中断呢?
在请求分页系统中,可以通过查询页表中的状态位来确定所要访问的页面是否存在于内存中。每当所要访问的页面不在内存是,会产生一次缺页中断,此时操作系统会根据页表中的外存地址在外存中找到所缺的一页,将其调入内存。
既然缺页了,怎么处理?
缺页本身是一种中断,与一般的中断一样,需要经过4个处理步骤:
1、保护CPU现场
2、分析中断原因
3、转入缺页中断处理程序进行处理
4、恢复CPU现场,继续执行
它与一般中断有什么区别?
缺页中断是由于所要访问的页面不存在于内存时,由硬件所产生的一种特殊的中断,因此,与一般的中断存在区别:

1、在指令执行期间产生和处理缺页中断信号
2、一条指令在执行期间,可能产生多次缺页中断
3、缺页中断返回是,执行产生中断的一条指令,而一般的中断返回是,执行下一条指令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的程序员1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值