APP下载

操作系统实验环节设置的探索

2015-05-08

实验科学与技术 2015年3期
关键词:源代码编程设置

黄 萍

(南京理工大学紫金学院 计算机系,南京 210046)

操作系统实验环节设置的探索

黄 萍

(南京理工大学紫金学院 计算机系,南京 210046)

操作系统是一门理论性强且概念抽象的课程,如何使学生掌握操作系统设计原理与实现技术的精髓,实验教学环节的开设显得尤为重要。文中介绍了一种新的操作系统实验教学设置方案,结合操作系统和嵌入式系统两门课程的内容,由浅入深地展开实验内容,先通过算法的模拟使学生加深对通用操作系统各功能模块的理解,再让学生对μC/OS-II操作系统的源代码进行阅读和调试。文中对实验内容的设置、实验开展过程以及最后的实验效果都做了较详细的阐述。

操作系统;实验教学;实验设置;μC/OS-II操作系统

操作系统是计算机及其相关专业的一门重要基础课程。该课程理论性强、概念抽象,如果单纯进行理论教学,学生会因为课程概念晦涩、原理复杂、内容枯燥而失去学习兴趣。为了使学生真正掌握操作系统设计原理与实现技术的精髓,培养学生的创新能力[1],很多高校都开设有相应的实验教学环节。

1 操作系统实验内容的层面

国内本科高校大致可以分为三个层次:应用型本科学校、工程型本科学校和研究型本科学校。针对不同层次的培养目标,应设计不同的操作系统实验内容。操作系统涉及的内容较多,相对应的实验层面有深也有浅,主要有以下四个层面,各层面依次由浅到深递进。

1)观察与使用层面

选择一个实际的操作系统(一般为Windows或Linux操作系统)作为实验环境,让学生观察操作系统运行某个功能的具体现象,以及使用操作系统包括对命令、系统调用和系统文件的使用,来体会操作系统原理的设计内容。这种方式只能看到系统的外部运行情况。为了让学生真正理解操作系统的内在原理,一些学校会在使用层面的基础上增加系统编程的实验内容[2-3]。

2)算法模拟层面

选取课程中的一些典型算法,如进程调度、内存分配、页面置换、磁盘调度等,让学生使用某种编程语言(如C/C++、Java)编程模拟实现。该类型的实验有利于学生在提高编程水平的基础上加深对操作系统理论的理解,但学生体会不到实际操作系统与计算机硬件的交互。

3)源码阅读级层面

通过对现有操作系统部分内核源代码的阅读,深入理解操作系统的设计原理。

4)系统设计层面

通过模块替换、功能扩展或独立开发等形式,让学生设计实现一些操作系统中的功能或者设计开发一款小型操作系统。这个层面的实验对学生的能力要求较高,国内一些知名高校,如同济大学[4]、清华大学[5]采用了扩展设计型实验。这种实验方式可以提高学生的自主能动性,但其工作量与难度很难把握,可能导致大部分学生无法完成而影响教学效果。因此,如何使实验环节既能很好地辅助理论教学,又能提高学生的实践水平,是实验教学教师不得不面对的问题。

在设计实验内容时,充分考虑了独立学院主要以培养应用型人才为主的特点,针对学生的基础和素质相对不足以及所开设的相关课程等各种因素,把理解操作系统基本原理、提高编程能力作为实验目标,设置了算法模拟与源码阅读相结合的实验内容。

2 实验内容设置

由于学院是应用型本科院校,因此,更注重学生动手能力的培养。计算机系分别在大三下学期和大四上学期开设了3个学分的操作系统理论课程及2个学分的操作系统课程设计课程。两门课程各有侧重,理论课选用了西安电子科技大学出版社出版的《计算机操作系统》(第三版)[6]作为教材,主要侧重基本概念及原理、设计基本思想的介绍,以课堂教学为主;操作系统课程设计以实验为主,共32个学时。以往开设的操作系统实验主要集中在利用Windows操作系统提供的接口进行系统调用编程以及算法模拟,经过多轮教学之后发现,效果并不理想。只有少部分真正感兴趣的学生能够学到东西,大多数学生反馈回来的信息是实验内容过于零散、抽象,学生希望能够把这些零散的实验内容整合到一个完整的操作系统中。因此,我们对该门实践课的教学内容进行了改革,重新设置了实验内容。

在重新设置实验内容时,充分考虑了知识体系的关联性与完整性,计算机系除了开设操作系统课程外,还开设了嵌入式系统课程,两门课程的教学内容是有一定联系的。因此,我们兼顾两门课程设置实验内容,实验内容由浅入深地展开,先通过算法的模拟使学生加深对通用操作系统各管理功能的理解,在此基础上,再对某一款简单实用的嵌入式操作系统的源代码进行阅读调试,让学生对操作系统有一个整体认识,同时,加深对嵌入式操作系统的认知。具体的实验内容见表1。

表1 实验内容

通过理论课与实践课的结合,学生先学习理论知识,进而模拟实现其中的算法,最后,进行完整操作系统的实验,实现了“抽象理解—感性认识—理性理解”的学习认知过程(理论课知识点与实验内容具体对应关系见表1)。在算法模拟阶段,主要选取了理论课讲授过程中每章要求学生必须掌握的算法来实现,做到原理讲授与实验环节紧密结合,使学生通过算法模拟,进一步掌握操作系统原理设计与实现技术的精髓。

