操作系统课程群建设的研究与实践
2014-07-16李艳李劲
李艳 李劲
摘要:在对我校原有操作系统课程教学不足分析的基础上,提出了普通高校操作系统课程群建设的思路,并详细介绍了湖北民族学院建设操作系统课程群的具体方案和实践效果。
关键词: 操作系统;课程群;教学改革
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)14-3344-02
Abstract: Based on the analysis of the inadequacies of the existing teaching operating system, the construction of the operating system course group in common universities is proposed.The specific scheme of the construction of the operating system course group and its practical effect in hubei university for nationalities are introduced in detail in this paper.
Key words: opreating system; course group; teaching reform
1 概述
操作系统是计算机系统的核心和灵魂,是计算机系统必不可少的重要组成部分,因而操作系统课程成为计算机相关专业的必修课[1]。操作系统课程在专业课程体系中处于承上启下的关键位置,是计算机相关专业教学的核心内容。但长期以来,操作系统课程的教学以操作系统原理教学为主,局限于操作系统的基本概念、基本理论和实现技术,教学内容较陈旧。在教学中不太重视典型的操作系统实例,如对Linux和Windows等操作系统的分析,使得学生很少有机会去了解、实践操作系统的内部结构和实现技术,不能真正进入到操作系统内核进行实际动手研究和理解。
操作系统课程教学改革已势在必行。我校是普通本科院校,照抄国内一流高校的操作系统课程教学模式并不适合,有必要结合我校计算机专业培养目标建设更为合理的操作系统课程群。
2 原有操作系统课程教学分析
我校原有操作系统教学包含两门课程,分别是操作系统原理和操作系统课程设计。
操作系统原理课程总计56学时,其中理论课44学时,实验课12学时,在第4学期开设。该课程主要讲授操作系统的基本理论和实现技术,内容包括操作系统概述、处理机管理、存储管理、文件管理和设备管理。教学中以操作系统基本理论为主,零星穿插介绍Linux和Windows的实现技术,如Linux进程状态、伙伴算法、FAT32,Linux文件系统结构等,由于课时有限,对Linux和Windows的分析不可能深入,更没有系统性可言。为了弥补理论教学对典型操作系统实例分析的不足,课程实践环节以Linux系统为环境,开设操作系统实验,实验内容包括Linux的shell、系统调用、进程管理、进程通信、存储管理等。由于学生没有系统学习Linux,所以这些实验都是属于观察和验证性实验,学生仍不能深入操作系统内核。
操作系统课程设计是操作系统原理课程的延伸,在第5学期开设,学生会集中一周时间进行操作系统课程设计。课程设计以两人为一组,合作完成一个操作系统课题,如实现生产者-消费者问题,实现一个简单的文件系统等,使学生能够理论联系实际,更加深入理解操作系统的主要功能模块工作原理和实现算法。
通过以上分析,可以看出原有操作系统课程存在以下不足:
1) 课程结构不合理,课程教学以操作系统理论为主,缺乏对一种具体操作系统的分析,这样学生一方面不能深入操作系统内核理解操作系统技术,另一方面学生基于Linux和Windows平台的程序开发能力得不到提高。
2) 课程实验内容较单一,主要是观察和验证性实验,缺乏层次性、系统性,不利于学生实践能力和创新能力的培养。
3) 我校属于普通高校,计算机专业的培养目标是培养应用性工程技术人才,原有的操作系统课程设置显然不能很好的实现这一目标。
3 操作系统原理课程群的构建
原有操作系统课程设置存在很多问题,所以我校从2009年开始进行操作系统教学改革,根据学校定位和专业培养目标,逐渐构建了合理、科学的操作系统课程群。
改革后的操作系统课程群按开设的先后次序分别为操作系统原理、操作系统课程设计、Linux原理与实践、Windows原理与实践等四门课程。各门课程的开设时间和学时安排如表1所示:
改革后操作系统教学不仅仅停留在操作系统原理教学,还深入Linux操作系统和Windows操作系统内部,对其进行分析,并配以相应的实验教学,整个课程内容更具有系统性和科学性。操作系统教学改革后采用由浅入深,循序渐进的思路,使学生对于操作系统的学习从基本理论、实践到应用能够融会贯通,真正掌握操作系统的内容,加强了该课程课堂教学效果,提高了教学质量和人才培养质量,并能提高了学生基于Linux和Windows平台的开发能力,增强了学生实际动手能力。
4 操作系统课程群各门课程教学内容
依据课程群建设的思路,需协调各门课程的课程的教学内容,修订各门课程教学大纲、实验大纲、考试大纲、教案、课件等相关教学资料。改革后各门课程理论教学内容和实践环节前后衔接,循序渐进,知识结构更具系统化。下面分别介绍操作系统课程群中各门课程的教学内容。
4.1 操作系统原理课程教学内容
操作系统原理课程讲授操作系统的基本概念和基本理论,内容涉及操作系统基本概念、进程管理、进程调度、进程同步与通信、进程死锁、存储管理、设备管理、文件系统等内容。endprint
4.2 Linux原理与实践课程教学内容
Linux原理与实践课程主要讲授Linux系统的基本原理和实现技术,内容主要包括Linux系统进程控制和调度,内存管理,虚拟文件系统,设备驱动等。讲授该门课程时既要注意与操作系统原理课程的衔接,也要避免内容重复。
进程和线程的概念,无论在操作系统原理课程还是在Linux原理与实践课程中都是非常重要的概念,在两门课程教学中要详略得当。在操作系统原理课程教学中应该把二者深入讲解,而在Linux原理与实践中则应点到为止,应重点讲授Linux进程调度的原理,分析调度函数Schedule()的实现,另外还应讲授了与进程有关的系统调用和编程。
内存管理模块主要讲授Linux进程用户空间的管理,请页机制,伙伴算法,Slab分配模式,Linux交换机制。
Linux文件系统主要讲授Linux文件结构,虚拟文件系统,文件系统的注册、安装和卸载,Linux文件系统调用的实现和编程。
设备驱动模块主要讲授了设备驱动程序的基础,字符设备驱动程序和块设备驱动程序的框架。
4.3 Windows原理与实践课程教学内容
Windows是目前主流的操作系统之一,Windows原理与实践课程主要讲授Windows操作系统的基本原理,详细分析Windows操作系统的进程管理、内存管理、消息机制和驱动开发原理和设计,并在教学中通过详细的例子引导学生系统地学习Windows操作系统的工作原理与程序设计技术,并通过程序设计实践强化对Windows操作系统的理解和应用。
5 操作系统课程群各门课程实践环节
操作系统不仅是理论性很强的计算机专业基础课,而且具有很强的实践性。要深入理解操作系统的精髓,亲自动手参与实践是非常重要的。通过操作系统实践教学,将抽象的操作系统概念及原理,形象化地传授给学生,让学生分析理解Linux操作系统和Windows操作系统,紧跟飞速发展的操作系统技术。
操作系统课程群实践环节包括3门课程的配套实验和1门操作系统课程设计,建立起了多层次的实践教学体系。
操作系统原理实践教学环节与理论教学内容紧密相连,采用高级语言编程模拟实现操作系统中的关键算法,如模拟多种进程调度算法、模拟银行家算法、模拟可变分区分配算法、模拟各种页面置换算法等。通过这些实验加深学生对操作系统的工作原理和实现算法的理解,也提高学生利用所学高级语言编程解决实际问题的能力。
操作系统课程设计是强化学生基于操作系统的应用开发能力的重要手段。拟定5至8个操作系统的综合性实践课题,2名学生一组,选择一个课题,在一周时间内完成。通过操作系统课程设计环节培养了理论联系实际、自己动手解决问题的能力,获得了项目管理和团队协作的经验。
在Linux原理与实践的实验环节中,结合Linux理论教学内容设计了基于linux的主题实验,实验部分共分为以下几个部分:Linux系统管理、Linux进程控制、Linux模块编程、Linux下Pro文件系统编程和Linux下简单驱动实践。实验部分基于Linux内核,且各个单元具备延续性。通过此实验教学环节加深学生对于Linux操作系统的理解,并且掌握基本的Linux内核编程技能[2]。
Windows原理与实践的实验环节是基于Windows环境的程序设计,强化编程实践能力,实验包括以下内容:Windows界面程序设计、图形编程、多线程程序设计、内存管理程序开发、动态链接库、WDM驱动程序开发。通过实验教学加深学生对于Windows操作系统的理解,并且提高了学生的编程能力。
6 结束语
操作系统是计算机相关专业最为重要的核心专业课程之一,原来比较单一的操作系统原理课程已不能适应人才培养的需求,必须对其进行改革。经过几年的摸索,我们构建了操作系统群,形成了比较完整的教学体系。从近几年实践来看,取得了良好效果,学生的知识结构更加系统化,不仅深入理解了操作系统的基本概念和基本原理,也掌握了主流操作系统Linux和Windows的管理和编程,提高了应用技能,增强了就业竞争力。
参考文献:
[1] 孙钟秀.操作系统教程(第4版)[M].北京:高等教育出版社,2008.
[2] 胡涛,王婷,罗浩珈,朱黎. Linux 课程群建设研究[J]. 计算机教育,2011(8):69-72,79.
[3] 李翠霞,谭营军. 应用型软件专业操作系统课程的教学探索[J]. 计算机教育,2010(20):69-71.
[4] 林荫,苏兵. 应用型院校操作系统课程实验教学设计[J]. 电脑知识与技术,2011,7(13):3216-3217.endprint