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

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

ID:10932176

大小:496.28 KB

页数:6页

时间:2018-07-09

山东大学操作系统实验六实验报告_第1页
山东大学操作系统实验六实验报告_第2页
山东大学操作系统实验六实验报告_第3页
山东大学操作系统实验六实验报告_第4页
山东大学操作系统实验六实验报告_第5页
资源描述:

《山东大学操作系统实验六实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机科学与技术学院实验报告实验题目:NachosUserProgramsandSystemCalls学号:201100300038日期:2013-11-27班级:11级03姓名:陶旭涛Email:1595242630@qq.com实验目的:  实验并熟悉Nachos中的用户程序,你需要实现Nachos系统调用的代码。其目的是理解  如何将用户进程启动  通过系统调用与操作系统内核如何将用户进程交互 硬件环境:Mem:3.9GDisk:15.5GB软件环境:System:ubuntu12.04LSTi386gcc

2、:(Ubuntu4.6.3-1ubuntu5)4.6.3nachossystem实验步骤:1:../test中现有5个C语言用户源程序,可 以通过make命令一次性编译连接生成它们的可执行文件和其在该目录中 的符号链接2: 进入../userprog目录,使用make命令生成带有基本内存 管理功能的Nachos内核。现在我们就可以使用新的内核执行用户程序了。 例如,为了执行../test目录中的halt.noff程序,可以输入命令: $./nachos–x../test/halt.noff $./nachos–d

3、../test/halt.noff3:为了能够了解Nachos中多用户程序驻留内存的情况,可以在AssSpace 类中增加以下打印成员函数Print: 4:最小的用户程序halt.c会占用10页的内存空间。如果你想 验证系统能否分配更多的内存页, 可以在用户程序中说明一些较大的数组。 例如,修改halt.c,在其中说明一个静态数组a: #include"syscall.h" staticinta[40]; int main() { Halt(); /*notreached*/ } 再次执行../test目录中的m

4、ake,并再次进入../userprog目录,使用make 命令生成带有输出用户程序页分配信息的Nachos内核。输入命令: $./nachos–x../test/halt.noff 现在可以看到用户程序的页表情况,修改后的halt.c分配的内存增加到了 12页结论分析与体会:Nachos用户程序的二进制文件通过gccMIPS编译后生成Coff格式的文件,再由coff2noff命令转换为Noff格式。查看用户程序汇编指令清单,了解函数栈帧的建立与删除过程以及汇编指令与C语句的对应关系,可以使用命令:$/usr/l

5、ocal/mips/bin/decstation-ultrix-gcc-I../userprog-I../threads-Shalt.cthreads-Shalt.c这个命令将会生成一个halt.c的汇编语言程序start.s对这个文件不是很理解。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。