金凤
摘要:文章阐述了操作系统原理课程在软件技术专业课程体系中的重要性,结合操作系统在实际工作中的应用情况,指出在传统理论教学中的不足。在此基础上,笔者提出了对课程教学内容和教学方式的改革措施。
关键词:操作系统;任务启发;进程管理
操作系统是计算机系统的核心和基础运行平台。操作系统的性能决定了整个计算机系统的性能;操作系统本身的安全可靠程度,决定了整个计算机系统的安全性和可靠性。因此,学习并掌握计算机操作系统的基本原理和操作方法,不仅对计算机相关专业的学生和研究人员是必要的,而且对一般计算机应用人员也是非常有益的。
1操作系统课程在软件技术专业课程体系中的重要性
软件技术专业的培养目标是面向IT行业,培养软件开发、软件测试、软件实施等工作的技术应用性人才。其中学生就业的一个主要方向是安卓开发,操作系统原理课程是学习LINUX操作系统和JAVA的前导课程。通过本课程的学习,要求学生理解并掌握操作系统的基本内容,掌握实现进程管理、处理机管理、文件系统和设备管理以及文件系统管理的各种原理和方法,掌握用户接口的使用方法,熟悉LINUx操作系统命令的使用。掌握操作系统的原理,将为学生以后从事应用系统开发奠定坚实的知识基础。
2传统教学内容和教学方式的不足
2.1教学内容缺乏在实践中的应用
传统的操作系统教学内容主要包括进程管理、作业管理、内存管理、设备管理和文件管理。本课程的前导课程为《C语言程序设计》和《数据结构》,要求学生能读懂程序,理解程序编写思想。本课程的后续课程为《JAVA程序设计》《LINUX操作系统》,为2门课程奠定进程、线程概念,有助于对操作系统控制命令的理解。
本课程主要侧重于理论的讲述,相对抽象,学生对知识点的掌握仅限于教材的范围。由于缺乏实践,学生普遍认为本课程抽象难懂。对于教材中出现的算法,学生仅能读懂,没有机会实际动手编写并查看运行过程。
2.2教学方式不能激发学生的学习兴趣
传统的教学方式采用课堂为主,多媒体或者板书授课的形式。教师讲解每节课的知识点,学生被动地接受。本课程属于理论性很强的课程,学生直接接受教学内容有一定难度。枯燥的教学方式没有激发出学生自学和参与的热情,对知识的理解能力也停留在表面。在后续课程的学习中,涉及操作系统知识点时无法正确地将其应用在算法设计中。
3教学内容和教学方式改革
3.1设定教学目标和教学内容
通过对近几年本专业毕业生的走访调查,软件开发岗位中涉及硬件知识开发所占的比例逐年增加。近几年操作系统技术不断更新,这就要求操作系统课程的授课内容也应该与时俱进,及时将理论知识与流行的操作系统相结合。课程教学中,让学生明确本课程在专业人才培养方案中的重要作用。课程内容的安排上注意与前导课程知识的衔接,培养学生阅读编写C语言算法的能力。在课程中引入现代操作系统的概念,结合软件开发过程中应用到的知识,如多线程、LINUX操作系统的思想和实现方法,为学生就业提供有用的、必须的知识积累。
3.2改革课堂教学的主体
传统课堂教学以老师为主体,采用教师授课、学生参与讨论的形式。采用这种方式授课,学生参与度小,无法激发学生的学习兴趣。为增加学生对抽象理论知识的学习热情,课堂上应转变教师为主的教学方式,采用以学生为主体的教学方式。教师根据教学任务,预先安排每节课的学习任务,学生通过查资料、自学等方式完成对学习任务的理解,课堂上由学生讲解预留的任务。充分激发学生的学习热情,培养学生的自学和解决问题的能力。
3.3改革教学方法
操作系统原理的课程内容性质包括理论讲授、算法执行过程分析、计算过程模拟。授课方式不能采用单一的多媒体或者板书形式。
(1)采用多种形式相结合的授课形式。理论讲授宜采取多媒体形式展示,电子教案制作过程中力求将抽象的理论采用丰富的页面和动画效果展示出来。计算过程不适宜采用多媒体形式,应结合板书,逐步推理出计算过程。算法部分需要提供运行环境,将算法的执行过程模拟出来。在授课过程中,应将几种授课方式有效地结合在一起。
(2)采用任务启发式教学手段。为提高学生对课程的学习兴趣,教学中采用任务启发式教学方法。根据课程内容采用教师主讲、师生讨论、学生讲解、教师学生讲评等授课方式。
授课过程中选取贴近生活的典型实例,通过引导学生对实例的分析,理解对应的原理。如进程调度部分内容,可例举如下实例:
一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。他有做生日蛋糕的食谱,厨房里有所需要的原料:面粉、鸡蛋、糖和香草汁等。在这个过程中:做蛋糕的食谱就是程序;计算机科学家就是处理机(CPU);做蛋糕的各种原料就是输入数据。
科学家阅读食谱、取来各种原料按照食谱的步骤烘培蛋糕的一系列动作的总和就是进程。进程切换的比喻:现在科学家的儿子哭着跑进来,说他的头被蜜蜂蛰了,科学家记录下其食谱做到哪儿了(保存进程的当前状态),然后拿出一本急救手册,按照其中的救治步骤处理蛰伤。这里,我们看到处理机(科学家)从一个进程(做蛋糕)切换到一个更高优先级的进程(实施医疗救治),每个进程拥有各自的程序(食谱和急救手册)。蜜蜂蛰伤处理完成之后,这位计算机科学家又回来做蛋糕,从他离开时的那一步继续做下去。
通过分析上述例子,引导学生找到其中包含哪几个进程;分析进程的执行顺序与优先级的关系;理解进程调度中现场保护的意义。
进程死锁部分讨论哲学家吃面问题和两个人过独木桥问题,通过讨论资源的排他性使用、不可剥夺使用、部分分配使用和互相等待4个条件,让学生充分理解进程死锁问题,并采用合理的方法解决。
(3)加强实践教学环节。传统的操作系统教学中,主要侧重于理论知识和概念的讲解,没有一个系统的实训环境和实训体系,使理论教学与实训教学相脱节。大部分实践教学侧重于算法分析和运行结果分析,没有真正地培养学生分析问题和解决问题的能力。
为加强学生对理论知识的理解和应用,需要根据实际情况确定合理的实践内容和过程。在本课程之后开设LINUX操作系统课程,实践课程的内容可结合后续课程安排。确定操作系统实训课程的两极模式:一级为操作系统原理主要模块的认识阶段,阅读几个主要功能模块算法的思想并查看运行结果。第二级结合LINUX课程,完成操作系统课程设计内容。在安排课程设计内容时,不仅要加深学生对操作系统算法的认识,同时要培养学生的动手能力和创新能力。
3.4改革考核方式
传统的考核方式主要考核理论知识的理解,考试形式主要为试卷。结合课程的性质,采取不同的考试形式,有利于对学生知识、能力情况的全面考核。设置期末试卷、课堂主题讨论和小论文3种形式的考核方法。试卷中分析题和论述题占主体,课堂主题讨论采用教师和学生打分的形式,论文主要考查对知识的运用和研究的前瞻性。
4结语
在《操作系统原理》授课过程中经过课程改革,提高了学生学习的主动性,培养了学生自学能力和创新能力,增强了算法分析和设计能力。在分组实践过程中,培养了学生的团队精神和组织协作能力。多方面的考核方式,增加了考试的公平和客观性,培养了学生去探索新知识的能力。