Lab2时间安排.pdf

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lab2时间安排

Lab2 part1 2009-03-04 Lab2时间安排 Lab2时间:3月4 日至3月24 日 第一周 Part1物理内存管理,Part2虚拟内存管理 第二周 Part3内核地址空间设置及调试 第三周 Challenge、代码调试和文档 Lab2任务清单 实现物理页面管理 掌握页式地址映射机制 掌握内核虚拟内存布局 建立二级页表 掌握bochs针对不同类地址的调 试命令 Lab2实习题目 Exercise1~6 必做 鼓励实习指导文档之外的创新 Questions 必做,写入文档 Challenge1: 4M页管理内核内存 Challenge4: 4M页内存管理设计与实现 challenge1和challenge4选作一个 Challenge5: 控制台命令扩展(页面申请/释放 控制) 必做 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 Lab2代码树 Introduction 符号表结构 Part 1 Physical Page Management struct Page数据结构 queue.h中实现的双向链表 Part 2 Virtual Memory 段页式映射机制 逻辑地址、线性地址、物理地址 重要数据结构和函数 Lab2 代码树 Lab2 代码树:inc Lab2 代码树:kern outline Lab2代码树 Introduction 符号表结构 Part 1 Physical Page Management struct Page数据结构 queue.h中实现的双向链表 Part 2 Virtual Memory 段页式映射机制 逻辑地址、线性地址、物理地址 重要数据结构和函数 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 需要注意.stab和.stabs

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

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

1亿VIP精品文档

相关文档