操作系统课程中教学方法的综合运用研究

2021-06-16 11:31李佳静张国英
科教导刊·电子版 2021年10期
关键词:反证法进程案例

李佳静 闫 琰 张国英

(中国矿业大学(北京)机电与信息工程学院 北京 100083)

0 引言

操作系统是计算机系统中的核心软件,对计算机系统中的软硬件资源进行管理,合理组织计算机的工作流程。操作系统是计算机专业的核心专业课程,围绕操作系统的主要功能包括处理机管理、内存管理、文件管理,以及设备管理的实现原理展开。

进程是计算机操作系统当中最重要的概念。可以说,操作系统中的所有工作,都是围绕着如何为进程服务进行的。进程不同于学生在之前编程时所掌握的“程序”,是一个动态的概念。并发系统的诸多进程,由于对资源的竞争和共享产生了不同的关系。如何理解进程以及进程之间的关系,一直是操作系统课程中的重点和难点,也是后续课程包括并行计算等的基础。

进程的教学,具有抽象、复杂、概念繁多等特点,在教学中采用单一或有限的教学方法往往效果不佳,给学生的学习带来了很大的困难,从而产生畏学情绪。在实际的教学中,根据以往的教学总结,针对不同的知识点的特点设计了多种教学方法。在这里以进程的互斥关系为例,说明这些教学方法的综合运用,从不同的方面改善了教学效果。

1 多种教学方法在教学中的应用

在进程互斥关系的讲解中,综合运用了类比法、案例法、启发法、图表法、反证法和对比法等教学方法。这些方法具有各自的特点和应用场景,达到了不同的效果。

1.1 类比法

类比教学法利用学生熟悉的、生动直观的知识与新知识之间的相似性来进行教学,能降低教学难度、提升学生的学习兴趣。由于进程和进程之间的关系比较抽象,因此可以采用类比法进行讲解。

进程是计算机中独立运行的实体,而人是人类社会中的个体。因此在讲解进程概念时,可以将“进程”与人类社会中的个体“人”进行类比,将“操作系统”与“人类社会”进行类比。可以从以下几个方面进行类比:

(1)任何一个进程都是在计算机系统中存在和运行的,就像人在社会中存在和生存一样;操作系统是进程执行的全景,任何进程都不能脱离操作系统和其它并发进程的影响;

(2)人类社会中,生产资料等各种资源都是为人所使用;同样操作系统中的资源管理都是围绕着进程进行的,为进程服务的;

(3)人类社会中的各种社会形态,例如奴隶社会、封建社会是根据生产资料的分配形式决定的,同样在操作系统在分配资源时也有不同的策略;

(4)在人类社会中,人和人之间存在着各种关系,同理在并发的计算机系统中的进程之间也存在着各种关系。例如两个人之间不认识,对应的就是进程之间互斥关系;两个人之间虽然不认识,例如圆通的两个省份的快递员可能不认识,但是可以合作完成一件事情即将一件快递从一个省份到另一个省份,对应的就是进程之间的合作关系;两个人之间认识可以互相认识并且直接通讯,这就是进程之间的通信关系。

通过将“进程”与人类社会中的每个个体“人”进行类比,将“操作系统”与“人类社会”进行类比,使得学生对于抽象的“进程”概念转换成生动活泼的人类社会的理解,降低了学习难度。

1.2 案例法

案例教学法围绕学习目标把实际中真实的情景加以典型化处理,形成供学生思考分析和决断的案例。在进程互斥当中,以最直观和具有代表性的联网售票系统代码作为一个贯穿始终的案例,将所有的知识点结合该案例进行讲解。如表1所示:

表1:联网售票进程伪码

围绕着联网售票系统对一些关键的概念进行讲解,例如并发进程,就是多个正在营业的售票网点;临界资源,就是售票的数据库;临界区,就是联网售票系统中对售票数据库进行操作访问的代码部分。

联网售票系统的代码简单,贴近大学生生活。在讲解的时候,以学校东门和南门的两个售票点的并发进程为例进行说明,富有生活气息,学生表示非常容易接受。

1.3 启发法

启发式教学是在教学工作中依据知识点的内在联系和学生的认识规律,由浅入深,由近及远,由表及里,由易到难的逐步提出问题,解决问题。在进程互斥问题讲解的过程中,以启发式的方式向学生提问,引发学生的深入思考。例如向学生提出以下问题:

(1)东门的售票点今天是否营业对南门的售票点有影响吗?

(2)东门的售票点售票需要等南门的售票点先售票完成吗?

(3)东门的售票点是否知道南门售票点的存在?

学生基于常识会回答:

(1)东门的售票点是否营业对南门的售票点没有影响;

(2)东门的售票点和南门售票点的售票没有先后关系;

(3)东门的售票点不知道南门售票点的存在。

基于学生的这些回答,继续启发学生对进程之间的互斥关系进行总结:

(1)进程之间没有相互依赖关系,一个进程是否运行对另外的进程没有影响;

(2)进程之间没有固定的顺序关系,执行顺序是随机的;

(3)进程之间相互不感知。

启发式的教学过程中由浅入深的设计各种问题,让学生有一种拨云见日渐入佳境的感觉,并完成从特殊到一般的归纳,从而掌握了进程互斥关系的实质。

1.4 图表法

图表教学法使教学内容直观化和形象化,具有新颖性,富有吸引力。为了联网售票程序执行过程进行细致的讲解,采用图表法进行演示。如表2所示,表中的列表示系统中的若干个并发进程,行代表执行中的若干时间点,表中的每一单元表示该进程在该时刻执行的代码。

表2:2个并发的联网售票进程执行序列图

在这个表中假设系统中同时有两个联网售票进程 p1和p2,在T1时刻P1从数据库中读入,T2时刻P2从数据库中读入,T3时刻P2对数据库进行修改,T4时刻T4对数据库进行修改。在T4时刻,出现了“同一张票被卖了两次”的错误。

在对该图表的解释过程当中,学生通常会产生“原来看起来这么简单的程序,在执行的过程中如果不加以控制就会产生很严重的错误”的想法,从而产生追问原因并寻求解决方案的愿望。图表法能够细致地展现进程的并发过程,对学生理解程序的进程互斥关系有非常大的帮助。

1.5 反证法

反证法通过判定与论题相矛盾的判断的虚假来确立论题的真实性的论证方法。对于使用P,V原语和信号量来解决进程互斥问题的讲解中,为了说明P,V原语的正确位置,采用反证法进行验证。当P原语处于不当的位置时可能造成时间相关的错误;而当V原语处于不当的位置时,可能引起资源的浪费。反证法使得学生掌握了对于某种解决方案不知道是否正确的时候的一种验证分析方法。

1.6 对比法

对比教学法,将一组具有一定关联性而又有差别的概念进行细致的对比分析,从而帮助学生理解其中的联系和不同。在进程关系的教学中,进程的关系包括互斥、同步和通信等关系。其中通信关系比较好理解,而互斥和同步关系的区别很容易给学生造成困扰。因此在讲授过程中,从几个方面将互斥和同步关系进行对比:

(1)进程之间是否互相感知?

(2)进程之间在使用资源时是否有时序的限制?

(3)一个进程的执行结果是否影响另一个进程?

对于任何两个进程,分别回答以上问题,然后对应互斥和同步的定义,则可以区分进程之间的关系。

2 结语

在进程的关系的教学中,综合使用类比法、案例法、启发法、图表法、反证法和对比法等方法。类比法可以使用具体的贴近生活的知识来帮助对进程概念和进程间关系的理解;案例法可以将临界区和临界资源等概念联系到实际的例子当中;启发法可以帮助学生主动思考,发现进程间关系的本质;图表法可以将程序执行的过程进行细致的展现;反证法用于理解当错误的使用P,V原语和信号量时带来的后果;对比法用于掌握不同进程关系的关联和差异。这些教学方法的综合使用,从多个方面提高了学生对知识的掌握和理解,改善了教学效果。在今后的操作系统课程教学过程当中,还将继续尝试角色扮演法、溯源法等多种其他教学方法,以满足更多教学内容的需求。

猜你喜欢
反证法进程案例
反证法在平面几何中的一些应用
案例4 奔跑吧,少年!
债券市场对外开放的进程与展望
随机变量分布及统计案例拔高卷
反证法与高次费马大定理
发生在你我身边的那些治超案例
点击反证法
一个模拟案例引发的多重思考
社会进程中的新闻学探寻
我国高等教育改革进程与反思