在此基础上,结合嵌入式系统课程,选取了源代码开放、代码精练、适合于教学的μC/OS-II系统作为实验素材,由系统的内核开始,结合理论课所学的知识点分模块来阅读、调试代码,加深学生对整个操作系统的理解。

3 实验实施过程

在算法模拟阶段,实验侧重在系统功能的模拟实现。因为这门实验课的主要目的不是学习如何编程,而是要求学生掌握操作系统的基本设计原理,因此,简化了学生的编程工作量。每个模拟算法的基本程序框架以及所需数据结构事先给学生,但主要的核心功能函数需要学生在阅读程序及弄明白算法原理后补充完整,程序运行调试通过后再由教师当堂验收。这种方式可以有效预防学生课后抄袭实验报告。

在源代码阅读阶段,由于实验代码来源于《嵌入式实时操作系统μC/OS-II》[7]一书所附带的范例代码,只能在BC编译环境下编译测试,而BC是基于DOS开发的C/C++编译器,操作复杂,学生很难掌握如何编译测试μC/OS-II。而VC功能强大,用VC来调试运行μC/OS-II会使教学更加轻松,学生学习更加容易。因此,需要教师先对μC/OS-II做深入了解,摸清μC/OS-II中的功能结构后,将μC/OS-II源代码进行修改,使其可以在VC环境下运行。在代码发放前,还需教师给代码标注详细的功能注释,以便学生阅读。学生完成源码的阅读与调试后,需填写实验报告,由此加深对源码的理解。这部分实验虽然不需要学生自己编写代码,但是我们也鼓励学生进行深层次的学习,比如在该系统基础上进行一些系统功能调用编程。

4 首次实验效果的反馈与分析

采用课堂当场验收实验结果以及期末答辩方式后,学生到课率显著增加,同时,自己动手编程的学生数较以往明显增加。分析有以下原因:

1)从实验内容设置及实验过程看,相对于以前的学生自己编码实现转换,现在的代码填空以及代码阅读,难度降低,学生畏难情绪减少,在老师的引导鼓励下更愿意动手去实现;同时,将抽象的操作系统概念通过一个简单实用的小型嵌入式系统μC/OS-II展现出来,能提高学生的学习兴趣。

2)从实际效果看,由于学习兴趣的提升,使得大多数学生可以通过实验环节切实加深对操作系统中相关概念的理解,达到预期的教学效果。

以往的实验指导,教师大部分工作是在纠正学生的编程语法错误,调整实验内容以及实验方式后,教师的指导重心转变为系统功能设计以及实现技术的引导,更能契合这门课的教学目标。同时,由于大部分代码已经发给学生,学生只需要在理解的基础上把核心代码补全运行或者把源代码阅读理解调试即可,减轻了学生的负担,能让大多数学生在有限的实验时间内加深对操作系统知识的理解。

5 结束语

本文的实验内容设置总体符合学生的实际水平和培养目标,但在今后的教学实践中还应进行一些优化和调整,如将某些模拟算法移植到μC/OS-II中,或者在μC/OS-II提供的编程接口做一些功能扩展等,以便在认识理解操作系统的基础上进行系统功能的修改或扩展。

[1]赵洪霞,鲍吉龙,丁志群,等.在实验教学改革中培养学生的创新能力[J].实验科学与技术,2009,7(1):91-92.

[2] 谢谦,蔡坤,沈夏炯.一种面向应用的操作系统实验设置[J].计算机教育,2012(20):107-110.

[3] 赵俊生,寿永熙,马志强,等.操作系统课程改革与建设的研究与实践[J].内蒙古农业大学学报:社会科学版,2010(3):165-167.

[4] 何宗键,张惠娟.基于Windows内核的操作系统课程实验平台设计与建设[J].计算机教育,2009(14):139-140,148.

[5] 陈渝,向勇.操作系统课程实验教学探讨[J].计算机育,2009(14):135-136.

[6] 汤晓丹.计算机操作系统[M].西安:西安电子科技大学出版社,2007.

[7]Jean J Labrosse.嵌入式实时操作系统μC/OS-II[M].北京:北京航空航天大学出版社,2003.

Exploration of Operating System’s Experiment Design

HUANG Ping

(Department of Computer, Nanjing University of Science and Technology Zijin College, Nanjing 210046, China)

The operating system is an extremely abstract and theoretical course. In order to make students master the essence of the design principle and implementation technology, experiment teaching seems particularly important. This paper experiments with a new operating system experiment teaching method. The experiment combines content of operating system and embedded system, from the simple to the profound, harness algorithm simulation to help students have a deeper understanding of the operating system modules, and then let the students read and debug the source code of μC/OS-II. This paper expounds in detail content, process and results of the experiment.

operating system; experiment teaching; experiment design; μC/OS-II operation system

2014-05-05;修改日期: 2014-06-08

黄 萍(1982-),女,硕士,讲师,研究方向:图像处理,模式识别。

G642.423

A

10.3969/j.issn.1672-4550.2015.03.037

猜你喜欢

源代码编程设置
中队岗位该如何设置
基于TXL的源代码插桩技术研究
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
软件源代码非公知性司法鉴定方法探析
基于语法和语义结合的源代码精确搜索方法
揭秘龙湖产品“源代码”
本刊栏目设置说明