kl800.com省心范文网

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

软件学院实验报告
实验题目: Nachos 系统调用 exec()、 exit()的实现 学号:201100300038 日期:2013-11-26 班级: 11 级软件 3 班 姓名:陶旭涛 Email:1595242630@qq.com 实验目的: 实现系统调用 Exec()和 Exit() ; 硬件环境:
Mem:3.9G CPU:Intel? Core?2 Quad CPU Q9500 @ 2.83GHz × 4 Disk:15.5 GB 软件环境:

System:ubuntu12.04LST i386 gcc: (Ubuntu 4.6.3-1ubuntu5) 4.6.3 nachos system
实验步骤:

1.编写 exit.c

2.修改 Makefile 文件,在目标那里添加上该新添加的文件名称 exec exit

3.执行 make 命令,编译 test 4. 修改文件 AddSpace.cc, 在类中声明一个 bitmap 对象 static BitMap *usermap=new BitMap(NumPhysPages); 重新计算页表数目

6. 修改文件 Exception.cc 中的系统调用时的处理函数,如下图所示:

7.进入目录../lab7-8/ 进行 make 编译 执行./nachos -x ../test/exec.noff,结果如下图所示:

执行./nachos -x ../test/exit.noff,结果如下图所示:

结论分析与体会:通过本次实验,对 nachos 系统中的系统调用过程和原理有了更 加深刻的认识, 一方面,拓 展 了 虚 页 到 实 页 的 映 射 方 式 ,不 再 是 一 个 连 续 的 文 件 对 应 一 段 连 续 的 内 存 空 间 ,同时,当多个程序并发执行时,内存空 间的分配有了明确的认知。