xv6操作系统整体报告.docVIP

  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文档。上传文档
查看更多
. . 前言 ????? 操作系统是一种复杂的系统软件。本书通过介绍操作系统的基本概念和原理.并结合操作系统原理来分析一个小型但全面的操作系统xv6.并进一步进行各种基于xv6操作系统的实验.来让读者了解和掌握操作系统的设计与实现。xv6是一个运行在基于x86架构的计算机系统上的类似UNIX的教学用操作系统。xv6起源于MIT。在2002年秋季.Frans Kaashoek, Josh Cates, and Emil Sit在MIT开设了一门新的实验型课程“操作系统工程”.英文名称是“Operating Systems Engineering”.课程代号是“6.097”.后改为“6.828”.在此课程上.一开始采用了“莱昂氏UNIX源代码分析”(英文书名是“LionCornmentary on UNIX 6th Edition With Source Code”)作为参考资料。此参考资料描述的UNIX v6(简称V6)是运行在古老的PDP-11计算机系统上。为了让学生更好地理解V6的实现.Frans Kaashoek等从2006年夏季开始.参考V6的架构.在x86计算机系统上重新实现了一个支持多处理器计算机系统的类似UNIX的教学用操作系统.称为为xv6。在目前的MIT本科生课程“6.828:?Operating Systems Engineering”中.xv6主要用于讲课.而另一个基于exokernel架构的JOS主要用于做试验。 目前xv6在MIT的网址在 /6.828/xv6/ ??? 第零章? 安装使用 如果是Linux初学者.请看附录F.了解如何安装、使用Ubuntu Linux.如何在Ubuntu Linux下编程。 编译[need update] 安装Ubuntu?Linux 8.10.具体安装方法可以参考附录C。并通过apt工具进一步安装相关软件包 $ sudo apt-get install gcc binutils libc 6-dev gdb? 然后解压xv6软件包.到某一目录.然后到此目录下执行 $make 就可以生成相关执行文件和镜像.包括xv6.img(包含bootloader和xv6 kernel)和fs.img(包含应用程序) 运行[need update] 安装Ubuntu?Linux 8.10.并通过apt工具进一步安装相关软件包 $sudo apt-get install qemu bochsbios vgabios libsdl1.2debian kvm 如果通过qemu执行.可执行如下命令 qemu -smp 4 -parallel stdio -hdb fs.img -hda xv6.img 如果通过kvm执行.可执行如下命令 kvm -smp 4 -parallel stdio -hdb fs.img xv6.img qemu和kvm的相关运行参数的含义可参考附录B。 调试[need update] 对qemu而言.可以同时实现qemu内嵌的debugger调试(需要打陈渝老师扩展的patch并重新编译生成新的qemu.特点是简单.可控制硬件的手段多.缺点是不是C源码级调试)和通过gdb远程调试(特点是是可进行C源码级调试.缺点是可能会有奇怪的问题.对硬件控制不够)。 1 用gdb远程调试的方法如下: a qemu调试方式启动 qemu -S -s? -smp 2 -monitor stdio -hdb fs.img -hda xv6.img b gdb启动并调试 gdb kernel (gdb) target remote :1234 (gdb) break FUNCTION-NAME (gdb) continue ... (gdb) quit 2 用qemu internal debugger调试 a qemu启动命令 qemu -smp 2 -monitor stdio -hdb fs.img -hda xv6.img 然后在qemu的monitor中可执行如下命令进行调试分析 x /fmt addr -- virtual memory dump starting at addr info cpus? -- show infos for each CPU info registers -- show the cpu registers singlestep singlestap_enabled -- toggle singlestep mode breakpoint_insert addr -- insert breakpoint breakpoint_remove addr -- remove brea

文档评论(0)

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

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档