《操作系统》课程中进程同步问题的教学方法

时间:2023-12-30 点赞:52062 浏览:107954 作者原创标记本站原创

本文是一篇操作系统论文范文,操作系统方面毕业论文格式范文,关于《操作系统》课程中进程同步问题的教学方法相关研究生毕业论文开题报告范文。适合操作系统及进程及信号灯方面的的大学硕士和本科毕业论文以及操作系统相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:操作系统是信息相关专业的重要的核心课程之一.处理机管理部分是操作系统课程中的重中之重,处理机管理主要归结为对进程的管理.而进程同步问题是进程管理中的重要部分.一直以来,进程同步问题都是操作系统教学中的重点和难点.该文针对合作进程的执行顺序类进程同步问题探讨操作系统课程的教学方法,总结教师在教学实践当中的宝贵经验,旨在提高学生对用信号灯机制解决进程同步问题的理解和掌握.


关 键 词:操作系统;进程同步;合作进程的执行顺序;信号灯;P操作;V操作

中图分类号:TP316文献标识码:A文章编号:1009-3044(2015)09-0183-02

1引言

操作系统作为信息类相关专业的核心课程,课程内容庞杂、涉及面广、知识点多、实践性强,概念多而抽象,不容易理解.学生很难掌握一些重要知识点.因此需要加强重要知识点的教学方法研究,以提高教学质量.

进程同步是操作系统课程中处理机管理的核心问题之一,是操作系统的核心知识点,是教学过程中的重点和难点,也是考研的重点考核内容,因此学生能否很好地理解并掌握这部分内容是影响教学效果的关键.

在多年的操作系统课程的教学实践中,信号灯和P、V操作问题一直是困扰老师和学生的一个难点.概念很容易讲,老师很清楚如何去解决,但如何让学生很轻松容易地去理解和解决类似的问题,这是操作系统教学和学习过程中的一个难点.

本文针对进程同步问题探讨操作系统课程的教学方法,总结教学实践中的宝贵经验,旨在提高学生对用信号灯机制实现进程同步问题的理解和把握.

2进程同步的基本概念

2.1进程同步

所谓进程同步就是并发进程在一些关键点上可能需要相互等待与互通消息,这样的相互制约关系称为进程同步.同步意味着两个或多个进程之间根据它们一致同意的协议进行相互作用.

2.2进程同步的基本类型

在操作系统中,有各种各样进程同步,按特点不同一般可将同步问题分为两类:

(1)各进程合作完成某工作的逻辑顺序;

(2)对系统资源的共享的合作进程的同步.

本文主要讲解第一类进程同步问题的解决方法.

3信号灯的基本概念

信号灯的概念是由荷兰人Dijkstra于1968年提出的,这个时期正是操作系统形成的活跃时期.

他把互斥的关键概念抽象到信号灯这个概念中.信号灯是一个被保护的变量,只有P操作、V操作和一种称为信号灯初始化操作才能访问和改变它的值.信号灯是一个确定的二元组(s,q),s是一个具有非负初值的整型变量,q是一个初始状态为空的排队站.创建信号灯时,应准确说明信号灯s的意义和初值(这个初值绝不能为负值).每个信号灯都有一个队列,其初始状态为空.

P操作:提出申请,检测所需信号是否到达,有可能使一个进程转到等待状态.

(1)s值减1;

(2)若相减结果大于等于0,则进程继续执行;

(3)若结果小于0,则该进程挂起.

V操作:释放信号,有可能要去唤醒一个处于等待状态的进程.

(1)s值加1;

(2)若相加结果大于0,进程继续执行;

(3)否则,唤醒一个(或多个)等待该信号灯的进程,然后本进程继续执行.

4用信号灯解决进程同步的方法

4.1分析进程同步关系

前趋图是一种有向无环图,可以很好地描述各进程在关键点上的同步关系.每个进程在前趋图中都跟其它进程有相互联系,有其直接前趋、直接后继.如图1所示P3的直接前趋是P1和P2,P3进程必须在P1和P2进程执行完毕才能开始执行,否则转等待;P3的直接后继是P4,也就是说P4进程的直接前趋是P3进程,P4进程必须在P3进程执行完毕才能开始执行,否则转等待.

