- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Unit 3 Our animal friends 同步练习3分析和总结.docx
- Unit 3 Teenage problems 习题 1分析和总结.docx
- Unit 4 Where`s my backpack练习题分析和总结.docx
- Unit 4Where`s my backpack单元练习分析和总结.docx
- Unit 5 Do you want to watch a game show Section A (1a-2d)同步练习题(含答案人教新目标八上).docx
- Unit 5 What were you doing when the rainstorm came单元测试题(人教新目标版八年级英语下册).docx
- Unit 6 Do you like bananas学案分析和总结.docx
- Unit 7 Poems知识点整理分析和总结.docx
- Unit 7 How much are these pants导学案分析和总结.docx
- Unit 7 How much are these pants练习分析和总结.docx
文档评论(0)