操作系统week08实验报告

  • 格式:pdf
  • 大小:151.76 KB
  • 文档页数:3

四 川 大 学 计 算 机 学 院、软 件 学 院
实验报告
学号: 1043111051 姓名: 王金科 专业: 软件工程 班级: 五班 第 八 周
课程名称 操作系统课程设计实验课时1
实验项目了解Nachos的关键类实验时间2012年4月1日
星期二
实验目的1) 阅读Nachos操作系统相关源代码,回答相应的问题实验环境 X86,WindowsXP,VMware5.0,RedHat Linux 9.0,SSHSecureShellClient-3.2.9
实验内容(算法、程序、步骤和方法)Question 1:
Nachos中线程数量的上限是多少?(理论值和实际值分别总结)Nachos 中的线程数目可以是无限的。

因为线程的控制结构和系统线程的运行是占用宿主机的,能够开多线程完全由宿主机条件限制,理论上是无限的。

Question 2:
Nachos进行线程切换时,需要保存哪些资源的活动现场?为什么需要这样做?
线程切换时保存虚拟机寄存器组。

当线程进行切换时另外一个线程准备就绪,Nachos的线程切换借助于宿主机的正文切换,由于这部分内容与机器密切相关,而且直接同宿主机的寄存器进行交道,所以这部分是用汇编来实现的。

由于Nachos可以运行在多种机器上,不同机器的寄存器数目和作用不一定相同,所以需要对虚拟机寄存器组进行保存。

Question 3:
请对类中的Translate(int virtAddr, int* physAddr, int size, bool writing)方法实现进行文字说明,并配图分析。

virtAddr: 转换逻辑虚拟地址
physAddr:存取实际地址
size:读写数据类型的大小
writing:读/写内存标志
实现过程:
A 判断用户逻辑地址是否对齐
a. 如果size是2,virtAddr必须是2的倍数
b. 如果size是4,virtAddr必须是4的倍数
没有对齐则返回AddressErrorException
B.计算虚拟地址所在的页号vpn及其在页面中的偏移量
C.根据采用不同的转换方法作不同的处理
1.如果采用的是线性转换表
a.当cpn>=pageeTableSize是,即虚拟页数过大,返回
AddressErrorException
b. 当页表中显示该页无效时,返回PageFaultException
c.一切正常则得到相应的页表表项
2.如果采用的是TLB转换表,查找TLB表
a.如果查找到,得到相应的页表表项
b.如果没有查到,返回PageFaultException
D.如果得到的页表表项是只读,writing标志设置,返回ReadOnlyException
E.如果表项中相应的物理地址大于实际的内存物理地址,返回
BusErrorException
设置表项正在使用标志,如果 writing 标志设置,设置表项中的 dirty
实验结果
的截图
通过本实验,我掌握了:从nachos代码中提取一些线小 结
目前我存在的问题有:对线程了解不够深入,对线程的指导老师
评 议
实验报告说明
专业实验中心
实验名称 要用最简练的语言反映实验的内容。

如验证某程序、定律、算法,可写成“验证×××”;分析×××。

实验目的 目的要明确,要抓住重点,可以从理论和实践两个方面考虑。

在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。

一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。

实验环境 实验用的软硬件环境(配置)。

实验内容(算法、程序、步骤和方法) 这是实验报告极其重要的内容。

这部分要写明依据何种原理、定律算法、或操作方法进行实验,要写明经过哪几个步骤。

还应该画出流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。

数据记录和计算 指从实验中测出的数据以及计算结果。

结论(结果) 即根据实验过程中所见到的现象和测得的数据,作出结论。

小结 对本次实验的体会、思考和建议。

备注或说明可写上实验成功或失败的原因,实验后的心得体会、建议等。

注意:
实验报告将记入实验成绩;
每次实验开始时,交上一次的实验报告,否则将扣除此次实
验成绩。