APP下载

“操作系统”课程教材建设与教学实施探讨

2009-08-28费翔林叶保留葛季栋

计算机教育 2009年14期
关键词:操作系统教学实施课堂教学

骆 斌 费翔林 叶保留 葛季栋

摘要:教材建设是课程建设和人才培养的核心,本文以作者编著出版的理论课教材《操作系统教程》(第4版)为背景,重点讨论“操作系统”讲什么?怎么讲?以及教材的总体规划与建设,文章还扼要介绍了“操作系统”课堂教学实施中的心得体会,为进一步提高“操作系统”课程教学质量“抛砖引玉”。

关键词:操作系统;课堂教学;教学实施

中图分类号:G642 文献标识码:B

1引言

操作系统是计算机系统的核心和灵魂,是最为基础的软件系统,构造极为复杂。“操作系统”课程是计算机相关专业的专业核心课程,通过该课程的学习不但要求学生掌握操作系统的基本理论和知识,具有剖析、设计和实现操作系统的基本能力,而且应该培养学生的软件开发能力、技术创新能力、科学作风与综合素质等。因此,计算机科学与技术专业的学生必须要学好这门专业课程。

由于操作系统理论性与实践性结合紧密,涉及学科抽象、理论、设计3个形态,与理论模型、算法设计、软件系统、工程实现、程序设计、领域应用等密切相关,具有理论性强、概念抽象、难以理解掌握,设计技巧高、实现机制精妙、代码量庞大,技术发展迅速、知识更新快、内容广泛且与多个方向交叉等特征,因此“操作系统”教学有相当难度。

多年来,我们积极开展“操作系统”课程建设,跟踪计算机科学与技术的新趋势、新技术、新方法,不断更新教学大纲、理论教材、实验教材、电子教案、教学方法、实验环节,革新课堂教学和实验教学的内容和手段,改进考核评分办法、探索加强能力培养的途径,组建和培养教学师资梯队,开发数字化网络支撑平台,多方位、立体化推进“操作系统”课程教学质量的提高。

教材建设是课程建设和人才培养的核心,本文以作者编著出版的理论课教材《操作系统教程》(第4版)为背景,结合教材的总体规划与建设,围绕“操作系统”讲什么?怎么讲?介绍多年来在“操作系统”课堂教学上的心得体会,以期抛砖引玉。

2操作系统理论教材的规划与建设

2.1教材建设历史

南京大学是国内最先开展操作系统研究与教学的单位之一,我校自1973年为计算机专业本课生开设“操作系统”课程开始,到2009年为止,30多年间,共出版操作系统教材7本。1980年出版《操作系统原理》(人民邮电出版社),1987年出版《分布式操作系统》(国防工业出版社),1989年出版《操作系统教程》(高教出版社)获1992年国家级优秀教材奖,1995年出版《操作系统教程(第2版)》获1997年江苏省二类优秀课程奖,2003年出版《操作系统教程(第3版)》获2004年江苏省优秀课程群奖,2008年出版《操作系统教程(第4版)》被评为2008年教育部精品教材。

2.2 《操作系统教程(第4版)》教材建设思路

操作系统是计算机领域最活跃的分支之一,尽管其基础理论与技术已基本成熟,进入二十世纪九十年代后,随着计算机技术突飞猛进,操作系统新概念、新技术、新方法层出不穷。“操作系统”课程一方面要适应这种发展的趋势,即时更新教学内容;另一方面,也必须抓住操作系统最基本的原理和技术,注重基础理论知识教学。

《操作系统教程(第4版)》(以下简称“第4版”)以“科学性、系统性、先进性、实用性”为教材编著指导思想,从理论、抽象、设计3个形态的高度来组织教学内容,将整个教材划分成十个知识单元:(1)概念与原理;(2)进程和线程;(3)同步、通信和死锁;(4)处理器管理和调度;(5)存储管理与虚拟存储器;(6)设备管理;(7)文件管理与虚拟文件系统;(8)安全与保护;(9)结构与设计、典型操作系统实例;(10)网络与分布式操作系统。教材安排布局和内容组织紧密围绕十个知识单元,有系统、有层次、有广度、有深度地展开全书内容。

第4版教材总体规划与建设过程中,着重考虑了以下几点:

(1) 既要涵盖传统操作系统的基本概念、技术和方法,又要融合现代操作系统的最新技术发展和应用。

