lab2 介绍.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lab2 介绍

Lab2 introduction 2010-04-30 Lab2任务清单 实现物理页面管理 掌握段页式地址映射机制 掌握内核虚拟内存布局 建立二级页表 掌握bochs针对不同类地址的调 试命令 Lab2准备  将Lab1的解答放入Lab2  取得Lab1修改内容  diff -u -r Lab1 Lab1-change Lab1-changes.patch  将Lab1的修改patch到Lab2  cd Lab2  patch -p1 -u ../Lab1-changes.patch  将*.rej中未加入的更改手动加入相应文件 outline(1)  Lab2代码树  Introduction  符号表结构  Part 1 Physical Page Management  struct Page数据结构  queue.h 中实现的双向链表  过渡阶段的页目录 outline(2)  Part 2 Virtual Memory  段页式映射机制  逻辑地址、线性地址、物理地址  重要数据结构和函数  Part 3: Kernel Address Space  段页映射中的权限检查  自映射  过渡阶段的页目录 Lab2 代码树 lab2 boot: 引导扇区代码 CODING: 代码规范说明; Conf, GNUmakefile, mergedep.pl: 编译相关文件; grade.sh : 代码测试脚本; inc: 头文件定义*** kern: 内核代码*** lib: 代码库; user: 用户态程序; 了解 Lab2 代码树:inc inc memlayout.h***:内存管理相关的宏定义; 其中注释中的虚拟内存表是重中之重 mmu.h**:MMU相关的宏定义; Lab2 代码树:kern kern pmap.h***: 一定要在读pmap.c前通读一遍 pmap.c***: 内存管理 kclock.h kclock.c:PC时钟控制 kdebug.h* kdebug.c**: debug信息 outline  Introduction  符号表结构 Introduction—Ex1  Exercise1:  扩展Lab1中的Stack Backtrace功能,通过调用 stab_binsearch 与read_eip()实现debuginfo_eip() 函数,使原先显示eip的位置变为所在的函数名称 和偏移量 实现原理  JOS 内核中有若干段  .stab段是内核符号表,其中存有文件、函数、 行数等的信息;.stabstr段中存有相应的文件 和函数名等 实现原理  backtrace需要从.stab段和.stabstr段中获取所 需的信息:  文件名  函数名  行号  调用点在函数中的偏移量等  由debuginfo_eip()实现这些功能  backtrace通过调用debuginfo_eip()来获得所需 信息 实现原理:Stab结构  struct Stab  n_strx:指向stabstr表的索引,stabstr表中存有该符号项的 名字  n_type:该符号项的类型  n_other:杂项信息(通常为空)  n_desc:描述信息  n_value:该符号项的值 实现原理  n_type说明:  N_SO:表示文件  N_SOL:被包含的文件  N_FUN:表示函数  N_SLINE:表示在文件中的行号  文件和函数项的n_value字段表示该文件或函 数装载后的虚拟地址  n_strx是指向.stabstr段的索引 实现过程  通过objdump命令,观察内核中不同的段。  objdump -h obj/kern/kernel

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档