欢迎来到天天文库
浏览记录
ID:6132903
大小:496.28 KB
页数:0页
时间:2018-01-04
《山东大学操作系统实验六实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与技术学院实验报告实验题目:NachosUserProgramsandSystemCalls学号:201100300038日期:2013-11-27班级:11级03姓名:陶旭涛Email:1595242630@qq.com实验目的: 实验并熟悉Nachos中的用户程序,你需要实现Nachos系统调用的代码。其目的是理解 如何将用户进程启动 通过系统调用与操作系统内核如何将用户进程交互 硬件环境:Mem:3.9GDisk:15.5GB软件环境:System:ubuntu12.04LSTi386gcc:(Ubuntu
2、4.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../test/halt.nof
3、f3:为了能够了解Nachos中多用户程序驻留内存的情况,可以在AssSpace 类中增加以下打印成员函数Print: 4:最小的用户程序halt.c会占用10页的内存空间。如果你想 验证系统能否分配更多的内存页, 可以在用户程序中说明一些较大的数组。 例如,修改halt.c,在其中说明一个静态数组a: #include"syscall.h" staticinta[40]; int main() { Halt(); /*notreached*/ } 再次执行../test目录中的make,并再次进入../userprog目录,使
4、用make 命令生成带有输出用户程序页分配信息的Nachos内核。输入命令: $./nachos–x../test/halt.noff 现在可以看到用户程序的页表情况,修改后的halt.c分配的内存增加到了 12页结论分析与体会:Nachos用户程序的二进制文件通过gccMIPS编译后生成Coff格式的文件,再由coff2noff命令转换为Noff格式。查看用户程序汇编指令清单,了解函数栈帧的建立与删除过程以及汇编指令与C语句的对应关系,可以使用命令:$/usr/local/mips/bin/decstation-ultrix-
5、gcc-I../userprog-I../threads-Shalt.cthreads-Shalt.c这个命令将会生成一个halt.c的汇编语言程序start.s对这个文件不是很理解。
此文档下载收益归作者所有