(2) 注意理论联系实际,相关概念或原理内容,精选现代操作系统实例作剖析与对比,有益于学生深入理解基本概念和原理,牢固掌握设计与实现的技术和方法。

(3) 强调四讲:讲概念、讲原理,讲方法、讲编程。

以并发进程知识点为例,表1为进程通信知识点及层次安排,给出了自底向上构筑操作系统中“并发问题”解决方案的知识框架。从程序并发执行出现的与时间有关的错误问题出发,逐层深入、逐步展开与阐述,讲解并发程序设计从低级通信原语到高级通信原语,从面向指令的低级程序设计到面向语言的高级程序设计转化的过程,体现了操作系统并发性解决方案自底向上的构筑过程和不同层次。在每个层次上,不但讲概念和原理,也讲具体方法和用来求解经典同步问题的编程(伪代码)例子,使学生容易掌握这些重点与难点,既有利于学生正确理解概念和原理,又能培养学生的动手实践能力和分析解决问题的能力。

(4) 归纳综合、总结提高,从对概念和技术的散碎的感性认识,上升到系统的、理论的高度。资源管理是操作系统最重要的功能之一,目前所见国内外教科书都会讨论这些内容,但鲜有系统地论述的。第4版教材作了尝试与探索,归纳综合资源管理有关知识点,进行系统深化和总结提高。首先,给出资源管理的三种技术:复用技术、虚化技术和抽象技术,阐述每种技术的定义、用途和用法。其次,讨论操作系统中三种最基础抽象:进程抽象、虚存抽象和文件抽象,于是可面向进程而不是处理器、面向虚存而不是实存、面向文件而不是磁盘,也就是不直接面向硬部件进行处理,这样一来操作系统资源管理工作就会变得简单与有效。至此,就能从理论高度掌握资源管理技术,为教好学好操作系统打下良好基础。

(5) 注重基础知识,加强技能训练。确保基础理论和知识在课程中的地位,只有掌握理论和知识,才能为创新能力培养打好基础,这一点在第4版教材编写中予以关注。全书编写200多道应用题,作为实践和技能训练的内容之一。通过让学生多做各种类型应用题达到强化技能训练的目的,也是加强能力培养的一个重要方面。

(6) 注意与实验课教材的衔接。充分体现操作系统理工紧密结合,理论与实践紧密结合的特点。课堂教学以传授理论和知识为主,实验教学以操作和实验为主,理论可在实验中得到检验并指导实践,实验有利于对理论的理解并促进理论的发展。另外编写配套实验教材《Linux操作系统实验教程》,两本教材相辅相成完成“操作系统”教学任务。

3 “操作系统”课堂教学实施中的有关问题

如图1所示,操作系统观察和研究可以从两个角度、两种方法、四种观点出发,并围绕六个问题展开。其中,两个角度是:用户角度和系统角度;两种方法是:静态观察和动态观察方法;四种观点是:服务用户的观点、管理资源的观点、系统实现的观点和进程交互的观点;六个问题是:什么是操作系统?为什么要操作系统?操作系统是做什么的?操作系统是如何做的?操作系统是如何使用的?操作系统是如何构造的?

“操作系统”教学的主要内容就是站在不同角度、采用不同方法、使用不同观点来研究六个问题。其中四种观点是系统讲解操作系统原理的立论,也是操作系统设计的内涵所在,也就是说,是观察和研究操作系统的(总)纲,纲举目张,必须在教学过程中予以强调和渗透。有关四种观点的解释如图1:

(1) 操作系统作为用户接口和公共服务程序

由于用户对计算机系统的需求与期望和现有硬件性能之间存在巨大差距,因此需要操作系统来填补这个差距,操作系统处于用户与计算机硬件之间,用户通过操作系统来使用计算机。从内部来看,操作系统对计算机硬件进行改造和扩充,为应用程序提供强有力的支持,提供原语和系统调用来扩展机器指令集;从外部来看,操作系统提供友好的人机接口,使得用户能够方便、可靠、安全、高效地使用硬件和运行应用程序;经过操作系统改造和扩充过的计算机不但功能更强,使用起来也更为方便,用户通过“系统调用”使用操作系统提供的各种功能,而无需了解软硬件本身的细节,所以,操作系统是一个友善的用户接口和各种公共服务的提供者。

(2) 操作系统作为程序执行的控制者和协调者