4.2信号灯的设置

在前趋图的每一条弧上分别设置一个信号灯,分别代表前一个进程没有完成,后面一个进程就不能开始.

4.3信号灯值的设置

合作进程必有开始和结束,前面的未结束后面的就不能开始,所以每个信号灯的值都设置为0.

4.4程序描述

主程序如下:

main()

{

定义若干初值为0的信号灯;

cobegin

P1();

P2();

P3();

Pi();

coend

}

各进程的程序描述:

对于前趋图中的任意进程Pi(i等于1等n),我们可以分离出进程结点以及与之相关联的所有关系如图2所示,其中:

结点Pi表示Pi进程本身要完成的主要工作;

箭头指向结点Pi的弧表示Pi结点有限定它运行的直接前趋,弧上的信号灯是Pi前趋结点完成后应该发送给Pi进程的完成信号;

箭头从结点Pi引出的弧表示Pi结点有它限定运行的直接后继,弧上的信号灯是Pi结点完成后应该发送给Pi后继进程的完成信号.

程序描述如下:

Pi()

{

P(sa1);......P(sam);/*依次检查Pi的直接前趋是否执行完毕,若没有,则等待在相应信号灯的队列上.如果Pi进程没有直接前趋,则此处没有P操作*/

Pi进程要完成的主要工作;

V(sb1);......V(sbn);/*依次向Pi的后继进程发送完成信号.如果Pi进程没有直接后继,则此处没有V操作*/}

5信号灯在解决进程同步之合作进程的执行顺序问题中的具体应用

问题描述:P1、P2、P3、P4进程的同步关系如图1所示.

5.1分析同步关系

前趋图关系显示P3进程必须在P1和P2进程执行完毕才能开始执行,否则转等待;P4进程必须在P3进程执行完毕才能开始执行,否则转等待.

5.2信号灯设置

每条弧上分别设置一个信号灯如图3,s13是表示P1完成后通知P3进程开始的信号灯;s23是表示P2完成后通知P3进程开始的信号灯;s34是表示P3完成后通知P4进程开始的信号灯.

5.3信号灯初值设置

所有信号灯初值为0.

5.4程序描述

主程序:

main()

{

ints13等于0;

ints23等于0;

ints34等于0;

cobegin

P1();

P2();

P3();

P4();

coend

}

各进程的程序描述:

对于前趋图中的任意进程P1、P2、P3、P4,我们可以分离出进程结点以及与之相关的所有关系如图4所示.各进程对应的程序描述如下:

6结束语

信号灯机制是操作系统中实现并发进程执行的有效方法.用信号灯机制可以有效地解决进程同步与互斥问题,但这一知识点的理解和掌握并不容易.

本文着重介绍了在操作系统课程的教学过程中的一种很好的教学方法.应用一种公式法则来讲解用信号灯机制解决进程同步之合作进程的执行顺序类问题这一核心知识点,学生普遍感觉利用这种求解思路和求解方法能够比较容易和熟练地解决这类问题,反映良好.

相关论文

高职《Linux操作系统》课程教学方法

本论文是一篇关于操作系统类毕业论文总结,关于高职《Linux操作系统》课程教学方法相关本科毕业论文范文。免费优秀的关于操作系统及计算机及。

《嵌入式操作系统》课程实践教学

本文是一篇操作系统论文范文,关于操作系统类毕业论文的格式,关于《嵌入式操作系统》课程实践教学相关电大毕业论文范文。适合操作系统及嵌入。

《linux操作系统》课程教学

本文是一篇操作系统论文范文,操作系统方面有关毕业论文参考文献格式,关于《linux操作系统》课程教学相关硕士论文范文。适合操作系统及教学。

《Linux操作系统》课程课设计

本文是一篇操作系统论文范文,操作系统相关毕业论文开题报告范文,关于《Linux操作系统》课程课设计相关电大毕业论文范文。适合操作系统及课。

《计算机操作系统》课程教改

本文是一篇操作系统论文范文,关于操作系统类学年毕业论文,关于《计算机操作系统》课程教改相关毕业论文模板范文。适合操作系统及计算机操作。