APP下载

Linux环境下操作系统课程实践教学模式探讨

2016-06-13符琦蒋云霞

当代教育理论与实践 2016年5期
关键词:操作系统实践教学

符琦,蒋云霞

(湖南科技大学 a.计算机科学与工程学院; b.教务处,湖南 湘潭 411201)



Linux环境下操作系统课程实践教学模式探讨

符琦a,蒋云霞b

(湖南科技大学 a.计算机科学与工程学院; b.教务处,湖南 湘潭 411201)

摘要:CDIO 是一种新型工程教育模式,它以项目开发生命周期为载体来培养学生的个人工程能力和团队协作能力。针对操作系统课程实践教学中存在的问题,提出了基于Ubuntu操作系统环境下,基于 CDIO 教学理念的操作系统实践教学框架,并以工程项目开发为教学中心,设计了操作系统实践教学课程相关实验内容,同时给出了具体案例分析,为实践教学的改革提供了参考。

关键词:操作系统;Ubuntu;CDIO;实践教学

CDIO (Conceive Design Implement Operate,构思、设计、实现与运行)是一种以工程教育理念和实施体系为基础的新型教育模式,这种模式以工程项目开发生命周期为载体来培养学生的工程能力,通过团队设计与创新实践的训练,达到“做中学”的教学目标,具有广泛的适应性和实践可操作性,有利于提高学生个人的终身学习能力与团队协作能力[1]。

操作系统课程是计算机学科的核心专业课程,主要讲授操作系统的设计与实现的基本原理和技术,而目前操作系统课程实践教学中仍普遍存在重理论轻工程能力培养的问题[2]。由于操作系统本身是一个抽象、复杂的软件,学生要完全理解其设计原理,熟练掌握其实现技术并不容易,主要存在以下一些问题:1) 基本概念和原理枯燥难懂,与实际应用相联系较少,学生对课程学习缺乏兴趣;2) 实践教学的内容较单一,难度和知识覆盖面不足,缺少设计性实践项目,不具备与学生互动的功能;3)课程内容容易滞后,与现有操作系统的发展成果存在脱节现象等。因此,在操作系统实践教学过程中引入CDIO工程教育理念,将需要掌握的课程核心内容以“项目开发设计”为教学中心,设计具有可扩展性的综合性课程项目,不仅有利于学生进行主动性学习,也有利于提升教师自身的教学水平和教学方法,达到良好的教学相长的效果,对计算科学科的理论教学和科研实践均具有重要的意义。

1基于Linux的CDIO实践教学模式

Linux 操作系统(如Ubuntu、CentOS、Fedora等)是经典的免费开源系统软件,具有极强的可定制性、可扩展性和实践性。因此,可考虑在该系统环境下,以CDIO理念为基础,对操作系统实践教学环境的相关内容进行设计与应用,在实际的操作系统环境中,巩固和提升学生对操作系统理论课程知识的学习与开发能力。

1.1Linux环境下的操作系统实践教学框架

作者采用目前主流的开源免费Linux操作系统发行版——Ubuntu(乌班图)作为操作系统实践教学的实验环境,该系统提供了GNU、Automake等一整套系统级与用户级开发所需要的开源、免费工具,从而为教师设计操作系统实践教学相关项目提供支持,同时也为学生在该环境下进行操作系统核心功能的学习与开发提供了保障[3]。Linux环境下操作系统实践教学框架如图1所示(其中的每个实践项目均包括了案例实验、综合实验和应用实验等部分),框架主要包括以下几个部分:

1)开源Linux操作系统层。该层主要由Ubuntu操作系统、开发工具和用于可自编译、自裁剪的Linux内核源码组成,主要为实现基于CDIO的实践教学提供软件环境支撑。

2)内核编译与定制子项目。该子项目主要便于学生了解Linux内核结构,掌握内核的定制与开发。为了简化操作系统内核编译时的复杂性和时间开销,采用了Linux较低版本的内核(如2.6.x系列稳定版)源码进行相关实践项目的设计与实现。最新版本的内核所带来的操作系统的新特性过于复杂,并不利于学生对核心操作系统功能的快速学习与应用。

