文志强 朱艳辉 朱文球 邓晓军
摘要:本文从“计算机操作系统”课程教学、实践教学等方面进行了探讨和实践,提出了优化课堂教学和加强实践教学方法,并从理论教学的角度进行了有益的探索。最后,结合具体实践阐述了如何引导学生正确看待课程学习的方法,为相关课程教学的改革提供参考。
关键词:操作系统;理论教学;实践教学
中图分类号:G642 文献标识码:B
1前言
“计算机操作系统”是计算机及相关专业的重要专业基础课,所有高等院校中的计算机科学与技术专业都开设了“计算机操作系统”课程,并作为专业核心课程给予重点建设。该课程教学的目的在于使学生掌握操作系统的基本概念、原理、方法和技术,掌握和应用操作系统,使学生既能熟练掌握理论知识,又具有较强的动手能力,为今后的学习和工作打下坚实的基础。“计算机操作系统”课程讲述一类系统软件的实现方法,具有概念多、理论性强、知识点多的特点,学生在学习过程中往往感到非常抽象和难以理解。随着计算机技术的发展,操作系统的功能越来越强大,不断涌现出各种新技术,同时,由于课时的有限性和教学内容的丰富性,因此,在教学活动中,如何尽可能清楚和全面地为学生讲解操作系统的特点和新技术发展趋势,对任课教师来说具有很大的挑战性。另外,现实中学生的各种观念,如“重技术轻理论”的思想,使得学生不重视对“计算机操作系统”等一些基础理论课程的学习,出现经常逃课的现象。最后,在实际教学环节中,由于实践的内容太难或实验内容太多,学生难以在课内完成,学生的动手能力和创新能力得不到有效的培养。学生感觉到所学习的知识在后续课程中很少涉及,学习积极性差等。针对此,本文从理论教学和实践教学两方面进行了深入探讨,目的在于提高学生的学习积极性和主动性,提高教学效果。
2优化课堂教学
2.1教学内容的选择
操作系统是配置在计算机硬件上的第一层软件,是对硬件的第一次扩充。其它所有的系统软件和应用软件都必须依赖于操作系统的支持。本课程主要从处理机管理,存储管理,设备管理,文件管理和用户接口的角度介绍操作系统的基本原理,并辅以Unix系统为实例进行介绍,以补充实践知识。
2.2教学方法与教学手段的改进
(1) 教学方法的改进
在教学中,充分发挥教师的主导作用和学生的主体作用,教师实行启发式教学,把培养学生学习兴趣作为入门向导,改变以教师为中心的课堂教学方式为教师控制下学生互动式课堂教学方式或师生合作探讨式课堂教学方式。在学生的学习过程中,做到有疑问、有思考,带着问题去学习,效果会更好,效率也高。以学生为中心的课堂教学模式,使教师由单一的知识传授者改变为学生学习的指导者,活动的组织者。积极不断地革新教学手段,重视现代信息技术和现代教育手段在教学中的应用。使多种先进的教学方法灵活运用,有效地调动学生的学习积极性,促进学生的积极思考,激发学生的潜能,加强对学生知识运用能力的考察。对课程中的难点我们开发了计算机辅助教学(CAI)课件帮助学生理解概念和算法。
(2) 教学手段的改进
“操作系统”作为一门理论性较强的课程,内容比较抽象而难懂,为了克服传统教学方式中的弊病,使用多媒体投影方式进行课堂教学。电子教案内容简明、重点突出、图文并茂,并穿插有自制的或调用的图形显示、动画演示等电子课件。清晰的大屏幕教学界面,教师不受讲课顺序的严格限制,可因材施教,自由往返某一讲课内容。也可以方便的插入各种图片及影音资料,这对突出教学重点,分析课程难点以及激发学生的学习兴趣和吸引学生的注意力起到了意想不到的效果。课后辅以在线作业与考试系统,目的在于使学生在课外能及时复习,通过练习达到对理论的理解;网上的在线辅导,使学生的疑问能随时、及时地得到解答。为让学生深刻理解操作系统的工作原理创造了良好的环境,使他们不仅具备扎实的专业理论基础,同时培养他们的实际动手能力。
3探索理论教学
在实践理论教学中,为了提高学生对“计算机操作系统”课程的认识,主要从以下三个方面进行了有益的探索。
3.1从资源管理者的角度
操作系统是软硬资源的控制中心,它以尽量合理有效的方法组织单个或多个用户(进程)共享计算机的各种资源并提供使用接口。包含三层含义:说明操作系统是资源的管理者,主要功能是组织用户使用各种资源,组织的方式是以接口形式提供服务。操作系统作为一个管理者如何来管理系统中的资源呢?使用类比的方法,如把操作系统类比为某软件公司的总经理,总经理为了人尽其才,首先要了解员工的特点:如员工的学历、专业、爱好和特长等,然后根据员工的特点安排恰当的岗位。总经理的人事安排是否合理的评价标准是公司是否稳定和谐,是否取得更大的经济效益。那么对于操作系统来说也很类似,操作系统根据各资源不同的特点安排不同的使用机制,如资源有两种共享使用的方法:时分和空分。时分就是指由多个用户(进程)分时地使用该资源,典型设备有处理机、I/O控制器、网卡。所谓空分是针对存储资源而言,存储资源的空间可以被多个用户(进程)共同以分割的方式占用,典型设备有内存储器、外存储器。而时分共享又有两种不同的使用方法,独占式共享使用和分时式共享使用。独占式共享使用指多用户(进程)分时使用,独占则表示某用户(进程)占用该资源后,执行了对资源的多个操作,使用了一个完整的周期,例如打印机的使用方式。分时式共享使用指用户(进程)占用该资源无需使用一个逻辑上的完整周期,例如处理机使用和磁盘的I/O访问方式。
教材所讲述的内容包括这几种资源共享使用方式。如处理机管理,需要让一个程序没有运行完毕就放弃CPU而让另一个程序占用CPU,因此需要对程序的运行过程进行描述,因此引入了进程的概念,从而产生进程的状态转换。而进程状态转换时需要有进程的切换和进程的调度。对于内存存储器的管理来说,主要涉及到三个问题:“取”、“放”和“替换”问题,在课堂上主要介绍“放”的问题,对于“放”来说,就有连续和非连续的问题,因此又有两类“放”的方法,连续和非连续方法。讲授时,主要体现存储管理的空分特点。设备管理主要管理除了CPU和内存储器以外的所以设备,设备种类多且复杂,因此需要对设备进行分类以便采取相应的管理措施。文件管理主要是针对外存储空间上的文件管理,管理方式与内存管理相似,但由于文件数量大,涉及到目录结构的问题。这样找出每一部分的核心内容,学生对整个教材有一个全面的理解,有利于每部分的教学。
3.2从软件开发的角度
“计算机操作系统”是一门理论性较强的课程,同时也是一门应用性较强课程。虽然教材中介绍了一些基本原理,方法和技术,但对于实际的操作系统(如Unix)来说,是一个系统软件,也就是说是一个很大的软件,涉及到软件开发的方方面面。另一方面,对于学生来说,前修课程只学过C/C++语言等,熟悉的程序都很小很短的,从没接触过大型的程序,学生对操作系统的了解只是停留在操作上。因此,对于操作系统的学习,是一个很好了解实际大型软件的机会,同时,也是一个理解大型软件开发过程的机会。于是,在授课时,我们融入一些软件开发的思想,让学生具有软件开发的概念。我们采用的如下方法。
(1) 要求学生了解Unix的源代码(不一定要看懂),让学生感受实际大型软件的魅力,了解实际软件与学生平时做作业时编写程序的区别。
(2) 在介绍操作系统类型时,融入用户需求分析的思想,使学生知道,不同类型适合于不同类型的用户。在设计操作系统时要深入调查和研究,挖掘用户的需求,用户的需求也是促进操作系统发展的一个重要因素。
(3) 在介绍操作系统体系结构时,可结合当前流行的体系结构来一起学习和比较,并结合具体的操作系统(Unix操作系统),来介绍系统设计、数据结构设计、算法设计和系统实现等。
3.3从技术发展的历史角度
“计算机操作系统”课程主要介绍操作系统的基本原理、方法和技术,这些方法技术都是从简单到复杂,从低级到高级演化发展。因此在讲授时,注重比较这些方法的优缺点,注重循序渐进,层层引导,最后介绍当前操作系统的新技术。比如存储管理的讲授,从连续空间的分配管理方法到不连续空间的分配管理方法(页式管理,段式管理,段页式管理),再到虚拟存储管理,最后介绍Unix操作系统、Windows操作系统的管理方式,这样给学生有一个很清晰的思路。
4强化实践教学
4.1实践教学的内容
“计算机操作系统”是一门实践性很强的课程,只有通过实践教学来加深学生对操作系统的理解,这是唯一的一条解决途径,也是很有效的途径。通过对操作系统某些很重要概念或技术的实验来加深对操作系统原理的理解,可达到事半功倍的效果。而“操作系统”课程实验是巩固前修课程所学知识,加深对软件的理解和认识的一个有效途径。课堂的讲解很抽象,经过实验以后,可达到升华的效果。为了加强实践性教学,我们在“计算机操作系统”课程中设有10个课时的实验,而且还增开了“计算机操作系统课程设计”。
“计算机操作系统课程设计”是在完成专业基础课和“计算机操作系统”课程的基础上,设计实际操作系统的某些功能,旨在加深对计算机操作系统原理的认识,初步掌握操作系统组成模块的功能及设计方法,提高工程设计和系统分析的能力,为毕业设计和以后的工程实践打下良好的基础。
课程设计的主要目标是:巩固和加深对操作系统原理的理解,提高综合运用本课程所学知识的能力;培养学生选用参考书、查阅手册及文献资料的能力,培养独立思考、深入研究、分析问题、解决问题的能力;通过实际操作系统的分析设计、编程调试,掌握系统软件的分析方法和工程设计方法;通过课程设计,培养学生严谨的科学态度,严肃认真的工作作风,和团队协作精神。
“计算机操作系统课程设计”包括以下六个方面:(1)进程管理演示;(2)存储管理系统设计;(3)编程序模拟银行家算法;(4)磁盘调度算法的实现与分析;(5)文件系统演示;(6)其他与操作系统相关的内容。学生从上述内容中选取其中一个进行课程设计,具体安排由指导教师给出,如果选择第(6)项,则需要经过任课老师的同意。课程设计的时间为一周,共24课时。课程设计的实验环境可选用Linux操作系统和gcc编译器,因为Linux系统的源代码公开,且提供大量的系统调用函数可供设计时使用;目前也有大量介绍这方面的书籍,可供学生方便查找资料。
虽然在课程设计之前给出了具体的设计内容,但设计的方法是多种形式的。不同的操作系统具有不同的设计形式,这样,学生可根据实际情况或自己感兴趣的内容进行设计。如进程管理的演示,每种类型的操作系统具有不同的表现形式,学生可选择其中一种,这就要求学生查找大量的资料,而且也可避免雷同的情形。除了指定的设计内容以外,学生可根据兴趣选择其他与操作系统相关的内容,如嵌入式操作系统的内容,设备驱动程序的设计等,同时,指导老师可结合科研的需要给出一些设计内容供学生选择。指导老师也可根据学生的兴趣和完成的情况,适当引导学生进行更深入的研究和实践,或成立兴趣小组,作为计算机作品来进行开发或作为毕业设计的内容。
4.2实践方法的探索
(1) 课程组织形式
对于实验来说,主要通过实验讲解和学生上机的方法来完成,每人一台计算机,且独立完成。对于课程设计,采用如下一些灵活的形式。
① 以分组的方式组织课程设计。按照一定的方式分组,每一组负责一个课程设计任务,并且每组设置组长负责课程设计内容的总体设计和组内任务分工,则内成员之间既是一种相互独立的关系,又是一种相互协作的关系。
② 以组长为中心的课程设计管理方法。组长相当于实际软件开发的项目经理。组长负责考勤、分工、主持组内讨论、总结汇报等,同时也负责部分设计任务。
③ 以竞赛的方式激励学生的积极性。负责相同课程设计任务的组之间开展竞赛,按时间的快慢,完成的程度,设计方法的优良来决定优胜,并给出相应的成绩。
(2) 教师指导方法
针对课程设计的指导,主要指导形式如下:
① 整体讲解,在开始课程设计之前,对每个设计内容、设计方法、设计步骤等进行整体讲解,给学生有一个整体影响和开始设计的思路。
② 参与学生的讨论,组长召开组内讨论,可邀请指导老师参与,指导老师可针对学生提出的问题或者讨论的结论给出一些指导性意见。
③ 组织组间讨论,将进行相同内容课程设计的组组织起来进行讨论和指导,主要讨论一些普遍存在的一些问题或者难点问题。
④ 疑难解答,单独指导,对于单个学生提出的疑点问题进行单独辅导。
5正确引导学生看待课程学习
“操作系统”课程在计算机专业的知识体系结构中占据着非常重要的地位,它既需要“微机原理”、“程序语言设计”、“数据结构”等课程的支持,同时为“软件工程”、“数据库原理”、“计算机网络”等课程的学习及软件开发技能培养提供知识保障和锻炼,是一门承上启下的课程。在授课过程中,可先介绍课程学习的前续课程和后续课程及共同回顾需要的已学知识点,如需要数据结构中的链表、队列、栈结构等方面的知识。另外,在实践过程中,特别强调与C语言程序设计、数据结构的结合。在讲授理论时,也会介绍某个方法的实现过程,以便学生能将学习的知识跟实践联系起来,提高学生对编程的理解。通过这种方式,在课堂上引导学生明白,对“计算机操作系统”课程的学习,不仅仅是学习新知识过程,而是一个综合已学知识及其应用的过程。
6结束语
对大学教师来说,教学是教师很重要的任务,为了完成教学任务,提高教学质量,对教学改革的探索与实践是很有意义的事情。教学改革不仅可以不断提高授课技巧、积累教学经验,而且还能获得学生、学校和社会的认可。本文从课程教学改革方面进行了一些的探索,这种探索由于经验和能力的有限,本身就不是很完善。本文的探索只是笔者在“操作系统”的教学过程中的一点心得体会,希望能与同行分享。
参考文献:
[1] 罗宇,邹鹏,邓胜兰. 操作系统[M]. 2版. 北京:电子工业出版社,2007.
[2] 刘乃琦. 操作系统课程的教学研究[J]. 计算机教育,2007(10):35-39.
[3] 郝继升. 计算机操作系统原理课程的教学探索[J]. 计算机教育,2007(4):9-11.
[4] 邓伟萍. 以人才需求为导向改进操作系统课程教学[J]. 福建电脑,2007(11):195.