山东大学操作系统实验六实验报告.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学与技术学院实验报告 实验题目: Nachos User Programs and System Calls 学号: 201100300038 日期:2013-11-27 班级: 11级03 姓名:陶旭涛 Email: 1595242630@ 实验目的: ??实验并熟悉Nachos中的用户程序,你需要实现Nachos系统调用的代码。 其目的是理解 ??如何将用户进程启动 ??通过系统调用与操作系统内核如何将用户进程交互 ? 硬件环境: Mem:3.9G Disk:15.5 GB 软件环境: System:ubuntu12.04LST i386 gcc: (Ubuntu 4.6.3-1ubuntu5) 4.6.3 nachos system 实验步骤: 1: ../test 中现有 5 个 C 语言用户源程序,可 以通过 make 命令一次性编译连接生成它们的可执行文件和其在该目录中 的符号链接 2: 进入../userprog 目录,使用 make 命令生成带有基本内存 管理功能的 Nachos 内核。现在我们就可以使用新的内核执行用户程序了。 例如,为了执行../test 目录中的 halt.noff 程序,可以输入命令: $./nachos –x ../test/halt.noff $./nachos –d ../test/halt.noff 3:为了能够了解 Nachos 中多用户程序驻留内存的情况,可以在 AssSpace 类中增加以下打印成员函数 Print: 4:最小的用户程序 halt.c 会占用 10 页的内存空间。 如果你想 验证系统能否分配更多的内存页, 可以在用户程序中说明一些较大的数组。 例如,修改 halt.c,在其中说明一个静态数组 a: #include syscall.h static int a[40]; int main() { Halt(); /* not reached */ } 再次执行../test 目录中的 make,并再次进入../userprog 目录,使用 make 命令生成带有输出用户程序页分配信息的 Nachos 内核。输入命令: $./nachos –x ../test/halt.noff 现在可以看到用户程序的页表情况,修改后的 halt.c 分配的内存增加到了 12页 结论分析与体会: Nachos用户程序的二进制文件通过gcc MIPS编译后生成Coff格式的文件,再由coff2noff命令转换为Noff格式。查看用户程序汇编指令清单,了解函数栈帧的建立与删除过程以及汇编指令与C语句的对应关系,可以使用命令: $/usr/local/mips/bin/decstation-ultrix-gcc-I../userprog -I../threads -S halt.c threads -S halt.c 这个命令将会生成一个halt.c的汇编语言程序start.s 对这个文件不是很理解。

文档评论(0)

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

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

1亿VIP精品文档

相关文档