APP下载

独立学院操作系统课程实例化教学的探索与实践

2017-02-25胡艳华崔亚楠倪志平

计算机教育 2017年1期
关键词:实例进程调度

胡艳华,崔亚楠,倪志平

(广西科技大学鹿山学院 电气与计算机工程系,广西 柳州 545616)

独立学院操作系统课程实例化教学的探索与实践

胡艳华,崔亚楠,倪志平

(广西科技大学鹿山学院 电气与计算机工程系,广西 柳州 545616)

从独立学院对学生的培养目标出发,结合独立学院的转型发展,针对其课程特性,提出一种实例化教学方法,通过列举现实生活的形象例子来类比操作系统的抽象概念,阐述如何在讲授过程中引入模拟游戏、创设情景、案例驱动、类比教学等多种教学方法,旨在引发学生的学习兴趣,增强其专业学习自信心。

操作系统;实例化教学;教学探索;实践

0 引 言

独立学院是普通高校与社会力量合办的本科学院,其办学性质决定了其培养目标为复合应用型人才。如今,社会对应用型人才的需求不断加大,合格的应用技术人才需求缺口在急速增大。在此背景下,如何以独立学院转型为契机,不断加强独立学院计算机专业课程体系的改革,开展教学方法的研究及改进,从而切实提升IT专业人才的培养质量的要求尤其迫切。

1 操作系统知识的抽象性概述

操作系统负责管理计算机系统中所有软、硬件资源,同时是用户与计算机之间的接口[13],充当管家和服务生的双重角色,是计算机中既复杂又核心的软件系统。对计算机专业学生来说,操作系统是一门重要的核心专业基础课程,一般在大三第一学期开设,该课程的内容理论性强、原理多且抽象。教师在讲授这门课程时,若直接讲授抽象概念,不便于学生理解、掌握与应用。学生也无法像学习程序语言那样,通过编写代码、得到运行结果而获得直观的学习效果,学习起来较枯燥无味,我们通过对高年级学生的问卷调查发现,相当一部分学生对该课程的理解、掌握及应用效果欠佳。如何把枯燥、抽象的学习过程变得有趣并易于理解,是非常值得思考与研究的课题。

2 实例化教学

实例化教学法由哈佛大学提出的案例教学法发展而来,采用与传统讲授方法相反的教学思路[4],即“实例、概念、理论”模式。该教学方法从形象、生动的案例人手,由下而上深人剖析相关理论和概念,易于学生接受,往往能取得非凡的教学效果,近年来,该方法在国内外教学改革中得到广泛应用[5]。笔者结合操作系统的教学特点,在教学过程中引人实例化教学,通过引人现实生活的具体实例,与操作系统的抽象概念和原理进行类比,阐释这些概念和原理,加深学生的理解,取得了较好的教学效果。

3 操作系统课程的实例化教学设计

3.1 进程概念的实例化教学设计

文献[6]对进程的基本概念以及3种基本状态部分进行了比较详细的介绍,但是直接讲解抽象概念,不利于学生理解和掌握。

本次课之前,学生已经了解了计算机操作系统的基本功能及发展过程,对操作系统的功能有直觉认识和整体概念,但无从认识和感受操作系统的具体功能,如何引导和切人进程概念是教学的重点和难点。

A:while(1) {N=N+1;}

B:while(1) {print(N); N=0; }

并发程序A和B运行速度不同。假设T0时刻N=5,则T1可能出现以下情况:

(1)N=N+1;Print(N) ;N=0;此时得到的N值分别为6,6,0。

(2)Print(N) ;N=0;N=N+1;此时得到的N值分别为5,0,1。

(3)Print(N); N=N+1; N=0,此时得到的N值分别为5,6,0。

在多道程序环境下,两个循环程序在并发执行的时候出现不可再现性,当前运行环境相同,多次执行程序但结果不唯一,失去了程序执行的意义。通过问题描述,引发学生思考,然后引出进程的概念。

进程是指程序在一个数据集合上运行的过程,是系统资源调度的一个独立单位,学生不太容易区分程序和进程。笔者在讲解时,通过引人列车(进程)和火车(程序)实例进行类比解释,有助于把抽象概念变成具体问题,使学生轻松理解程序和进程的联系与区别,如表1所示。

联系:进程是程序的一次执行过程,没有程序就没有进程(列车只是执行中的火车)。

