操作系统原理课程的沉浸式课堂的设计与实施
2019-07-03徐曼殷脂徐建平
徐曼 殷脂 徐建平
摘 要:本文针对操作系统原理课程教学中存在的教学内容抽象、学生理解困难,教学方式单一、学生缺乏学习兴趣等问题,提出以操作系统的资源管理的本质特性为出发点,设计以课堂教学中存在的管理任务为主要实践内容的沉浸式课堂,学生在实施课堂管理任务时学习、实践操作系统原理的基本概念、原理和方法。在此基础上,为了进一步提高学生的创新能力和实践能力,利用TRIZ体系中的资源分析法对沉浸式课堂进行了优化。教学实践表明,沉浸式课堂的实施有效地增强了学生对于操作系统原理知识的理解,提高了学生学习的兴趣,培养和锻炼了学生的创新能力和实践能力。
关键词:操作系统;沉浸式教学;TRIZ
中图分类号:TP33 文献标识码:A
Abstract:Aiming at the problems of abstract content,difficulty in understanding,single teaching method and lack of interest in learning,this paper puts forward the design of immersion classroom for the operating system principles course,based on the resource management features of operating system.The immersion classroom is designed with the existing management tasks in classroom teaching as the main practical content.Students learn and practice the basic concepts,principles and methods of operating system principles when implementing classroom management tasks.On this basis,in order to further improve students' innovation ability and practical ability,the immersion classroom is optimized by using the resource analysis method in TRIZ system.Teaching practice shows that the implementation of immersion classroom effectively enhances students' understanding of the operating system principle knowledge,improves students' interest in learning,and cultivates and exercises students' innovative ability and practical ability.
Keywords:operating system;immersion teaching;TRIZ
1 引言(Introduction)
操作系統原理是计算机科学与技术、计算机应用、信息安全和软件工程等相关专业的专业核心课程,对于建立学生的计算机系统思维、提升编程的效率等具有非常重要的作用。操作系统原理的教学内容包含大量抽象的概念、原理和算法,传统的教学方式是由教师讲授,学生被动学习,教学内容的抽象和教学方式的单一导致学生感到操作系统原理枯燥,学生缺乏学习的兴趣和积极性;同时,这种教学方式使得学生产生“操作系统原理课程实用性不强”的错误认知,学生学习被动,学习目的仅仅是为了应付期末考试。新工科建设提倡提升学生的工程实践能力,国际工程教育认证提倡以能力为导向的教育理念,操作系统原理课程的教学和学习现状显然与其不符[1]。
针对上述问题,分析操作系统课程的特点,我们发现操作系统本质上是管理的科学。我们抓住“操作系统是计算机资源的管理者”这个操作系统的基本特性,把课堂的资源和计算机资源作类比,从中抽取出需要管理的资源,设计各种课堂管理任务,分配给学生完成,这样学生可以在对课堂任务的管理中体会计算机资源管理的各种功能和算法。在教学设计中,教师对课程的管理也为学生提供了资源管理的示范。我们把这种课堂称为沉浸式课堂。由于在沉浸式课堂中,学生需要调动各个感官完成课堂管理任务和学习任务,学习的效果要优于传统的通过阅读、听讲学习的方式。
为了进一步提升学生的创新能力和实践能力,在创新理论和方法TRIZ的资源分析法的指导下,我们对课堂设计进行进一步优化。教学实践结果表明,基于TRIZ的沉浸式课堂的实施调动了学生学习的积极性和主动性,提升了学习效果,可以有效地提高学生的创新能力和实践能力,符合新工科建设的要求和国际工程教育认证的理念。
2 操作系统课程的本质特性(Essential characteristicsof the operating system course)
2.1 三大主线
在长期的操作系统教学实践中,我们总结出操作系统课程的三大主线和两个核心概念。
第一条主线是操作系统的功能。计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。从一般用户的观点,可以把操作系统看作是用户与计算机硬件系统之间的接口;从资源管理观点,则可把操作系统视为计算机系统资源的管理者[2]。国内外的经典的操作系统教材都是以操作系统对各种资源的管理为编目的依据和标准,分别从处理机管理、存储器管理、设备管理和文件管理阐述操作系统的原理,操作系统就是资源管理器,操作系统的设计目标就是提高资源的利用率和为用户提供友好的接口[2-4]。因此,操作系统本质上来说是管理的科学。
第二条主线是操作系统的实现。操作系统作为配置在计算机硬件上的第一层软件,其本质上是系统软件,因此可以从软件设计的角度学习操作系统。从操作系统的编程实现的角度研究操作系统,操作系统由两大部分组成,数据结构和算法。对于任意一种资源管理的实现,都是要设计相应的数据结构来描述资源,设计相应的算法来对资源进行控制和管理。
第三条主线是一个进程的生命周期。可以从一个进程的视角,研究操作系统如何对一个进程在一个完整的生命周期中的各项活动进行管理,如何对其使用到的资源进行分配和回收,以及如何对于进程和其他进程之间的关系进行协调和控制。
2.2 两个核心概念
两大贯穿始终的概念,包括时间与空间、逻辑与物理。抛开操作系统管理各种资源的细节,我们把操作系统管理的计算机资源分成两大类,一类是时间资源,例如,进程管理、线程管理都是对处理机的时间进行分配和管理;另一类是空间资源,例如,内存管理是对内存空间的管理,磁盘管理是对磁盘空间的管理,文件管理是对文件存储的物理空间的管理等。为了提高管理的效能,经常会在时间和空间两个要素之间做平衡,有时候是在用时间换取空间,例如,虚拟存储有时候是在用空间换取时间,例如,页式存储管理中的快表的使用。
学习操作系统时,我们经常会用两个不同的视角,一个是用户的视角,从用户视角所观察到的称为逻辑的,例如逻辑地址空间、文件的逻辑结构等;另一个是系统的视角,从系统视角所观察到的称为物理的,例如物理地址空间、文件的物理结构等。
3 沉浸式课堂的设计(Design of immersion classroom)
从学生的角度来看,操作系统概念多、原理多、算法复杂,并且抽象。但是,从我们长期的教学实践来看,操作系统的知识脉络很清晰,由以上总结的三大主线和两个核心概念组成,其他的概念都围绕着它们展开。如果学生能够较容易地理解操作系统的知识脉络,将会极大地提升学习的效果。而我们总结出来的主线和概念不是抽象的,是和我们的生活和学习密切相关的、是具体的,每个学生都会遇到时间管理和空间管理的问题。
为了让学生对于管理有更深切的体会,在学生和教师之间建立共同的语境,我们把课堂管理作为课程教学的沉浸式的实践环节,把操作系统课堂设计成为需要学生完成多项课堂管理任务的课堂,学生沉浸在各种课堂管理任务中,时刻会遇到与操作系统资源管理相似的资源管理任务,操作系统课程中学习到的各种算法可以随时应用到课堂管理任务中。
3.1 课堂自主管理
我们在课堂活动中,挖掘出多项课堂管理任务,在学生中成立课堂管理任务小组。课堂自主管理小组的设置如表1所示。
每一个小任务都可以类比为操作系统中的一个程序,而每节课每个课堂管理任务的执行就是一个程序的执行,即进程。因此,进程管理中的很多概念和算法可以渗透进去。例如进程的创建、执行、撤销、阻塞,进程的同步、进程的互斥、进程的死锁。
此外,在任务的执行过程中,会遇到各種需要解决的问题。例如,小组成员的调度问题。小组有多个成员,每次的任务由谁来完成,需要进行调度,那么如何进行调度呢?进程管理中我们学习到很多种调度算法,学生可以尝试使用这些调度算法来解决小组成员的任务调度问题。由于这些课堂管理任务都是额外的,所以需要学生具备很强的时间管理能力,有很多事要做,先做什么再做什么,有长任务、短任务,如何平衡,也可以使用进程调度中学习到的调度算法。
课堂管理为操作系统教学提供了学生和老师,以及学生和学生之间可以交流的共同的语境。教师可以在讲授操作系统的理论时,使用课堂管理任务作为例子,由于有过管理实践,学生很容易心领神会。学生也可以在课后运用操作系统课程中学到的算法,提升课堂管理的效率,从而更好地理解操作系统的算法。
3.2 学习管理
组织学习管理小组,让学生主动地有意识地对自己的操作系统课程的学习进行管理,学习管理小组的设置如表2所示。
课堂回顾组 课后对知识点进行总结、归纳和拓展,上课时带领全班同学进行上一节课的课堂内容回顾课堂回顾组由多名同学组成,负责在课后对课堂学习的内容进行总结和拓展,在下一节课上课前带领全班同学进行课堂内容的回顾。学习是教师和学生共同参与的活动,传统的学习方式是教师从教师的视角讲授知识,由于教师常年多次讲授,会认为所讲知识简单,学生很容易接受;学生进行课堂回顾,可以让教师得以从学生视角看到学生对知识的掌握程度,以及学生的关注点等,是一种非常及时的对于教学的反馈。
而操作系统原理的学习也需要学生经常站在用户和系统两个不同的视角学习,课堂回顾的设置为学生提供了不同的视角看同一个问题的示范。
3.3 沉浸式课堂的典型案例
3.3.1 课代表可以由班长担任吗—通道
为了保证操作系统教学的正常运行,在开课时,都会征集一名课代表。在征集课代表的时候,教师会强调,班长不能担任课代表。教师会埋下一个伏笔,为什么班长不能担任课代表呢,课程后面会为大家揭晓答案。于是,就激发了学生的好奇心。在讲到设备管理时,讲到I/O控制时,以班长要一名同学帮他完成一项小任务为例,由程序直接控制方式,到中断控制方式,再到DMA,最后讲到通道方式,通道方式是对于班长来说效率最高的一种控制方式,班长可以和通道并行工作、被中断的次数最少。这时候,教师再提醒大家,给大家揭晓“班长为什么不能兼任课代表”这个问题的答案。
通过这样的方式,学生很容易就理解了I/O控制的发展过程,以及各种方式的优缺点,学生还会把打趣某个班委或者课代表“你就是一个通道”。
3.3.2 课堂管理和学习管理中的表格—数据结构
在前面,我们提到操作本质上是一种系统软件,由数据结构和各种算法构成。在计算机操作系统的学习过程中,我们也学习了各种资源管理相应的数据结构。对于这些名目繁多的数据结构的作用,学生并不是很能理解。在课堂管理及学习管理任务布置时,教师会有意识地给学生一些标准的表格模板,用来登记任务,在管理过程中也会提醒学生对表格进行更新,学期末要求学生根据表格中登记的数据对任务执行情况进行考核。教师在上课时会给学生指出,这些管理表格的本质就是计算机操作系统中设置的数据结构,操作系统通过这些数据结构对进程的运行和资源的使用进行管理;而课堂管理或学习管理小组的小组长也正是用这些数据结构记录任务进程的运行的。通过这样的类比,很多抽象的概念都变得具体了。
4 基于TRIZ创新方法的沉浸式课堂的优化(Optimization of immersion classroom based on TRIZ innovative method)
TRIZ(The Theory of Inventive Problem Solving)是1946年由G.S.Altshuller创立的一种创新理论和方法[5],应用于技术创新、管理创新等各个领域。TRIZ的理论和方法源于对大量专利的分析,已形成一套系统的创新方法体系。
TRIZ理論基础是技术系统进化法则,包括完备性法则、能量传递法则、动态性进化法则、提高理想度法则、子系统不均衡进化法则、向超系统进化法则、向微观进化法则、协调性法则。
TRIZ提供了一组创造性思维技法,这些创新思维技法帮助人们打破思维定势,引导人们在遵循客观规律的基础上,沿着一定的维度进行思考。TRIZ创新思维技法包括:小人法、STC(Size、Time、Cost)算子法、最终理想解法、金鱼法、九屏幕法。
TRIZ认为,对技术系统中可用资源的创造性应用能够增加技术系统的理想度,这是解决发明问题的基石。资源分析就是从系统的高度研究分析资源,挖掘系统的隐性资源,关注系统资源间的有机联系,合理地组合、配置、优化资源结构,提升系统资源的应用价值或理想度。
我们以TRIZ资源分析法对操作系统课堂进行进一步优化。操作系统课堂作为一个独立的系统,它的子系统包括学生、教师、教材,以及教室的硬件设施;超系统包括学校的软硬件环境,整个上海市、全国以至全球的操作系统研究的环境,操作系统相关的其他技术等等。从时间轴上,又可以扩展到过去和未来。利用九屏幕法可以把操作系统课程可以利用的资源扩充到九个维度,为原来的数十倍甚至更多倍。用TRIZ资源分析法对操作系统课堂的优化,包括课外拓展、课外实践和智慧课堂等。
4.1 课外拓展
我们在教师教授、教材单一的基础上,把课堂从课堂内容、讲授人、讲授内容、讲授方式等方面进行广泛拓展,设计了课外拓展这个课堂环节。课外拓展由学生在课后以小组为单位完成,主题为操作系统课外内容或与操作系统相关的前沿内容。
在一个学期的第一节课下发课外拓展任务书,由课外拓展组组长负责课外拓展小组的划分、拓展主题和拓展时间的填报。课外拓展展示的时间安排在每次课的第二节课的开始,这样可以在学生听教师讲授一节课后,通过讲授人、讲授内容等的转换,减轻学生听讲理论课的疲劳度,活跃课堂气氛。经过拓展组组长的统一整理和规划,每次课的拓展主题基本和课程教学进度一致。
任务书中的课外拓展主题和学生实际选择的主题如表3所示。
从表3可以看出,经过学生的拓展,操作系统的学习内容变得立体而丰富了,从操作系统的发展历史,到操作系统的类型,从操作系统的原理到具体操作系统的源码分析,从操作系统技术到相关技术。学生通过同学的拓展展示,沉浸在一个完整的由它们自己构建的课堂环境中,由此激发了对操作系统的学习兴趣和主动性、促成了一个互相学习互相分享的良好的学习氛围。
4.2 课外实践
在课外拓展的基础上,为了满足部分学生的进一步提升实践能力的要求,提高课外拓展分享的质量,鼓励采用分组形式进行课外实践,并把实践内容及结果在课堂上分享。实践可以采用兴趣小组的形式完成,每个兴趣小组(2到3人)选择一个主题,在一个学期内完成一个微项目。微项目的主题有,Linux源码分析、Linux内核编程、Windows内核编程等与操作系统原理及编程相关的主题。这样一个为期一个学期的项目实践,可以培养学生的项目管理能力和时间管理能力。在此过程中,教师尽其所能为学生的实践提供必要的资源和帮助。
4.3 智慧课堂
操作系统的课堂还利用到各种网络资源及智能手机APP资源,以实现最理想的课堂设计。运用了手机APP的各种课堂考勤方式,包括二维码考勤、位置考勤、手势考勤、拍照考勤等,节约了考勤的时间、提升了课堂的效率。此外,运用手机发起讨论和提问的功能,激活了原本沉闷的课堂气氛。运用手机考试的功能,可以随时检测学生的学习效果,提升了课堂练习的效率。
这些智慧课堂教学手段的运用,既提高了教学的效率,提升了教学的效果,又为学生示范了创新的教学方式和手段,学生感到耳目一新,有走在技术发展的前沿的自豪感,这种自豪感会激发学生努力学习、将来开发出更好的软件的积极性。
5 教学效果(Teaching effect)
从2015年开始进行操作系统的沉浸式课堂的设计与实施,每一个学期结束都会对实施的效果进行评估,结合收集到的反馈意见,持续改进。目前,操作系统的沉浸式课堂从设计到具体实施已经比较成熟,具有完备的管理文档,积累了丰富的教学案例和教学资料。操作系统课程已经不是学生望而生畏、上课睡觉的课程了,学生对操作系统课程充满了期待,对操作系统的学习充满了兴趣。以下列出比较有代表性的学生的反馈信息。
“这门课除了平时的教学外,还增加了课前回顾、课外拓展、课外实践的内容。增加了同学上课的参与度,课外知识的学习,以及对这门课程的深入探索。”“通过同学准备的课前回顾、课外知识拓展,在进一步夯实基础的同时,也普及了当下运用的一些技术,着眼于现在业界的变化,不为学而学,而是着眼于实际生活,为了解而学。”
实施沉浸式课堂以来,学生对教师及课程的评价普遍较高,2015年以来的评教数据如表4所示。
6 结论(Conclusion)
针对操作系统教学中存在的理论性强、概念抽象、学生学习兴趣低的问题,基于对操作系统的本质特点的分析,把操作系统的概念和原理融入课堂管理任务中,创建有利于操作系统教学的沉浸式课堂。结合TRIZ创新方法,对课堂设计进行进一步优化,广泛使用各种课程资源,建立理想的操作系统课堂环境。经过一段时间的实施和持续改进,建立了比较系统的操作系统的沉浸式课堂,学生取代教师成为课堂的主人,有效地激发了学生主动深入学习操纵系统的兴趣,建立了良好的互相学习、互相分享的学习氛围。学生个人的动手实践能力、合作能力、演讲能力等都得到了很好的锻炼和培养。
本文的探索符合国际工程教育认证提倡面向结果、能力导向、持续改进的教学理念,可以在除了操作系统课程之外的其他计算机专业课程中推广。
参考文献(References)
[1] 王英,王鑫,左万利.操作系统课程改革的启发和思考[J].计算机教育,2017(2):34-37.
[2] 汤小丹,梁红兵,哲凤屏,等.计算机操作系统(第四版)[M].西安:西安电子科技大学出版社,2016.
[3] 费翔林,骆斌.操作系统教程(第五版)[M].北京:高等教育出版社,2014.
[4] Abraham Silberschatz,Peter Baer Galvin,Greg Gagne.操作系统概念(第9版)[M].北京:机械工业出版社,2018.
[5] 阿奇舒勒.创造是一门精密的科学[M].北京:北京航空航天大学出版社,1990.