当前位置:
文档之家› 操作系统中四步法实现PV操作
操作系统中四步法实现PV操作
7 结语
近年来,电子产品中科技含量越来越高,所以使用仪器功能越 强工作越轻松。笔者将数字万用表在生产与实践中的经验及体会介 绍给工作在生产一线的各位读者,希望与大家共同学习,相互交 流,以便掌握更多仪器设备的使用技巧,达到事半功倍的效果。
参考文献 [1] 吴陪生 . 万用表的使用入门 . 机械工业出版社 [2] 韩广兴 . 常用仪表的使用方法与应用实例 . 电子工业出版社
在同步中,P操作的意义是接受发来的信息、通知,表示可以 执行;V操作的意义是发送消息、通知,告知对方。
并且PV操作必须成对出现,在进程的互斥问题中,它们应成 对出现在同一进程中;当遇到进程同步问题时,虽然也成对出现, 但P操作应在等待消息的进程中,V操作应在发送消息的进程中, 只有在含有V操作的进程发送消息之后,P操作的进程才能执行。
C1=C2C串/(C2-C串)=10 ×8.29/(10-8.29)≈48.4(μF) 需要注意,无论C2的容量选取为多少,都要在小于20μF的前 提下选取容量较大的电容,且公式中的C2应代入其实测值,而非 标称值,这样可减小误差。将两电容串联起来用数字万用表实测, 由于电容本身的容量误差及测量误差,只要实测值与计算值相差不 多即可认为待测电容C1是好的,根据测量值即可进一步推算出 C1的实际容量。
3 结语
土地整理的实施,改善了项目区内现有耕地的质量,提高了土 地的有效利用率,增加了耕地面积。并且通过田块、道路、农田水
利基础设施、绿化防护林的整治工程,从根本上改善了当地生产、 生活条件,改善和保护了环境。但由于其在我国开展的时间较短, 还存在着前期规划不切实际、群众参与较少、缺乏后期管护等问 题。今后要落实立项前的准备工作,加大审查力度,提高规划质 量,加强公众参与机制与工程后期管护制度的建设,从而保证我国 土地整理事业持续健康发展。
关键词 进程同步 进程互斥 P操作 V操作 信号量
操作系统中,为了避免进程的死锁,给出了一种有效的控制算 法----PV操作。PV操作是一种在利用PV操作实现进程的同步与 互斥时,确保进程不会产生死锁和错误的算法。学习之初往往不知 如何下手,如何确定信号量,如何确定进程是同步还是互斥,首要 解决的问题就是准确无误地理解PV原语的意义。
(收稿日期:2007·07·17)
(接105页)同,进程同步时的信号量只与制约进程及被制约进程 有关而不是与整组并发进程有关,所以称该信号量为私有信号量。 利用PV原语实现进程同步的方法是:首先判断进程间的关系为同 步的,且为各并发进程设置私有信号量,然后为私有信号量赋初 值,最后利用PV原语和私有信号量规定各进程的执行顺序。下面 我们将例1增添一个条件,使其成为进程间是同步的。
3.3 画出工作流程图
流程图的正确性是清楚理解题意的最好反映,也是实现PV操
作的关键一步,工作流程图越准确,最后的算法就越容易实现。
3.4 根据工作流程图转化为PV操作并给信号量赋初值
根据流程图转化PV操作时,如果前面的步骤都非常详细准
确,则这步主要是看个人的编程基础,用不同的语言实现都可以,
最好是用自己掌握较好的一门语言。根据共享资源的数量以及使用
6 利用蜂鸣器档直接检测交流通路
一般数字万用表不能直接测量电容、功放、运放、交流通路等 电路。但如果将数字万用表的压电陶瓷片的两端焊下一脚,如图 3串联接入一双孔插座A、B,并将A、B固定于电池盒盖上,双孔 外露,则可给数字万用表增加许多新的功能。
(1)测量交流通路。交流通 路中直流是无法通过的,因此使 用万用表较难直接测量和判断交流 通路是否损坏,而使用改动后的万 图3 数字万用表蜂鸣器的改装图
信号量是一整数,信号量大于等于零时代表可供并发进程使用 的资源实体数,但信号量小于零时则表示正在等待使用临界区的进 程数。
3 实现PV的四步法
3.1 确定进程的个数以及进程间关系 第一步非常重要,如果这步理解不准确,则以下都将是错误 的。进程的个数主要看题目中需要PV控制的事件有多少个,则进 程个数就为几。进程间的关系主要指是进程同步还是进程互斥,它 决定了PV操作在进程中的意义,进程的互斥往往是进程间的顺序 推进,而进程的同步是多个进程间的协同工作,具有并发性。 3.2 设置信号量的个数 一般情况下,在进程互斥中,信号量都为一个;在同步中,要 根据进程间的同步关系来设置信号量的个数, 有一个也可能是多个。
一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两
个并发执行的进程组成。功能如下:①进程A专门拣黑子,进程
B专门拣白子;②每个进程每次只拣一个子,当一个进程在拣子时
不允许另一个进程去拣子。
分析:
第一步:确定进程间的个数及关系。由题意可知为两个进程,
并且由功能②可知进程之间是互斥的关系。
第二步:确定信号量及其值。由于进程A和进程B要互斥进入
goto L1;
end;
end;
end;
end;
(3)用PV原语实现进程同步与互斥的混合问题。有了上面的
分析后,下面来考虑进程同步与互斥的混合问题就不难了。混合问
题当中只要分清哪些是互斥信号量,哪些是共享信号量,其它的照
1 PV原语的含义
P操作和V操作是不可中断的程序段,称为原语。PV原语及信 号量的概念都是由荷兰科学家E.W.Dijkstra提出的。
P原语操作的意义是: (1)信号量减1; (2)若信号量减1后仍大于或等于零,则进程继续执行; (3)若信号量减1后小于零,则该进程被阻塞后进入与该信号 相对应的队列中,然后转进程调度。 V原语操作的意义是: (1)信号量加1; (2)若相加结果大于零,则进程继续执行; (3)若相加结果小于或等于零,则从该信号的等待队列中唤 醒一等待进程,然后再返回原进程继续执行或转进程调度。 PV操作对于每一个进程来说,都只能进行一次,而且必须成 对使用。在PV原语执行期间不允许有中断发生。其中最容易被忽 略的是V操作的第三步,当相加结果小于等于零,不但要继续执行 本进程,还要从该信号的等待队列中唤醒一等待进程,这点比较容 易出错。
2 PV操作在进程同步中的意义
进程同步包括进程互斥和进程同步两个方面,是操作系统管理 共享资源的一种手段。用PV操作解决进程同步问题时首先应确定 问题是属于进程互斥还是进程同步,或是互斥与同步的混合问题。
在互斥中,P操作的意义是判断是否能进入临界区,申请资 源;V操作的意义是退出临界区,释放资源;信号量初值一般设置 为资源的可用个数。
了公有资源的数量。只要把临界区置于P(s)和V(s)之间,即可实现
进程间的互斥。就象火车中的每节车厢只有一个卫生间,该车厢的
所有旅客共享这个公有资源—卫生间,所以旅客间必须互斥进入卫
生间,只要把卫生间放在P(s)和V(s)之间,就可以到达互斥的效
果。以下例子说明进程的互斥实现:
例1:生产围棋的工人不小心把相等数量的黑子和白子混装载
用表测量则简单多了。只须将A表笔、B表笔接在交流通路的始端 和末端,如果蜂鸣器鸣响则表示交流通畅,反之则说明电路中有断 路。使用以上方法测量都须将万用表的“ +”、“-”插孔短接, 使用A、B 插孔测量。如需测量直流通路, 可将短路线插在A、B 插孔处,按照一般的万用表测量方法测量即可。
(2)作为信号发生器使用,可以用于检测多级放大电路故 障。方法为:①将待测电路接通电源,使其处于工作状态;②将 A、B 表笔任一根接地,另一根接在放大电路最后一级放大的输入 端;③用示波器测量或扬声器看末级是否有1kHz的输出信号,如 果有被放大的信号输出,则说明故障在上一级放大电路中,否则可 判定故障就在本级。
process A; process B
begin
begin
L1: P(s); L2:P(s);
拣黑子; V(s);
拣白子; V(s);
goto L1; goto L2;
end; coend; end;
end;
判断进程间是否互斥,关键是看进程间是否共享某一公有资
源,一个公有资源与一个信号量相对应。确定信号量的值是一个关
(收稿日期:2007·05·30)
(接86页)2.5 重视项目后期管护工作,把好“后期管护关” 土地整理项目后期管护工作应提到各级政府及国土资源管理部
门的重要议事日程,把项目后期管护工作真正落到实处。一要建立 健全管护法律制度,依法管护。二要落实组织机构和责任人。三要 与负责人经济利益挂钩。四是实行考核登记制度,定期评价,奖罚 分明。可采用租赁、拍卖、统一管理等多种模式,如河南省某地将 树木与范围内的道路、桥涵、沟渠管护相结合,把以后树木的收益 分配给管护者一部分,调动了管护人的积极性,树木成活率达到 98%;将机井、管道、电力的管护承包到村民小组或村民个人,对 使用者有偿使用,收取的资金用于设备维护和承包费,基本解决了 项目区的后期管护问题。
共享资源的规则正确的定义信号量及其初值。然后决定在不同信号
量上应用实施的P操作和V操作,用这些P操作和V操作保证并发进
程正确地使用共享资源。
下面就一些题目做分析,在分析中理解“四步法”在进程同步
中的实际运用:
(1)用PV原语实现进程的互斥。由于用于互斥的信号量与所
有的并发进程有关,所以称之为公有信号量。公有信号量的值反映
另外一个问题就是P原语是不是一定在V原语的前面,回答是 否定的。下面看一个例子:
例2: 设在公共汽车上,司机和售票员的活动分别是:司机: 启动车辆,正常行车,到站停车;售票员:上乘客,关车门,售 票,开车门,下乘客。用PV操作对其控制。
分析: 第一步:确定进程间的关系。司机到站停车后,售票员方可工 作。同样,售票员关车门后,司机才能工作。所以司机与售票员之 间是一种同步关系。 第二步:确定信号量及其值。由于司机与售票员之间要互通消 息,司机进程设置一个私有信号量run,用于判断司机能否进行工 作,初值为0。售票员进程设置一个私有信号量stop,用于判断是 否停车,售票员是否能够开车门,初值为0。 第三步:画出工作流程图。此题流程图就不一致(在算法中体 现)。 第四步:根据流程图写出相应算法。