操作系统引入进程概念,进程是支持程序执行的系统机制,系统以进程方式组织用户使用计算机。可执行程序作为文件存于磁盘上,工作时被调入主存,系统为程序分配一定数量的资源,并进行一系列复杂操作,其中最重要的是:为其分配一个称为进程控制块的内核数据结构,此时执行的程序就演变成进程,具备了在多道程序环境中运行的条件,可被调度程序调度执行。此外,操作系统还能合理组织计算机工作流程,协调各个硬部件有效工作,为应用程序提供良好的运行环境。所以说,操作系统是程序执行的控制者。并发进程执行过程中,会产生两种基本关系:竞争和协作,操作系统协调进程运行,解决并发进程间互斥、同步、通信和死锁问题。所以,操作系统是程序执行的协调者。

(3) 操作系统作为扩展机或虚拟机

人们在多年以前就认识到必须找到某种方法把硬件的复杂性与用户隔离开来,经过不断探索和研究,采用的方法是在计算机裸机上加上软件来组成计算机系统,同时,为用户提供容易理解和便于使用的接口。在操作系统中,把硬件细节隐蔽并把它与用户隔离开来的情况随处可见,虚拟机就是一种例证,每当在计算机上添加一种软件,提供一种抽象,系统的功能便增加一点,使用起来就更加方便一点,运行环境就更加友好一点。所以,从这个角度看,操作系统的作用是为用户提供比低层硬件的功能显著增强、使用更加方便、安全可靠性更好、效率明显提高的扩展机或虚拟机。

(4) 操作系统作为资源管理者和控制者

为了提高系统效率,操作系统必须支持多道程序设计,合理调度和分配各种资源,充分发挥并行部件的性能,使它们最大限度地重叠操作和保持忙碌。操作系统的重要任务之一是对资源进行抽象研究,找出各种资源的共性和个性,有序地管理计算机中的软硬件资源,记录资源使用情况,确定资源分配策略,实施资源的分配和回收,满足用户对资源的需求,提供机制来协调应用程序对资源的使用冲突,研究资源使用的统一方法,为用户提供简单、有效的资源使用手段,在满足应用程序需求的前提下,最大限度地实现各类资源的共享,提高资源利用率,从而提高计算机系统的效率。

从四种观点出发,围绕六个问题,通过十个知识单元展开“操作系统”教学内容的实施,是一条可选的教学途径。教学实施中,以下各项措施或授课方法可供参考。

(1) 从概念入手,以数据结构与算法为主线

从问题引入概念,认真分析概念的特点,从概念的出现或产生背景入手,分析为什么要引入,由浅入深、由表及里、由此及彼,透彻分析概念和相关内容的基本要点,引导学生掌握知识。如“进程”、“线程”等概念均作了这样处理,让学生弄懂来龙去脉,才能使他有更深刻的理解,打下更扎实的基础,将来才会有更好的发挥和创新。

此外,操作系统中的重要概念都通过特定数据结构和算法来实现,要从概念的基本内涵出发,分析实现概念的具体数据结构和算法,把对概念的把握落实到对应的数据结构和算法上。同样以“进程”为例,这里就要抓住重点,构成进程的要素之一——进程描述块,讲其重要性及内容。从进程的概念、到进程的组成、再到进程的创建,学生就能较好地理解掌握这一组知识点。

(2) 注重概念或原理与实际的联系

对相关概念或原理内容,精选现代操作系统实例作剖析与对比,有益于学生深入全面理解操作系统的基本原理,牢固掌握操作系统设计与实现的技术和方法。例如,在介绍中断处理任务延迟机制后,可让同学了解Linux的任务延迟机制bottom half、task queue、task let、work queue、softirq在实际系统中是如何实现的。

(3) 处理好教学中的“重点”与“难点”

紧抓住教学重点,处理好教学难点。重点要反复讲,难点要深入讲,遵循由浅入深、步步为营策略。为了处理好重点、难点,可以通过多种途径进行。如:课堂强调、多举例子、归纳小结;课件演示、动画效果、前后串连;实例对比、多做练习、实验验证;分门别类、归并处理、融会贯通等。

(4) 开展启发式和研究型教学