区别:①进程是动态的(列车);②进程的存在是暂时的,程序的存在是永久的(列车生命周期从起始站到终点站);③并发(并行是同一时间不同的列车在不同的轨道行驶;并发是同一时间不同的列车在同一个轨道行驶,只能交替行驶);④程序和进程都存在一对多的关系,两者无一一对应关系(一辆火车可以行驶不同的站点,同时从同一个站点出发的火车有多辆)。

表1 进程和程序概念类比

3.2 进程状态的实例化教学设计

笔者在讲解进程状态时,通过建构主义教学思想设计游戏情景假设,提高学生积极性,调节课堂气氛,并引出进程的3种状态。

游戏角色:由甲、乙和丙3位学生扮演分时系统中正在运行的不同进程,其中乙同学扮演在运行过程中需要等待打印操作(等待I/O操作)的进程;丁同学充当操作系统的角色,掌管CPU的分派;第一排第一个学生负责计时,10s为一个时间片,一个时间表结束会给出一个“到”信号提示。

游戏道具:圆球(扮演CPU)。

游戏规则:初始情况下,甲和丙站立,乙蹲下,三者均不能进行其他任何动作;丁按照甲、乙、丙的顺序循环地分派圆球,若站立者得到圆球,可在黑板上画自己的头像,但蹲者因等待打印,不能活动,将圆球归还给丁。其中一个时间片结束、运行结束或等待I/O操作时需要将圆球交给丁。

根据学生的行为表现,可归纳出两种状态转化图,见图1。

图1 两状态转化图

假如甲的时间片用完,而乙在等待打印,处于“未运行”的进程有乙和丙,这时丁把圆球分派给乙还是丙?通过引导学生,进一步得出3种状态转化图,如图2所示。

图2 三状态模型转化图

3.3 进程同步的实例化教学设计

文献[6]比较详细地介绍了进程同步与互斥,但稍繁琐,故笔者课堂上重点讲解信号量机制实现进程同步与互斥。

假如用户A正在使用打印机,用户B也要请求打印,只能等待A使用完毕,才能使用该打印机。用户A、B相当于2个并发进程,并发执行的进程之间存在着相互制约关系。为了协调进程之间的相互制约关系,需要实现进程同步与互斥,故引出该课主题。

进程互斥:不同进程不能同时访问某个系统的临界资源,只可互斥访问,如打印机的使用。本来毫无关系的进程因为相互竞争临界资源而产生了间接制约关系。实际执行的进程之间,还存在直接制约关系,如生产者(输人进程)生产产品放人缓冲区,消费者(计算进程)从缓冲区中取出产品进行消费。因此,在进程实际执行的过程中,生产者必须先于消费者执行才能保证任务顺利进行;另外,如果缓冲区已满,生产者必须等消费者取走产品,才能继续生产。进程之间为了相互合作完成同一个任务,在执行速度上必须相互协调,即进程同步,如同流水线生产的各道工序、医生开药方与取药。

通过对进程同步与互斥的描述,引出临界资源的概念。许多资源一次只能为一个进程提供服务,这种一次仅允许一个进程使用的资源叫做临界资源。

在每个进程中,访问临界资源的那段程序就是临界区,对临界区要进行互斥访问。通过自动取款机案例,得出不同进程进人临界区,必须遵循4条准则:空闲让进(当取款的人操作完毕离开时,其他人才可以使用取款机)、忙则等待(一次只允许一个人使用自动取款机,其他人必须等待)、有限等待(任何人都不能无限占用取款机)、让权等待(若取款人未带银行卡,则必须让出取款机)。

3.4 进程调度算法的实例化教学设计

文献[6]对作业调度算法和进程调度算法分开进行阐述,篇幅过长,且直接介绍调度算法,无具体案例分析,不便于学生理解和掌握。进程先来先服务、短进程优先、高优先级优先调度算法均适合作业调度,故可推广到作业调度算法。另外,处理机调度算法的目标、周转时间与平均周转时间、带权周转与平均带权周转时间也不再作为单独一节进行介绍,通过进程调度算法案例引人这两个概念。

首先,提出问题让学生思考:在多道程序设计环境,多个进程可以并发执行,但CPU只有一个,诸多进程相互竞争使用CPU,会不会出现系统紊乱的现象?然后,通过全体n个人相互竞争吃饼的案例,说明多个进程在并发执行过程中,操作系统需要事先规定调度的原则,即进程调度算法,从而引出本课主题。

