v6操作系统整体报告.docx

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

..

.

.

前言

操作系统是一种复杂的系统软件。本书通过介绍操作系统的基本概念和原理.并结合操作系统原理来分析一个小型但全面的操作系统xv6.并进一步进行各种基于xv6操作系统的实验.来让读者了解和掌握操作系统的设计与实现。xv6是一个运行在基于x86架构的计算机系统上的类似UNIX的教学用操作系统。xv6起源于MIT。在2002年秋季.FransKaashoek,JoshCates,andEmilSit在MIT开设了一门新的实验型课程“操作系统工程”.英文名称是“OperatingSystemsEngineering”.课程代号是“6.097”.后改为“6.828”.在此课程上.一开始采用了“莱昂氏UNIX源代码分析”(英文书名是“LionCornmentaryonUNIX6thEditionWithSourceCode”)作为参考资料。此参考资料描述的UNIXv6(简称V6)是运行在古老的PDP-11计算机系统上。为了让学生更好地理解V6的实现.FransKaashoek等从2006年夏季开始.参考V6的架构.在x86计算机系统上重新实现了一个支持多处理器计算机系统的类似UNIX的教学用操作系统.称为为xv6。在目前的MIT本科生课程“6.828: OperatingSystemsEngineering”中.xv6主要用于讲课.而另一个基于exokernel架构的JOS主要用于做试验。目前xv6在MIT的网址在/6.828/xv6/

第零章 安装使用

如果是Linux初学者.请看附录F.了解如何安装、使用UbuntuLinux.如何在UbuntuLinux下编程。

编译[needupdate]

安装Ubuntu Linux8.10.具体安装方法可以参考附录C。并通过apt工具进一步安装相关软件包

$sudoapt-getinstallgccbinutilslibc6-devgdb

然后解压xv6软件包.到某一目录.然后到此目录下执行

$make

就可以生成相关执行文件和镜像.包括xv6.img(包含bootloader和xv6kernel)和fs.img(包含应用程序)

运行[needupdate]

安装Ubuntu Linux8.10.并通过apt工具进一步安装相关软件包

$sudoapt-getinstallqemubochsbiosvgabioslibsdl1.2debiankvm

如果通过qemu执行.可执行如下命令

qemu-smp4-parallelstdio-hdbfs.img-hdaxv6.img

如果通过kvm执行.可执行如下命令

kvm-smp4-parallelstdio-hdbfs.imgxv6.img

qemu和kvm的相关运行参数的含义可参考附录B。

调试[needupdate]

对qemu而言.可以同时实现qemu内嵌的debugger调试(需要打陈渝老师扩展的patch并重新编译生成新的qemu.特点是简单.可控制硬件的手段多.缺点是不是C源码级调试)和通过gdb远程调试(特点是是可进行C源码级调试.缺点是可能会有奇怪的问题.对硬件控制不够)。

用gdb远程调试的方法如下:aqemu调试方式启动

qemu-S-s -smp2-monitorstdio-hdbfs.img-hdaxv6.img

bgdb启动并调试

gdbkernel

(gdb)targetremote:1234(gdb)breakFUNCTION-NAME(gdb)continue

...

(gdb)quit

用qemuinternaldebugger调试aqemu启动命令

qemu-smp2-monitorstdio-hdbfs.img-hdaxv6.img

然后在qemu的monitor中可执行如下命令进行调试分析

x/fmtaddr--virtualmemorydumpstartingataddrinfocpus --showinfosforeachCPU

inforegisters--showthecpuregisters

singlestepsinglestap_enabled--togglesinglestepmodebreakpoint_insertaddr--insert

文档评论(0)

mph + 关注
官方认证
内容提供者

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

认证主体上海谭台科技有限公司
IP属地上海
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档