首页 > 其他分享 >MIT 6.S081入门lab4.5 Q&A(lec7)

MIT 6.S081入门lab4.5 Q&A(lec7)

时间:2024-02-29 21:34:16浏览次数:28  
标签:lec7 内核 lab4.5 S081 MIT 页表

MIT 6.S081入门lab4.5 Q&A(lec7)、

这部分主要是Q&A部分课程的观看笔记,因此这一部分只有课程观看笔记

一、课程视频观看笔记

  • pagtbl实验:
    基础知识回顾:
    0x800以上是DRAM,以下是DEVICE;CPU通过MMU获取地址;注意:页表自身也是存在于内存中
    可以从init打印出来的页表中观测到 ,0-0三级页表中的第0页为用户页(1f),第1页为守护页(f),第2页为堆栈页(1f);其中255-511页表的三级页表中:511为trampoline页(b)、510为trapframe页(7)
    image
    255为顶是因为用了38位做地址
    .data和.text在同一页是因为这样会让exec更简单,一般操作系统是分开的。
  • test1;
    xv6代码针对单一pgtabl很特别
    代码中没有单一的代码创建内核页表,其是实现在kvminit()、procinit()和virto_disk()中的
    用户进程退出后,需要清理页表(尤其是内核页表的映射清理需要注意)
    内核bug很难追踪,需要不断的反推。
  • 实验方法:copy方法/共享内核页表
    例程使用共享的方法:
    编程原则:小步 + 保持旧代码
    由于内存布局的关系,其中地址空间的l1的pte的1-511都与原始的内核页表相同,因此可以复制原始的pte的l1
    永远不要释放正在运行的页表,要提前切换
    test2
    新的copyin和copyinstr的优点:使用硬件实现walk
    新的copyin核心是将copy将用户页表映射到内核页表中PLIC以下的位置(启动项等),从而便于内核空间和用户空间的大量数据传输,同时注意复制时页表的权限(禁用U、W、V)

参考文献

MIT 6.S081 2020 操作系统 [中英文字幕]:https://www.bilibili.com/video/BV19k4y1C7kA?p=6&vd_source=a92eee08b64ebacd746bc659b96ff37c

标签:lec7,内核,lab4.5,S081,MIT,页表
From: https://www.cnblogs.com/David-Dong/p/18045550

相关文章

  • MIT6.830-Lab3
    simpleDB项目地址概览IntHistogram作用估计条件过滤某表的某个Int字段时,结果集记录数和该表记录总数的比例;StringHistogram类似IntHistogramTableStats作用存放某表各个字段对应的直方图对象(IntHistogram或StringHistogram类型);使用静态对象ConcurrentMap<String,Tab......
  • L-BFGS-B(Limited-memory Broyden–Fletcher–Goldfarb–Shanno )算法理解 —— 内存
    本文主要讲下个人对数值优化算法中几种常见算法的理解。什么是优化算法?给出函数f(X),现在要求minf(X)时的X值,这就是最优化问题。1.共轭梯度法方程:A*x=b,A矩阵为对称正定矩阵,b为向量,目标为求解出向量x。个人认为共轭梯度法并不能被当做是一个真正的优化算法,因为共轭梯度......
  • MIT6.830-Lab2
    simpleDB项目地址实验部分实验1Predicate类用来存放对表记录进行条件过滤的信息(要过滤字段的序号,具体的比较规则,用来比较的字段),其内部的枚举类Op就是比较规则类,filter()方法的实现使用Field接口中的compare()即可。JoinPredicate类用来存放两表的记录进行连接的信息(两表......
  • MIT 6.S081入门lab3 页表
    MIT6.S081入门lab3页表一、参考资料阅读与总结1.xv6book书籍阅读(页表)a.总览页表:操作系统为每一个进程提供私有空间和内存的机制,使每一个进程有着自己的虚拟地址空间。本质上是基于分页的内存空间管理方法。页表存储:其实就是MMU,其存储了从虚拟地址VA到物理地址PA的映射......
  • ipmitool是很常见的物理机管理工具,这里分享一些ipmitool经常用到的一些命令
    ipmitool-Ilanplus-H$oob_ip-Uroot-P密码poweroff(硬关机,直接切断电源)ipmitool-Ilanplus-H$oob_ip-Uroot-P密码powersoft(软关机,即如同轻按一下开机按钮)ipmitool-Ilanplus-H$oob_ip-Uroot-P密码poweron(硬开机)ipmitool-Ilanplus-H$oo......
  • react错误:Uncaught Error: Too many re-renders. React limits the number of renders
    react错误:UncaughtError:Toomanyre-renders.Reactlimitsthenumberofrenderstopreventaninfiniteloop. 信铁寒胜:更改页面数据时未放到useEffect方法内,导致页面一直在刷新。  原因1:错误写法:<divclassName='article_item'onClick={toArticleDetail......
  • mitmproxy 抓包神器-6.如何在linux操作系统中安装
    前言常见的抓包工具有fiddler和charles,这些工具都是需要安装本地客户端,python版的抓包工具可以用mitmproxy。mitmproxy相比Charles、fiddler的优点在于,它可以命令行方式或脚本的方式启动服务,跨平台使用。Linux环境安装mitmproxy(man-in-the-middleattackproxy),中间人......
  • AI 编程如何颠覆生产力 | 参与体验免费领取 ArchSummit 架构师峰会专属门票
    Sora的初现,已经震惊了整个行业,正在慢慢的颠覆一些垂直行业。在惊叹之余,估计大部分人都在思考如何顺应潮流,驾驭趋势。InfoQ正在筹备2024年6月14-15日深圳ArchSummit架构师峰会,阿里云云原生应用平台负责人丁宇受邀在会议上演讲,他的演讲会围绕AI颠覆程序员/开发者生产......
  • MIT 6.1810 Lab: Summary
    实验笔记MIT6.1810Lab:Xv6andUnixutilitiesMIT6.1810Lab:systemcallsMIT6.1810Lab:pagetablesMIT6.1810Lab:trapsMIT6.1810Lab:Copy-on-WriteForkforxv6MIT6.1810Lab:Multithreading待续总结xv6是一个十分精巧的操作系统,它的每个模块是否简单......
  • [MIT 6.S081] Lab: mmap
    Lab:mmap在本次实验中,我们要实现的是一个比较简简单的mmap实现,将文件映射到内存中的某个块,并根据权限设置这块内存的行为,以及为其提供延迟分配策略。mmap对于将文件映射到内存,其实是先规划好一块区域给文件使用,为什么要提供延迟分配,是因为如果需要映射一个文件时,就规划好一......