图1 Linux环境下操作系统实践教学框架示意图

3)进程管理子项目。该子项目主要便于学生了解并掌握进程、线程的创建与调度、并发与同步等功能相关算法与机制的设计、实现与测试,并在此基础上灵活运用所学知识来设计并实现一些应用工具,如自定义Shell工具,具有网络访问能力的Shell工具等。

4)内存管理子项目。该子项目主要便于学生了解并掌握内存动态分区、基本分页、虚存分页等功能相关算法与调度机制的设计、实现与优化,并以内存管理工具等小型项目的设计与实现来巩固学生所学的理论知识。

5)文件系统子项目。该子项目主要便于学生了解并掌握常见文件系统的相关设计结构与调度算法,并能对现有算法进行改进与裁剪,并以此为基础来设计、实现简单虚拟文件系统和实际文件系统管理工具等应用项目。

6)设备驱动管理子项目。该子项目主要便于学生了解并掌握Linux环境下的设备(如字符设备、块设备、网络设备等)驱动程序的相关设计与开发、优化,以及磁盘I/O调度程序的开发等,同时设计并实现实际设备的相关管理工具,加强学生的工程能力。

1.2Linux环境下的操作系统实践教学案例

以简单Shell工具——MyShell子项目为例,为了解操作系统程序接口和命令接口的功能,掌握与之相关进程的创建、同步与通信,以Shell编程为基础,可以为学生设计以下项目内容:

1)项目功能说明设计:如MyShell应该能支持程序的后台运行、管道通信、重定向、路径与文件搜索、内置命令(如创建目录、文件,设置环境变量、启动与退出等)的使用等相关功能。这部分主要让学生了解软件需求说明的构成与撰写。

图2 MyShell项目功能框架示意图

2)软件总体结构设计:如图2所示,MyShell主要由交互界面、命令解析、内(外)部命令执行等几个部分组成,这部分将提供给学生相关的参考资料以了解功能实现必须的编程知识。

3)程序框架:这部分主要为学生提供MyShell项目的部分程序源码,如数据结构的定义、函数的定义,但去掉了部分核心功能的实现,这部分功能将由学生来设计与完成,并由教师最后进行测试,从而验证其结果的正确性,达到教学相长的目的。下面是MyShell项目的程序框架示例,MyShell项目工程文件主要由myShell.h和myShell.c两个项目文件构成,其中头文件(myShell.h)部分的主要项目功能由学生根据项目需求说明来进行设计与实现:

3结语

在开源的Linux系统软件环境下,通过引入CDIO教育理念,以提升个人学习能力、工程能力和团队协作能力为目标,来设计具有广泛适应性和良好可扩展性的操作系统实践教学项目,不仅提高了学生的学习积极性,也为操作系统后续课程(如嵌入式系统等)提供了扎实的理论和实践基础,同时也提升了教师的教育教学理论水平和技术手段方法,为理论与实践教学的有机结合提供了借鉴。

参考文献:

[1] Jianhua G U, Zhou X S, Zhiwen Y U, et al. Teaching Practice of CDIO in Operating System Course[J]. The 3rd International Annual Conference on Teaching Management and Curriculum Construction,978-988-16309-5-7 ,2012 (2):174-178.

[2] 詹晓娟,姚登举,周屹.CDIO教学模式在“操作系统”课程教学改革中的应用[J]. 黑龙江教育(高教研究与评估),2014(11):32-33.

[3] 杨瑞.CDIO理念在“Linux操作系统”课程中的应用[J].信息与电脑(理论版), 2015(10):102-103.

(责任校对龙四清)

doi:10.13582/j.cnki.1674-5884.2016.05.030

收稿日期:20151221

基金项目:2012年湖南省普通高等学校教学改革研究项目(255) ;2013年湖南省普通高等学校教学改革研究项目(240)

作者简介:符琦(1975-),男,湖南湘潭人,教授,博士,主要从事计算机应用技术研究。

中图分类号:G423.04

文献标志码:A

文章编号:1674-5884(2016)05-0100-03

猜你喜欢

操作系统实践教学
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究