APP下载

游戏教学在“操作系统”课程中的应用

2009-08-28丘静玉

计算机教育 2009年14期
关键词:操作系统游戏

丘静玉 印 鉴

摘要:本文以进程管理为例讨论了游戏教学法在“操作系统”课程教学中的应用,并指出运用该教学方法的意义和注意事项。

关键词:操作系统;游戏;进程管理

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

“操作系统”课程是计算机等相关专业的核心课程,理论性强、概念抽象等是该课程教学中的难点之一。学生普遍的反映之一就是该门课程内容枯燥乏味,学习兴趣索然。笔者在多年的教学实践中不断地探索激发学生兴趣、改进教学效果的方法。其中,游戏教学法就是一个行之有效的“寓教于乐”的办法。

1进程管理中的游戏教学

进程模型和并发机制是进程管理教学中的两个重要内容,本节给出笔者针对这两个内容分别设计的两个集体游戏。

(1) 进程模型

进程是多道程序系统中用来描述执行实体的概念,进程在其生命周期里会处于不同的状态,进程模型正是用来描述进程的不同状态以及状态之间的转换关系的抽象模型。进程模型中有两个关键问题:一是应该定义哪些状态,二是不同状态间的转换关系和条件。为了让学生更好地理解经典进程模型,笔者设计了一个集体游戏如下:

游戏角色:由A、B和C三个同学分别扮演分时系统中正在执行的进程,其中进程B运行过程中需要等待I/O操作。另由一个同学D扮演操作系统(兼CPU的分派者)。此外再请一个同学在旁边计时,每个时间片结束的时候给一个信号提示。

游戏道具:一个CPU(可以拿任何东西代替,如一个大苹果)。

游戏规则:进程A、B和C在没有CPU在手的时候均不能进行任何动作(为直观起见,等待I/O以半蹲表示),得到CPU后可自由活动(内容可指定或请学生自行决定,如在黑板上画画、唱歌等等),一个时间片结束、运行结束或等待I/O操作的时候需要将CPU交回给D。D循环地按照A、B、C的顺序分派CPU,前提是该进程没有结束且没有在等待其他事件。

请其他学生观看游戏的时候思考2个问题:每个同学有哪些不同的行为表现?他们是如何在这些不同的行为中转换的?

游戏后,与学生一起分析这2个问题,很自然地,学生会首先想到两种不同行为,即是“有CPU”和“没有CPU”,且进程在它的生命周期中就在这两种行为之间相互转换,从而马上可以得到最简单的两状态模型(如图1(a)),同时可知D的工作就是将CPU分派给一个处于“未运行”状态的进程。这时,再请学生思考:A时间片用完而B又在等待I/O时处于“未运行”的进程有B和C,这时D该将CPU分派给B还是C?很容易可以得到该问题的答案,从而提示学生其实这时候B和C的状态还是有区别的,因而水到渠成地引出了经典的三状态模型(如图1(b))。

(2) 信号量并发机制

信号量是重要的进程并发机制之一,为了让学生较好地理解并能应用信号量,最好的办法是让学生理解信号量的物理意义,“点名”游戏(图2)正是为此而设计的:

游戏角色:“写者”负责设计问题,一次可以在纸上写一个问题并指定该问题的回答者(如“你认为谁是本班最可爱的人? 张三”);“读者”负责宣读问题,一次可以读出在纸上的一个问题以及指定的答题者(即被点名者);被点名者则务必回答问题。所有同学都是潜在的游戏参与者。

游戏道具:一支笔和一张用来在上面写问题的纸。两个信号量计数器(写在黑板上即可):一个是读信号量,初值为2;另一个是写信号量,初值为1。

游戏规则:读者/写者按以下步骤活动:

(1) 对相应的读/写信号量进行P操作,即计数器减1,如果减1后相应的计数器不为负数(≥0)则转(2),否则等待。

(2) 进行读/写。

(3) 对相应的读/写信号量进行V操作,即计数器加1,如果加1后相应的计数器为非正数(≤0)则转(4),否则转(5)。

(4) 通知一个等待的同学转(2)。

(5) 结束。

请所有同学注意观察游戏中信号量计数器值的变化与读者/写者(在进行的或在等待的)数量的关系,从而可以很自然地引导学生认识到信号量的物理意义:信号量的计数器的值代表了某类资源的可用数(若该资源一次只允许一个进程使用,则相应信号量初值应设为1);P操作相当于是申请一个单位的资源;V操作者是相当于释放一个单位的资源;而计数器变成负值-N时,则表示有N个进程在等待该资源。在此基础上,教师还可以举进一步的例子让学生体会从“资源”的角度去使用信号量解决更多更广泛的进程同步和互斥的问题。

2游戏教学的注意事项

在游戏教学中,游戏是载体,教学是目的,为了取得最佳的效果,教师在使用游戏教学中应注意以下几个方面的问题:

首先,游戏的设计要切题,不能为乐而乐,而应紧扣教学内容,将理论知识融入到游戏中去。这要求教师对课程内容非常熟悉。

其次,要充分激发学生的参与热情,只有亲身参与,学生的主观能动性才能充分发挥。因此,游戏应有趣且贴近学生生活,并给参与者主观能动和自我展示的空间,同时在游戏过程中教师也要多多鼓励,营造良好的气氛。

最后,教师不能只作旁观者,应注意引导、启发学生自己去发现问题、解决问题,同时也要注意引申和总结。事实上,这也是教学互长的一个重要手段。

实践证明,在操作系统课程教学中适当使用游戏教学法,不但可以活跃课堂气氛,激发学生学习兴趣,更重要的是可以将理论知识形象化、具体化,帮助学生理解操作系统各方面理论的问题来源、提出办法以及实现依据,使学生从“灌输式”教学中的被动方变成发现问题、解决问题的主动方,充分发挥学生的潜能,大大提高课堂效率。

参考文献:

[1] William Stallings. 操作系统——精髓与设计原理[M].5版. 北京:电子工业出版社,2006.

[2] 孟静. 操作系统教程题解与实验指导[M]. 北京:高等教育出版社,2002.

[3] 宋子慧. 大学专业课程教学中运用游戏教学的尝试[J]. 文教资料, 2007(11):45-47.

猜你喜欢

操作系统游戏
游戏
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究
数独游戏
疯狂的游戏
基于单片机的嵌入式系统的开发研究
爆笑游戏
“操作系统原理”实验教学设置初探
第八章直接逃出游戏
第八章 直接逃出游戏