先来先服务调度算法(FCFS),通过现实中移动大厅或银行网点办理业务,引出该调度算法思想。该算法思想是进程一直运行到完成或因某种原因中断才释放处理机。比如一个饭量很大的大胖子得到了刀叉,他可能会霸占着饼连续吃很久很久,导致旁边的人都在等待[7]。由此可见,FCFS算法比较有利于长进程,而不利于短进程。

短进程优先调度算法(SPF),形如学生在考试答题时,先选择解答简单、用时较短的题目。SPF算法即从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行直到完成,或发生某事件导致阻塞而放弃处理机时再重新调度。比如一个饭量很大的大胖子,只能看着饭量小的人吃饼。由此可见,SPF调度算法对长进程不利且导致了“饿死”现象。现实情况中,用户很难估计进程的运行时间,导致算法很难真正做到短进程优先调度。

以上两种算法均未考虑轻重缓急,均不适合作为实时调度算法。

高优先级调度算法在进程调度时,把处理机分配给就绪队列中优先权最高的进程。比如,依据病人病重的程度分配优先级,病情越重优先级越高,可以让病重的病人先治疗。此调度算法可应用于实时调度算法。

4 学生评价

经过5年多的教学实践,从学生及同行评价得知,师生反映良好,操作系统考试通过率逐年增加,目前已达到95%以上,表明本改革取得了良好的效果。

5 结 语

从独立学院对学生的培养目标出发,根据其院校学生的特点,结合目前学校转型发展,针对操作系统课程理论性强、概念和原理多且抽象的教学特点,将实例化教学引人操作系统课程,引导学生探知生活中的实例,与操作系统的抽象概念和原理对接,降低知识的抽象性,强化学生对具体问题的理解,使其感受到用操作系统理论解释现实案例带来的喜悦,激发其学习兴趣,增强其专业学习信心。

操作系统课程作为高校计算机专业的核心课程,教学改革任重道远。课题组将继续展开改革探索,如编写适合我院的实例化操作系统教材、重视和强化实训教学环节等,为不断推动独立学院教育事业的发展而努力。

[1] 殷俊, 章立, 王玮. 基于艺术与技术相融合的动画专业复合创新型人才培养模式初探[J]. 中国成人教育, 2012(24): 181-183.

[1] Tanenbaum A S. Modern operating systems [M]. 3rd ed. New Jersey: Prentice Hall, 2007: 2.

[2] 梁正平, 李炎然, 王志强. 计算思维导向的操作系统课程教学改革[J]. 计算机教育, 2012(19): 27-30.

[3] 郑丽洁, 陈利. 操作系统教学中的计算思维能力培养[J]. 计算机教育, 2013(15): 82-84.

[4] 郑金洲. 案例教学指南[M]. 上海: 华东师范大学出版社, 2000.

[5] 王青梅, 赵革. 国内外案例教学法研究综述[J]. 宁波大学学报(教育科学版),2009,31(3): 7-11.

[6] 汤小丹, 梁红兵, 哲凤屏, 等. 计算机操作系统[M]. 西安: 西安电子科技大学出版社, 2014: 35-95.

[7] 王彦新, 李晶, 王红光.操作系统课程趣味化教学的探索与实践[J]. 办公自动化, 2013(2): 58-59.

(编辑:孙怡铭)

1672-5913(2017)01-0139-04

G642

广西高等教育本科教学改革工程项目“独立学院中基于CDIO的卓越软件工程师培养体系研究与实践”(2015JGA426);“基于服务区域信息产业园发展的应用型本科院校物联网工程专业人才培养研究”(2016JGZ188);广西科技大学鹿山学院教学改革项目“应用技术型独立学院IT类专业教学体系改革的研究与实践” (2015LSJG05)。

胡艳华,女,讲师,研究方向为操作系统、计算机网络,19418601@qq.com。

猜你喜欢

实例进程调度
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
电力调度自动化中UPS电源的应用探讨
债券市场对外开放的进程与展望
基于强化学习的时间触发通信调度方法
改革开放进程中的国际收支统计
基于动态窗口的虚拟信道通用调度算法
完形填空Ⅱ
完形填空Ⅰ
社会进程中的新闻学探寻
俄罗斯现代化进程的阻碍