首页 > 范文大全 > 正文

“操作系统”课程实验设计的思考

开篇:润墨网以专业的文秘视角,为您筛选了一篇“操作系统”课程实验设计的思考范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

文章编号:1672-5913(2008)12-0120-02

摘要:“操作系统”是必修的专业基础课,实验课设计的好坏对于学生能否真正掌握这门理论性很强的课程非常重要。本文结合笔者多年的实验课程设计的经验,探讨了如何提高师生的积极性,让学生真正掌握这门课程的方法。

关键词:操作系统;实验设计;课程设计

中图分类号:G642

文献标识码:B

“操作系统”课程是公认难教难学的课程,难教的原因是其理论性强且比较抽象,内容多且比较散杂。难学的原因是理论与实践脱节、看不见摸不到,较难理解和掌握。因此,传统的“重理论,轻实践”的教学模式已不满足师生的要求。合理的设计实验课将对教学起到事半功倍的作用。本文结合多年的实验教学经验探讨如何才能更合理的设计操作系统的实验课程,提高实验教学的质量,培养学生的实践能力和创新能力。

1用Windows和Linux做相同实验

考虑到学生对Windows操作系统比较熟悉,因此为了让学生能习惯Linux平台,在设计实验时可用Windows系统作为引子抛砖引玉,这样即能同时熟悉两个系统的操作又能加深对操作系统的理解。例如在第一次实验课、先要求学生启动Windows 2000命令解释器Cmd.exe,并在这个命令模式下进行相关命令操作如dir、del、cd、date、telnet、ftp等,并在图形界面上观察操作结果。然后再让学生进入Linux平台作相同功能的命令操作。这样在不同操作系统做相同的操作,在不断相互比较中掌握不同操作系统的基本操作,使得认识学生更能认识操作系统能做什么不能做什么。

在一些实验环节中加上有趣的东西,可引起学生对这门课的学习热情。例如在实验命令时,设计一个简单的C语言调用外部程序shutdown.exe关机程序,实现简单的注销和关机的程序,然后用shutdown.exe -a取消关机。再给出shutdown的参数说明让学生自行实验。

程序如下:

main()

{

system("shutdown -s -t 3600");

}

这个实验虽然程序简单但因运行结果会弹出一个显示离关机时间还有多少秒的窗口,这和前几年系统中了冲击波产生的对话框一样。学生在通过对这个简单程序的运行调试,一下子觉得学习操作系统是很有趣和很有用的。与此同时老师可以提出一些问题让学生在课后思考,例如病毒和木马是如何攻击操作系统使之瘫痪的?如何终止正常的进程?为什么病毒进程无法被终止?因为提的问题切合实际应用,所以学生在上完实验后很乐意去思考和查找以上问题的答案。有的同学还选这些题作为毕业设计的内容。实践证明,如果在实验中设计1/4贴近实际应用的知识,会很大程度提高学生做实验的兴趣,学生会更乐于去动手找出解决的方法。以上对实验的安排,相对于让学生死板地按部就班学习Linux系统要容易接受得多。

2总体把握操作系统的内容,实验课程自成体系

教师在设计实验时应先做一个总体规划,以实际实验环境设计为基础来设计实验内容,而不是单纯依附于理论课。首先要确定学生应将这门课程学习到什么层次、做几次实验,先把每个重要知识点作为阶段性的实验目的,然后将分散的相关知识点组织成线,再到面。实验也要贴进课本使教学双方随时知道实验针对的理论知识点,并能找到它在整门课程知识体系中的准确位置,及与其他知识点的清晰联系。点线面的教学方法遵循了教学的基本规律。

在实验设计中为了能让学生更进一步的理解理论知识。实验课的设计不应只停留在检验理论知识的基础上,而应该在每个阶段的实验中分级分层,从基础到综合,再到设计与创新。所以必须做3个层次的实验。

(1) 观察性实验或验证性实验。这是一个实验开始的基础部分,也是和理论课联系较大的,是对理论课或新操作系统的初级使用,所以不应在上完理论课后再去做实验,而应先做实验后上理论课,这样理论课的授课才不会显得太空。这种实验看情况而定,一般安排在每一阶段实验开始的第一、二次实验中,这样能让学生尽快熟悉新操作系统的操作。只有在学生掌握了相关的基础操作后,才能为后面的设计性实验做好铺垫。例如,学生必须先学习如何在Linux的vi编辑器中用GCC编译程序,才能进行C语言的编程。这些都是这门课的实验基础,所以必须安排一次课让学生熟悉它。

(2) 设计性实验。这是实验中最重要的内容,用以培养学生的设计能力和独立思考的能力。如果设计过多的观察性和验证性实验,势必造成学生误认为本课程没有什么深度难度,因此不深入思考,造成实验报告内容雷同。所以实验课中必须至少有一个设计性实验,难度也要设计合理,既要留给学生思考的空间,也要让学生有能力完成。例如在进程创建、撤消、同步、互斥、通信实验中,要求学生用C语言调用相关的函数设计其中一种状态。

(3) 综合性实验或研究性实验。不仅能验证学生掌握知识的程度,而且能培养学生的自学能力和创新能力。尽管这种实验的难度较大,但在实验设计中必须包括这种实验。因为只有让学生带着问题,做实验才有效果。教师可以在学期开始先给出几个这样的实验问题并分组自选,然后在后来涉及到的时候就提醒学生注意,让学生带着问题不断探索、不断总结,最后自行完成。例如在做进程管理实验前,让学生思考如何编制一个程序来模拟一个简单的进程管理系统,或者让学生思考关于病毒进程是如何隐藏于OS中并能让用户无法终止的。又例如在内存管理实验阶段,让学生思考为什么系统有时出现内存不能读的现象,以及如何合理设置虚拟内存的问题。在学生通过对进程和内存管理的学习后还是无法完成的情况下,教师应可以引导他们去参考相关的书籍,这样学生会更乐于思考。

3师生共同挖掘教学资源

设计一些更具体的实验内容,为后面的教学工作能不断发展打下基础,同时提高教师的教学和实验水平。例如,可以将上一级学生完成或未完成的实验放到下一级学生手里,让其进行改进或修改完成。例如在设备管理实验中,书中大多是观察性实验,这样只按书本要求做实验学生会很没有耐心。有一组同学对USB驱动很感兴趣,因此我就给他提供相关的书目和网络资料。后来这组学生通过相关知识的学习,尝试用WDM(Window Driver Model)开发了一个简单的USB驱动,虽然因时间关系未能完成。但在此过程中他对操作系统设计思想有了新的认识,同时也给老师提供了很多这方面的相关信息,也从中受益匪浅。

4结束语

以上是本人在操作系统实验教学中的一点体会,但笔者总体感觉想真正上好这门课对教师本身也是一个挑战,如何培养出理论知识扎实,动手能力强的人才,还有待进一步的探索。

参考文献

[1] 宋广华等. 边学边干:操作系统课程教学改革的探索与实践[J]. 计算机教育,2007,(7).

[2] 高宝立. 论大学生创新精神和创新能力的培养[J]. 江苏高教,2003,(4).

[3] 刘乃琦等. 电子科技大学计算机操品课程建设[J]. 计算机教育,2006,(7):17.

[4] 孟静. 操作系统教程――原理和实例分析[M]. 北京:高等教育出版社,2001.