操作系统课实验项目分析.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多

操作系统课实验项目分析

摘要:本文总结了国内外一些一流大学操作系统课实验项目的设置情况,分

析了各类项目的特点、难点及效果,介绍了相应的实验环境建设的方法以及为客

观地评价学生实验成果而设计的评价准则。

关键词:操作系统;实验项目;实验平台

1引言

操作系统课程是一门内容丰富,包含许多概念、方法、算法的课程,解决好

理论与实践相结合的问题是提高操作系统教学质量的关键。例如,如果在讲解同

步机制前先指导学生设计并发运行的多线程程序,当他们直接观察到由于缺乏同

步机制导致程序结果出错的情景,就会激发出对解决方案的学习热情。国内外许

多大学针对操作系统课的实践环节提出了丰富的多层次的实验方案,下面分别从

实验内容、实验环境、考核方法与标准等方面进行分析介绍。

2实验内容

对于操作系统课程实验,实验平台在很大程度上决定了实验的内容和难度以

及效果,所以我们下面主要按照实验平台或实现层次划分项目的类型。

1.1教学用操作系统

这类实验又可以分为基于模拟器的和直接运行于裸机上的实际OS源代码。

基于模拟器的有伯克利的OPS、Toy、Nachos、MPX、OPS、上海交大开发的

MOS操作系统等。直接运行于裸机上有MINIX、XINU等。基于模拟器的系统

是面向实验设计的,会设置一些便于的调试与项目管理的特征。例如,OPS系统

允许学生周期地查看系统的状态信息,包括设备表、PCB池、事件队列等。学

生也有机会修改模拟参数[1]。OPS的项目产生器能自动生成模板文件,包含过

程头和所需的数据结构声明,只由学生完成过程体。

作为一个教学用操作系统,Nachos的目标不是展示一个成功的操作系统,

而是提供一个便于扩展的框架。例如它的文件系统实现了所有必要的数据结构,

只是在很多方面做了一定的限制,可将实验项目内容设置为消除某些限制。

MINIX是一个虽小但完整的教学用操作系统,可运行于实际的机器硬件上。

与基于模拟器上的系统比,它可以给学生更切实的感受。包含有3000行注释的

12000行源代码使整个系统较为容易阅读和理解,MINIX“小”到学生可以理解它

的主体部分,“大”到足够让学生体会到一处小小的修改会影响到表面上看起来不

相关的函数里。学生项目可以是修改调度器或增加新的文件系统等。但是从教学

的角度看,上万行的代码仍过于庞大,并且MINIX的“完整”也限制它的扩展余

地。所以近年来出现了面向“简单、真实、容易理解的”的雏型操作系统,例如瑞

士ETHZ大学的Topsy、美国马里兰大学的GeekOS,以及北京大学的PTOS等。

除了用于操作系统课的教学,近年来随着嵌入式系统的兴起,教学类操作系

统正由于规模小而受到越来越多的关注。

1.2通用操作系统内核

由于Linux操作系统是开放源码的,所以这类实验通常以Linux作为目标平

台。此类实验较早的提倡者是GaryNutt[2],他提出的一些实验项目内容被许

多学校沿用、发展,在美国有10多所大学采用修改Linux内核的实验[3]。分

析Linux源代码能锻炼学生分析大型软件代码的能力,对高质量代码分析、理解

的过程也同时是一个学习好的编程风格和设计思想的过程。所以虽然它们是操作

系统类的实验,但从某种程度上也是软件工程类的实验。

基于Linux的修改内核实验通常包含如下几类内容:

●Linux内核编译与配置方法

●在分析阅读源代码基础上修改调度算法

●实现新的同步原语

●增加系统调用

●增加可动态加载模块

●驱动程序设计

1.3仿真实验

这类项目通常采取仿真实现操作系统中的一些典型技术,如进程调度算法,

但实现中涉及的资源和数据结构都是虚拟的,实现程序并不需要对实际资源进行

真正的访问。国内大多数高校都设置这类的实验[2]。这类实验不需特定的支撑

平台,教师避免了安装和配置支撑平台软件的工作,学生避免了花在熟悉实验平

台方面的时间,通常调试也更容易一些。而且教师可选择更广范围的OS概念来

分配项目。学生可以在任意计算机上使用任意程序设计语言来编程实现。

这类实验最大的缺点

文档评论(0)

172****0535 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档