开展启发式研究型教学,通过讲授思想和方法,让学生开阔视野、培养兴趣。通过提出问题,给出解决方案,引导启发学生提出更好解决方案,来培养主动探索与研究精神。例如,讨论采用信号量及PV操作求解哲学家吃通心面问题,先给出一个有缺陷程序,引导启发学生找出缺陷所在,再让同学提出补救措施,最后给出完善求解程序。开展启发式研究型教学,步步引导、步步深入,会让学生学得深、学得透,牢固掌握相关内容,初步培养起能独立进行科学研究的能力。

(5) 前后连贯,融会贯通,把知识点串连成线,建立操作系统全局和整体概念

教学中为了便于理解、突出重点,各个章节通常只围绕一个功能进行讨论,我们调整内容,把关系密切的知识点放在一起讨论,贯彻由点(知识点)→线(一串相关知识点)→面(应用层面)的教学思路。例如,在中断分类中,硬中断与软中断放在一起讨论,从概念、特性、实现手段、实现设施进行对比分析,让相关知识点串连成线,使学生容易理解这个难点。为了让学生建立对操作系统的系统级认识和整体性把握,教学中注意把相关知识点前后相连。如从键盘键入和执行命令,牵涉到shell创建子进程,“存储管理”、“文件管理”、“设备管理”等许多模块相互配合协同工作。多个知识点前后连贯,融会贯通,串连成线,能使学生看到主线、看到联系、看到整体,这对帮助学生建立操作系统全局和整体概念大有好处。

(6) 注意原理算法与实际代码间的对照分析

实用操作系统源代码庞大复杂,一个概念的具体实现要考虑诸多因素,做出多种折中和平衡,教科书中的原理算法都省略了若干因素,简化了实际环境。实际上,操作系统中所有概念、原理、技术、算法都由源代码来实现,要十分重视源代码的分析与阅读工作,培养学生的阅读和剖析源代码的能力,从而来提高学生的动手能力。

(7) 改革教学方法,加强师生互动

课堂上可根据教学内容精心设计安排提问,引导学生思考,活跃课堂气氛。通过提问式、对话式的师生互动能培养学生参与意识和适度保持紧张,使之积极思考和提出自己的观点和思路。还可以根据教学进度适当安排讨论习题课,让学生有机会对课文有关内容进行深入理解、融会贯通,通过分析与解决有关难题达到开拓视野、触类旁通之目的。

(8) 处理好基本讲授内容的稳定性和反映新技术、新原理、新趋势的及时性

基本讲授内容必须稳定,课时得到保证。但随着信息技术的快速发展,出现的与操作系统有关的新技术、新原理、新趋势应及时反映和介绍。例如,“众核”技术、“云计算”技术,及时向学生介绍这些技术的由来、概念、前景,增加了新知识、了解了新动向。

(9) 有效运用多媒体手段,改进教学效果

通过多媒体手段制作课件、图像、图形等,让难弄懂难理解的概念或算法形象化、具体化,更好地表达讲课内容,使学生容易接受,便于理解,有事半功倍的效果,可以作为教学手段的补充,应给予高度重视。

4结束语

面向21世纪教材《操作系统教程(第4版)》自2008年4月出版以来,已有35多个院校使用。多数老师和学生肯定了该教材的优点,但学无止境、教无止境,在课堂教学实施过程中,看到了教材的不足之处,需要在今后的工作中进一步完善改进。

参考文献:

[1] 操作系统课程教学实施方案研制组. 高等学校计算机科学与技术专业核心课程教学实施方案(草案)[Z]. 2009.

[2] 孙钟秀,费翔林,骆斌. 操作系统教程[M]. 4版. 北京:高等教育出版社,2008.

[3] 费翔林,李敏,叶保留. Linux操作系统实验教程[M]. 北京:高等教育出版社,2009.

[4] 史广顺, 韩维桓, 袁晓洁. 南开大学“操作系统”课程建设的思考[J]. 计算机教育,2006(7):21-24.

[5] 罗宇, 张颖蓓, 叶常春. 本科操作系统课程设置及教学体会[J]. 计算机教育,2006(1):39-40.

猜你喜欢

操作系统教学实施课堂教学
简约化初中化学课堂教学实践探索
自然拼读法在小学英语课堂教学中的有效融入
数学开放题在初中课堂教学的探索
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究
校本特色课程的教学实施与评价
小组合作探究模式在初中英语课堂教学中的实施
任务驱动教学法在成人教育中的运用分析
一场及时的春雨
跨越式跳高课堂教学设计