操作系统中的情景式教学之进程管理
2019-07-13王举辉
王举辉
山东理工大学计算机科学与技术学院 山东 淄博 255000
操作系统是计算机系统中的核心软件之一,是覆盖在硬件上的第一层软件,实现了对计算机功能的首次扩充[1]。操作系统原理也是考研以及重大考试的主要课程。因此,提高该门课程的教学质量对于培养合格的计算机专业人员是至关重要的,如何学好操作系统也是每个教师学生所关心的。
但操作系统原理的特点是概念多、原理多,许多知识点晦涩难懂,看不见摸不着,很难理解。但操作系统的理论来源于实践,是一门非常典型的“理论来源于实践,反过来又指导实践”的课程。在实际生活中,有关操作系统的概念、理论、算法的思想无处不在。因此,我们可以将生活中的现象与操作系统中的知识点有机结合起来,充分利用情景式教学,帮助学生更好地理解和掌握操作系统。
1 进程管理概述
进程管理部分主要包括进程控制、进程同步、进程通信和调度。
现代操作系统所体现出来的特征主要是基于进程的存在。进程和线程是两个非常抽象的概念,是为了程序的并发而“造”的概念。进程描述了程序的一次运行过程,进程的存续类似于我们人的一生。
进程和线程都属于“造”的概念,恰如我们生活中的“双十一”、“618”等购物节,都是为了完成某个任务而产生的。线程是比进程更小的实体,本身拥有的资源很少,与同属于一个进程的线程共享该进程的资源,这样线程带来的时空开销比较少,切换速度比较快。进程与线程的关系犹如一台舞台剧,进程是舞台上的布景、设施和音乐,而线程则是舞台上表演的演员,彼此共享舞台(相当于同属于一个进程的线程共享该进程的资源)。
2 情景式教学
情景教学法是指教师在教育教学过程中,进行情绪色彩在内的、力求形象生动场景的创建,以此提升学生的情感与学习积极性,指导学生对教材内容进行深入理解,提升学生学习的能力[2]。
情景教学必须与“知情统一”原则相符合。也就是有效地将所学知识充分结合情感,促进两者之间的相互转换,实现知识的融会贯通,这与情景教学具有统一性。基于此,情景教学法主要就是激发学生的学习兴趣。
3 处理机调度中的情景教学
多道程序环境中的进程要获得处理机,必须经过调度程序的调度。所谓调度就是根据既定的调度策略选择一个进程让其获得CPU。生活中的“调度”无处不在。
情景1:食堂排队打饭,非常典型的FCFS算法的体现,不需要“排队器”重新排队,简单。
情景2:医院看病,通过挂号排队等待,但一旦有危急病人,必须优先诊疗,典型的优先级高者优先调度。
情景3:幼儿园老师喂饭。幼儿园幼小的孩子需要老师协助进餐,通常的做法是小朋友围坐在桌子边,老师一人一口轮着喂,很典型的“时间片轮转调度算法”。
上述情景在生活中容易见到,学生体会深刻,算法不再是枯燥的理论,而是随处可见的生活。
4 进程同步中的情景教学
并发执行的进程如果不加以控制的话,可能使得执行结果具有不可再现性,这是计算机用户不能接受的。进程同步的基本任务是对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性[1]。信号量机制是常用的同步机制。
信号量(信号灯)机制中的信号量可理解为交通信号灯,当我们看到“红灯”,知道自己的方向不能走,是因为自己要走的路(共享资源)被另一方向的人流占有,当发现是“绿灯”时,则提醒自己可以走了。生活中我们是通过眼睛获得自己“走”还是“停”的信号,但系统中的进程彼此不知道其它进程的存在,因此进程的“走”和“停”需要特殊的机制来协调,这就是信号量机制(人的眼睛)的引入,其中P(S)相当于帮助进程判断能不能“走”,V(S)用来帮助进程唤醒等待的其它进程(如果有的话)。
上述情景能够帮助学生更好地理解信号量机制的定义,以及为什么使用信号量机制能够描述进程同步问题,除此之外,如何利用信号量机制解决同步问题也是学习的难点。生活中的“同步”情景比比皆是。
情景1:爸爸为儿子和女儿切水果,使用一个盘子,一次只能放一种水果,儿子喜欢苹果,女儿喜欢梨。伪码如下:
Father进程:
P(S);
如果是苹果,V(S1);否则,V(S2)
Son进程:
P(S1);
取走苹果;
V(S);
daughter进程:
P(S2);
取走梨;
V(S);
情景2:运动会中的接力赛,典型的同步情景。第一人跑完将棒交到第二人手中,第二人才能能跑多快就跑多快,第二人受到第一人的制约(直接制约),后面的两人也是这种关系。学生都有参加运动会或观看运动会的经历,非常容易理解。
5 进程通信中的情景教学
进程通信简单说就是进程彼此之间交换信息。生产者-消费者问题虽然是经典的进程同步问题,但同时也是描述通信的一个过程。
在生产者-消费者问题中,生产者利用缓冲池与消费者通信,但学生对于缓冲池的引入不容易理解,为帮助学生理解,情景模拟如下:快递员(生产者)要给你家(消费者)送快递,但你家里暂时没人,于是快递员撬开你家的门,把快递放在你家里,这样可以吗? 当然不可以。自己的家是私人空间,相当于系统为消费者分配的内存,生产者是不能直接访问的,因此引入了缓冲池这个共享区域,现实生活中快递员可以把快件暂时放在快递柜里(缓冲池),这样既保障了安全,又实现了通信。
6 结束语
本文从进程与线程、处理机调度、进程同步、进程通信等几个方面介绍了情景教学方式的使用,这些情景现实生活中随处可见,学生经常身临其境,因此,理解相关的概念、原理和算法就变得更加简单,也增加了学生学习的乐趣,使枯燥的一门课变得生动活泼。