胡 永,杜理明
(1.西藏民族学院信息工程学院,陕西咸阳712082;2.陇南师范高等专科学校计算机系,甘肃陇南742500)
从EN IAC的产生到当前最先进的计算机大都采用冯诺依曼体系结构,冯氏体系结构下计算机系统都由硬件系统和软件系统两部分组成.操作系统是对于裸机 (没有安装任何软件)的第一层扩展,是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件[1],是整个计算机系统的基础和核心,连接用户与计算机.有了操作系统的底层软件支撑,计算机才能以丰富多元的功能为用户提供各种服务.
《操作系统》是高等学校计算机学科各相关专业的核心基础课程,在培养计划中属于专业必修课,在学科知识结构中起着非常关键的作用.对它的理解程度将影响学生的专业水平及发展方向.本文就《操作系统》课程在教学研究中遇到的问题以及解决方案展开分析.
操作系统本身是一个复杂的系统软件,涉及计算机软、硬件系统的各个方面,从而导致课程理论性强且内容抽象,学生不太容易理解[2].作为计算机系统中更新最快的软件,随着计算机软硬件技术的飞速发展,操作系统的发展变化非常快,加重了学生的学习强度.目前学生普遍存在重技术轻理论的思想,大多都对《操作系统》等一些基础理论课程的学习不够重视.《操作系统》教程的基本结构多为操作系统的基本原理、五大管理模块以及对Unix或者Linux系统的分析组成[3],所以教师教学过程中也是重点偏向于理论教学,从而与操作系统实际使用的融合存在一定差距,导致学与用之间缺乏良好互动,使得学生感觉所学的内容与他们实际接触的系统存在较大的距离.由于《操作系统》课程本身的特点,需要前期课程如《高级程序设计语言》以及《数据结构》等底层课程的支撑,而部分学生在这一环节缺乏足够的知识储备及熟练掌握.
教学方法不够灵活,授课过程中教学手段比较单一,主要以课堂教授为主,对启发式、讨论式等教学方法较少采用,没有充分调动学生的主观能动性,忽略了学生的主体地位[4].
长期以来,国内教材几乎都是理论性较强,内容比较抽象枯燥且繁杂,容易产生理解上的误区,缺乏与前沿技术的结合,与计算机技术的快速发展不相适应[5].对于具体操作系统分析和设计的案例较少,容易使学生忙于记忆,而忽略了对问题实质的理解和掌握,学生的动手能力和创新能力没有得到重视.
学生缺少自己动手设计或剖析一个具体的操作系统实例的过程,参与研究性学习的机会有限,从而不能激发学生学习的兴趣[6].目前高校使用的《操作系统》教材多以Uinx作为实例来介绍分析多用户多进程并发处理的操作系统特征,首先Unix是一款商业软件其源代码不公开,从而很难构建实验环境;其次大部分教师也不熟悉U nix系统,导致授课过程中无法深入讲解[6].实验学时数较少,大多都在十个学时左右,有的学校甚至不开设实验课,导致实验部分的实现过程并不能真正达到课程实验大纲的要求.学生缺少理论与实践相结合的具体实现,大部分只掌握了一些基本概念,学习效果不太理想.
操作系统作为核心系统软件来说,没有常见应用软件那样直观,可以通过上机检查学生是否真正理解到软件的功能.其结构的复杂性与功能实现难以做到上机测试,只能凭借相关的模型作一些模拟实验,教学效果难以直观体现.学生对于《操作系统》课程的学习主要依赖课堂上教师的讲授,由于课堂教学时间有限,教师只能主要讲授基本的理论体系,而新的操作系统实现技术层出不穷,课余时间应该要求学生阅读相关最新资料,督促他们独立思考和进行自学,拓展知识面.
针对《操作系统》课程教与学中遇到的问题,结合课程特点,需要对《操作系统》课程的教学进行改进.可以从以下几个方面入手,引导学生正确学习,切实解决教与学过程中的实际问题,培养学生的实际能力.
操作系统是计算机系统中不可缺少的关键组成部分,是计算机硬件功能的第一次扩充,是所有其它软件的底层支撑软件,其性能在很大程度上决定了计算机系统整体的性能.在计算机类相关专业软、硬件课程的设置中起着承上启下的作用,也是计算机专业硕士研究生入学国家统一考试必考科目.
《操作系统》课程的教材种类比较多,合理选择教材对教学效果具有非常重要的影响.目前国内的教材主要分为三大类:第一类是由高校教师编写,如西电汤子瀛教授主编的《计算机操作系统》、清华张尧学教授主编的《计算机操作系统教程》等.这部分书籍多是一线教师上课经验的积累,理论讲解条理清晰也比较符合传统的教学思想;第二类是引进的国外权威教材翻译版,这类教材的优良取决于翻译者的专业水平和外语水平;第三类是国外权威教材英文原版,这类教材的选择取决于教师及学生的外语水平和理解能力.在教材选择中要兼顾教师和学生两方面,对教师做到知识体系结构清晰、方便教学;对学生做到便于课后自学且能指导其进行课程设计.建议选择第一类教材作为理论学习用,选择第三类教材辅助课程设计用.
《操作系统》课程理论知识的学习十分重要,在教学内容的选择上要注意体现课程的基本概念、理论及知识框架,力求体系完整且能有效培养学生科学的思维方式.随着计算机技术的不断发展,《操作系统》课程的教学内容要紧跟前沿技术发展,在课程知识体系结构完整全面的前提下要对授课内容进行合理增删,保持其结构和功能符合时代步伐,这需要教师翻阅大量资料且不断更新知识储备.
课堂教学是教师和学生沟通知识和技能的主要阵地,教学过程中教学方法的选择,教学质量的保证尤为重要.
理论教学过程中,重点和难点在于原理、基本内容、所选数据结构及相关算法的真正理解.因此课堂讲授中,应该将这些知识点和实际生活中我们比较熟悉的事物进行类比,在直观、形象的对照理解中帮助学生掌握相关内容.例如在学习用于进程互斥的公有信号量时可以将其类比为教室管理员;在学习生产者和消费者问题时可以将其类比为超市货柜和采购人员等等.授课过程中应该发挥学生的主体作用,调动学生自主学习的能力,整理部分知识点让学生自己思考,培养其学习的主动性和积极性,养成研究学习和自主学习的良好品质.
多媒体教学手段的使用在《操作系统》课程的授课过程中作用明显,能增强课堂的生动性,提高教学效果.教学过程中不仅要强调各项功能的实现,更应注重这些功能都是如何设计和实现的.CA I具有信息的大容量集成、精确可控、多媒体呈现等特点,可大大提高教学信息的传输效率,能调动学生的多种感官参与,激发其学习兴趣和积极心态.我们应充分利用这一新手段,尤其是那些用传统方式难以取得好的效果的教学内容,如图表、结构、模型、工作流程、情景模拟等[7].教师应该灵活选用教学CA I软件,制作优良教学课件,通过形象生动的演示在屏幕上展示各种抽象原理和算法的执行过程.需要师生双方互动理解的内容辅助一定板书,增加教师和学生之间的信息传递,从感性认识上升到理性理解.《操作系统》课程涉及大量案例,结合实验、实践环节,教师要构建案例库,加强案例教学,提高学生系统编程与内核模块设计的能力.
《操作系统》课程也是一门技术类学科,对学生的实践能力有较高的要求.实验环节可以说是《操作系统》学习中最重要的组成部分,对能否学以致用,进一步深入开展理论知识的应用起到关键作用.通过实验课程的锻炼可以加强教学活动中学生的实践环节以及动手能力的培养,鼓励学生积极讨论学习,检查学生对于相关知识点掌握的深度和广度,培养学生的创新思维能力和深入分析问题的能力,加强团队协作精神.
《操作系统》课程的实验环节主要包括验证性实验和课程设计两部分.学生应该在教师的指导下,结合所学理论知识及前期知识储备,做好操作系统接口、文件管理、进程管理以及存储管理四个基本的验证性实验.具体实现过程中一般通过上机实习的方式,采用某一种高级程序设计语言 (如C语言等),通过程序的编写和调试模拟实现进程调度、进程死锁、内存管理等.课程设计部分涉及的内容比较综合,往往需要团队的协同合作,如实现进程同步或互斥、进程通信、管道通信等.具体实现过程中应该采用分组实验的方式,2~4个学生为一组,教师提示基本思想、指定功能实现和完成时间,学生可以结合实验课时以及课余时间,查阅相关资料,定期和指导教师沟通设计思想及工作进度.教师对出现的问题要及时指导,对实验完成情况及时进行点评,对实验中暴露出来的薄弱知识点进行巩固.组织学生进行实验总结和交流,保证实验教学的质量.条件允许的情况下可以组织学生对源码公开的操作系统内核进行代码分析.
《操作系统》课程基本概念、原理非常多,理论掌握难度较大.实际教学过程中往往存在学生上课理解了,但下来后容易遗忘或者混淆概念的情况.需要及时巩固学过的内容,通过仔细推敲内容并辅以定量的作业温习所学知识点.教学过程中碰到难以理解的知识点的时候教师需要注意讲解,和学生及时互动,最好把问题在课堂上解决.面对迅速发展的计算机技术,教师在给学生传授知识、思想的同时,也面临着自身的知识更新,这就要求教师能够在把握《操作系统》课程整体框架的基础上,了解操作系统的最新发展,清楚教学知识点,明晰技术点和案例,及时更新知识结构.
提高教学质量是每个教育工作者不懈的追求,《操作系统》课程的教学改革是一个艰巨而复杂的过程,笔者结合自己讲授《操作系统》课程的体会,从教学方法、实验教学环节等方面谈了自己对于课程改革的想法,认为在传授操作系统理论原理的同时要力图给学生建立一个完整立体的操作系统架构,培养学生在系统软件开发方面的综合能力.确保课程达到相应的教学效果,发挥它在计算机专业学科体系中应该起到的作用.
[1] 张尧学,史美林.计算机操作系统教程 (第三版)[M].北京:清华大学出版社,2006:1-2
[2] 陈琳.《计算机操作系统》教学改革探讨 [J].中国教育研究与创新,2007,(04):5-6
[3] 汤子瀛.计算机操作系统 [M].西安:电子科技大学出版社,1999:12-17
[4] 季赛,岳键.《操作系统》课程教学改革的探讨 [J].气象教育与科技,2008,31(01):18-22
[5] 包向辉,尚晓丽.计算机操作系统教学方法的探讨与改进 [J].硅谷,2008,(22):145-145
[6] 李盛欣,龚德良.“操作系统”课程教学改革的探索 [J].计算机教育,2009,(12):40-41
[7] 马晓雪,姜佰东.应用CA I改变传统课堂教学方式 [J].河北北方学院学报:自然科学版,2007,(04):77-80