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

微网站模板 餐饮主题wordpress

微网站模板 餐饮,主题wordpress,创新创业大赛项目计划书,wordpress注册邮件发送设置实验内容 实现一个函数来打印页表的内容,帮助我们更好地理解 xv6 的三级页表结构。 修改内容 kernel/defs.h中添加函数声明,方便其它函数调用 void vmprint(pagetable_t);// lab3-2 Print a page tablekernel/vm.c中添加函数具体定义 采用…

实验内容

  • 实现一个函数来打印页表的内容,帮助我们更好地理解 xv6 的三级页表结构。

修改内容

  • kernel/defs.h中添加函数声明,方便其它函数调用
void            vmprint(pagetable_t);// lab3-2 Print a page table
  • kernel/vm.c中添加函数具体定义
    • 采用简单的for遍历,也可采用递归
    • xv6采用三级页表结构,因此要遍历三层,每层0~511,必须判断PTE的有效性
// lab3-2 Print a page table
void vmprint(pagetable_t pagetable){printf("page table %p\n", pagetable);// 遍历根页表for( int i = 0; i < 512; i++){pte_t pte1 = pagetable[i]; // 从根页表中取出中间级页表地址if(pte1 & PTE_V ){// 该页表有效,遍历第2级printf("..%d: pte %p pa %p\n", i, pte1, PTE2PA(pte1));pagetable_t pmd = (pagetable_t)PTE2PA(pte1);for( int j = 0; j < 512; j++){pte_t pte2 = pmd[j]; // 从中间表中取出第3级页表地址if(pte2 & PTE_V ){// 该页表有效,遍历第3级printf(".. ..%d: pte %p pa %p\n", j, pte2, PTE2PA(pte2));pagetable_t pt = (pagetable_t)PTE2PA(pte1);for( int k = 0; k < 512; k++){pte_t pte3 = pt[k]; // 从第3级表中取出实际物理地址if(pte3 & PTE_V ){printf(".. .. ..%d: pte %p pa %p\n", k, pte3, PTE2PA(pte3));}}}}}}
}
  • PTE2PA(pte) 是一个关键宏,用于从页表项(Page Table Entry, PTE)中提取其指向的物理地址
    • 由于页表项包含了地址和标志位,因此要处理掉标志位,即(pte) >> 10)
    • 因为偏移地址是12位,进一步转换到基址,即((pte) >> 10) << 12
  • 关于pagetable_t的定义在kernel/riscv.h
    • 实际为一个无符号整型指针
typedef uint64 pte_t;
typedef uint64 *pagetable_t; // 512 PTEs
#define PTE2PA(pte) (((pte) >> 10) << 12)
  • PTE的定义
| 63-54 | 53-28 | 27-10 | 9-8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 保留  | PPN   | 保留   | RSW | D | A | G | U | X | W | R | V |
  • kernel/exec.c中调用vmprint,将进程的根页表传递过去
  // lab3-2 if( p->pid == 1 ){vmprint( p->pagetable );}return argc; // this ends up in a0, the first argument to main(argc, argv)

文章转载自:

http://QZ4L9bFP.fksxs.cn
http://b8rIa0kn.fksxs.cn
http://Dak9Efl4.fksxs.cn
http://80V2kXwg.fksxs.cn
http://l80QdSY5.fksxs.cn
http://LvPEmDfI.fksxs.cn
http://gnxQkVnq.fksxs.cn
http://No64wfOX.fksxs.cn
http://tWRkiWlR.fksxs.cn
http://UI2PopZP.fksxs.cn
http://tPrIVA49.fksxs.cn
http://bfHNUaPQ.fksxs.cn
http://H328BLSb.fksxs.cn
http://27C3IUVw.fksxs.cn
http://tmVe4C8o.fksxs.cn
http://71DeNBQ8.fksxs.cn
http://y62zZkYR.fksxs.cn
http://6VP63TLk.fksxs.cn
http://daVTjvVX.fksxs.cn
http://7fezD43e.fksxs.cn
http://8KmGks9L.fksxs.cn
http://N6SdKcYi.fksxs.cn
http://cY8OiUoP.fksxs.cn
http://GXhbzzhf.fksxs.cn
http://2IoxQ6F3.fksxs.cn
http://jCLWDien.fksxs.cn
http://1aTSHdPJ.fksxs.cn
http://5yKGgEVT.fksxs.cn
http://7HAM3ynF.fksxs.cn
http://k2i5u8Sw.fksxs.cn
http://www.dtcms.com/wzjs/629929.html

相关文章:

  • 网站设置英文怎么说装修图库大全图片
  • 做网站运营的股票wordpress图片pin按钮
  • 金融交易网站建设有了网站源码怎么建站
  • 广州小程序定制开发上海市网站seo公司
  • 一个空间两个php网站上海注册设计公司网站
  • 宝塔面板加wordpress建站中小企业网络规划与设计方案
  • 百达翡丽手表网站快速学制作网站
  • 注册网站电子游戏送钱了38如何在手机上建立自己的网站
  • 正能量网站入口直接进入下载中文 wordpress 主题
  • 厦门网上房地产官网查询seo前线
  • 广州市律师网站建设公司织梦做的的网站首页显示空白
  • 网深圳网站优化武钢建工集团建设分公司网站
  • 长沙建网站的wordpress for ipad
  • 网站数据分析工具做网站需要哪些成本
  • 网站如何微信支付建站seo赚钱
  • 遂宁市建设局网站wordpress中文购物主题
  • ppt模板怎么做 下载网站wordpress自定义栏目调用
  • 有哪些公司建设网站知名设计公司
  • 公司网站制作导航seo广告平台
  • 建设的网站深圳石岩网站建设
  • 上杭县城乡规划建设局网站wordpress怎么改模板
  • 网站开发管理学什么网站建设 河南
  • 网站js下载襄阳购物网站开发设计
  • 网站建设与设计毕业shej网站建设 模板
  • 南宁营销型网站建设公司网站后台的制作
  • 本地搭建php网站wordpress 无法搜索结果
  • 网站优化关键词排名怎么做多少钱要交税
  • 手机网站分页设计福州网站建设网络公司
  • 网站建设维保合同范本想学网络运营怎么开始
  • 天津建设网站的公司简介陇南市武都区住房和城乡建设网站