当前位置: 首页 > news >正文

MIT 6.1810: xv6 book Chapter5: Page faults 笔记

RISC-V在下列情况发生缺页中断:1.使用未被映射的虚拟地址;2.映射的PTE_V为0;3.映射的perm位禁止了对应操作(WRXU)
RISC-V区分了下列三种缺页:1. load 加载页错误;2. store 存储页错误;3.instructions 指令页错误
scause存储了缺页的种类,stval存储了不能被翻译的地址
在RISC-V中,13 - load page fault, 15 - store page fault, 12 - instructions page fault, 8 - ecall

利用页表和缺页中断,可以实现:
1.写时复制,在父进程和子进程间共享内存
2.内存映射文件,将文件内容放在进程的地址空间内,触发缺页中断时读取文件块
3.惰性内存分配(xv6实现)

Lazy allocation

优点:
1.惰性分配允许应用申请大量内存,内核却不必为申请的内存中不使用的页做任何事
2.将短时间分配大量物理页,均摊到很长一段时间内每次分布少量物理页
缺点:
1.缺页中断导致的额外的用户/内核切换(solutions:每次缺页中断分配一批连续页;特化entry/exit代码)
2.若触发缺页中断时内存不足,只能杀死应用而非返回error

Real world: Copy-On-Write(COW) fork

子进程在复制父进程内存时,创建子进程的PTE指向与父进程相同的物理页,将所有物理页都映射为只读,父进程和子进程可以读取同一段物理内存
当一方要写入物理内存时,因为PTE_W被设为0,触发缺页中断
内核会分配一个新的物理页,将原来物理内存的内容复制进去,并将其映射为可读写,使PTE对应到这个新的物理页
这样就可以写入物理内存了

COW需要一种引用计数机制来记录每个页是否能被释放
e.g. 一个进程产生一个存储页错误,但这个物理页引用计数为1,只被当前进程页表引用,则不需要复制,直接修改PTE权限

Real world: Demand paging

xv6中,exec会在应用开始前将应用的代码段和数据段复制到内存中
现代操作系统,则会建立页表项,将其设为invalid,使用时触发缺页中断分配物理页
当物理内存满时,需要通过换出内存中的一个页来保证能从磁盘中换入一个页
此时缺页处理延迟会很大

http://www.zskr.cn/news/1463910.html

相关文章:

  • 别再用API硬连AI工具了!信贷中台智能编排引擎(IPA)上线72小时内完成OCR/NLP/评分卡全链路自治闭环
  • 2026 年跨境行业全新变局,亚马逊、tiktok、Shopee、速卖通迎来合规整改。 - Zhou6
  • 告别PHP 5!CentOS 7下用Remi仓库一键升级PHP 8.2(附Apache/Nginx重启命令)
  • 保姆级教程:用Hugging Face Transformers库快速上手TabTransformer(PyTorch版)
  • 欧盟Chat Control提案与社交机器人隐私风险分析
  • 影刀RPA店群自动化运维实战:Python协同异常聚类与根因定位系统设计
  • 手把手教你用Dell服务器主板自带SATA控制器组Raid(无阵列卡版)
  • 用 LLM 做自动化测试,结果 AI 自己修改了数据库生产数据——沙箱没做好
  • 2026年涂塑复合钢管按需定制靠谱吗 - mypinpai
  • 2026年IOS版乘务派班系统口碑,哪家好 - mypinpai
  • 015、Analog Gain vs Digital Gain:两种增益的噪声差异与工程应用边界
  • Django学生管理实战项目:考勤+成绩双功能系统(含MySQL建表脚本与完整源码)
  • Graph RAG 社区检测跑了一周没出结果:参数 explosion 的惨痛教训
  • 《剑与翼》官方手游正版下载指南:新手快速安装入坑!
  • 互联网的顶级指挥官:不只会“翻译”的 DNS 到底有多强大?
  • 告别Logcat丢失!手把手教你用NDK C++封装一个带文件回滚的日志库(支持Android Studio)
  • 2026年阳离子交换树脂多少钱?河北利江生物价格合理 - mypinpai
  • Vatee:从公开信息出发,归纳多语言支持与市场覆盖
  • 华为健康数据终极转换指南:3步解锁TCX文件,让运动数据自由流动
  • 2026年,口碑好的资质齐全的美术艺考培训机构排名 - mypinpai
  • 2026 年深圳全屋定制上门测量报价全攻略:这样做不花冤枉钱 - 产品测评官
  • 实在Agent的开票机器人支持百旺和航信同时用吗?深度拆解2026年企业级智能财务自动化架构
  • 3分钟告别手动刷课:这款智能学习助手让你的在线学习效率翻倍!
  • 2026 年深圳全屋定制工厂联系方式获取指南:这些渠道最靠谱 - 产品测评官
  • 2026 宿迁同城引流哪家强?专业之选在此
  • 2026 年深圳南山 80 平两房一厅全屋定制 环保板材怎么选及正规工厂获取方式 - 产品测评官
  • 5分钟掌握AnuPpuccin:打造你的终极Obsidian笔记美学空间
  • 仅剩237家企业正在测试的下一代收款中枢:LLM+RAG驱动的智能对账引擎(附灰度接入通道)
  • 5分钟学会零代码制作专业H5页面的终极指南 [特殊字符]
  • 活用醛基特异性反应,CY3.5-CHO 简化蛋白荧光修饰流程