操作系统中四步法实现PV操作
- 格式:pdf
- 大小:308.24 KB
- 文档页数:2
计算机操作系统pv操作1、引言1.1 定义PV操作,全称为P操作(原语操作)和V操作(原语操作),是计算机操作系统中用于实现进程间同步和互斥的重要机制之一。
P 操作用于请求访问临界资源,V操作用于释放临界资源。
1.2 目的本文档旨在提供关于计算机操作系统中PV操作的详细说明,进一步理解PV操作的概念、原理和使用方法,以及相关注意事项和最佳实践。
2、PV操作概述2.1 P操作P操作(Proberen操作)用于请求访问临界资源。
如果临界资源当前已被占用,则进程将被阻塞等待,直到获得资源访问权限。
2.2 V操作V操作(Verhogen操作)用于释放临界资源。
当进程完成对临界资源的访问后,应该及时释放资源,以便其他进程能够获得访问权限。
3、PV操作实现方式3.1 二进制信号量使用二进制信号量实现PV操作是最常见的方式之一。
二进制信号量只能取0或1两种值,用于表示资源的占用状态。
3.2 计数信号量计数信号量可以取多个非负整数值,用于表示资源的可用数量。
进程在请求资源时,如果信号量的值大于0,则减1并继续执行;若信号量值为0,则进程被阻塞等待。
3.3 互斥锁互斥锁是一种特殊的PV操作实现方式,用于实现进程对临界资源的互斥访问。
进程在访问临界资源前,需先获得互斥锁的所有权;在访问完成后,应释放互斥锁。
4、PV操作的应用场景4.1 进程同步PV操作常用于实现进程之间的同步,确保共享资源的安全访问。
通过P操作和V操作的配对使用,可以实现进程的有序执行。
4.2 进程互斥PV操作也可用于实现进程之间的互斥访问,即确保同一时间只有一个进程可以访问共享资源。
使用互斥锁实现的PV操作能够有效避免资源竞争问题。
5、PV操作的注意事项5.1 死锁使用PV操作时,必须避免出现死锁的情况。
死锁是指系统中的多个进程互相等待对方所占有的资源,导致所有进程无法继续执行的情况。
5.2 优先级关系在使用PV操作时,进程的优先级关系可能会对同步和互斥的实现产生影响。
进程的PV操作在操作系统中,P、V操作是进程管理中的难点。
这是1968年荷兰人Dijkstra给出的一种解决并发进程间互斥和同步关系的通用方法。
1. P、V操作的意义定义了信号量及其上的P操作和V操作,来实现并发进程间的同步和互斥,甚至可以用来管理资源的分配。
P、V操作因交换的信息量少,属于进程的低级通信。
2. 什么是信号量?信号量(semaphore)是由一个值和一个指针构成的数据结构。
值为整型变量,表示信息量的值;指针指向进程控制块(PCB)队列的队头,表示等待该信号量的下一个进程。
如下图所示。
信号量的一般结构及PCB队列信号量的值与相应资源的使用情况有关。
当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。
注意,信号量的初值不能为负,且其值只能由P、V操作来改变。
3. P、V操作的含义P、V操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量S进行操作,具体定义如下:P(S):①将信号量S的值减1,即S=S-1;②如果S≥0,则该进程继续执行;否则该进程状态置为阻塞状态,进程PCB排入信号量PCB队列末尾,放弃CPU,等待V操作的执行。
V(S):①将信号量S的值加1,即S=S+1;②如果S≤0,释放信号量队列中第一个PCB所对应的进程,将进程状态由阻塞态改为就绪态。
执行V操作的进程继续执行。
一般来说,信号量S≥0时,S表示可用资源的数量。
执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。
而执行一个V操作意味着释放一个单位资源,因此S 的值加1;若S≤0,表示有某些进程正在等待该资源,因此要唤醒一个阻塞状态的进程,使之成为就绪状态。
4. 利用信号量和P、V操作实现进程互斥一般地,n个进程利用信号量和P、V操作实现进程互斥的一般模型如下:进程P1进程P2……进程Pn…… …… ……消费者进程 while(True){ P(full); 从Buffer 取出一个产品;V(empty); 消费该产品;} P (S ); P (S ); P (S );临界区; 临界区; 临界区;V (S ); V (S ); V (S );…… …… …… ……其中S 是互斥信号量,初值为1。
1.读写操作1、、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问:①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。
①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。
②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。
③信号量含义及初值:B1full——缓冲区B1满,初值为0;B1empty——缓冲区B1空,初值为0;B2full——缓冲区B2满,初值为0;B2empty——缓冲区B2空,初值为0;R进程C进程P进程B1B22、用P.V操作处理生产者和消费者问题如下:mutex初值为1;empty初值为n;full初值为0生产者消费者L1:生产产品 L2:P(full)P(empty) P(mutex)P(mutex)取出产品产品装入缓冲区 V(empty)V(full) V(mutex)V(mutex) GOTO L2GOTO L1(1)信号量mutex,empty,full的作用是什么?(2)为什么P操作的顺序不能调换?(1)mutex起互斥作用,empty与full为同步作用。
(2)假设进程处于如下运行状态:缓冲区暂时无进程申请,故mutex=1。
缓冲区无空单元,即empty=0,此时生产者进程要放产品,若P(empty)与P(mutex)位置颠倒,先执行P(mutex),顺利通过,再执行P(empty),被阻塞,且该进程不会释放临界区资源,使消费者进程无法进入缓冲区,就不能取走产品,最终导致死锁3、设公共汽车上,司机、售票员的活动分别是:司机售票员启动车辆上乘客正常行车关车门到站停车售票开车门下乘客假设售票员关车门后司机才可启动车辆,到站停车后售票员方可开车门,在汽车不断到站、停车、行驶过程中,这两个活动有什么同步关系?用P.V操作实现它们的同步。
操作系统⽣产者-消费者问题(PV操作)(Java实现)⼀、问题描述⼀组⽣产者进程和⼀组消费者进程共享⼀个初始为空、⼤⼩n的缓冲区,只有缓冲区没满时,⽣产者才能把资源放⼊缓冲区,否则必须等待;只有缓冲区不为空时,消费者才能从中取出资源,否则必须等待。
由于缓冲区是临界资源,它只允许⼀个⽣产者放⼊资源,或⼀个消费者从中取出资源。
⼆、问题分析(1)、关系分析。
⽣产者和消费者对缓冲区互斥访问是互斥关系,同时⽣产者和消费者⼜是⼀个相互协作的关系,只有⽣产者⽣产之后,消费者只能才能消费,它们还是同步关系。
(2)、整理思路。
只有⽣产⽣产者和消费者进程,正好是这两个进程存在着互斥关系和同步关系,即需要解决的是互斥和同步 PV 操作的位置。
(3)、信号量设置。
信号量 mutex 作为互斥信号量,⽤于控制互斥访问缓冲池,互斥信号量初值为1;信号量 full ⽤于记录当前缓冲池中的“满”缓冲池,初值为0;信号量 empty ⽤于记录当前缓冲池中“空“缓冲区数,初值为n。
三、代码实现import java.util.Scanner;public class ProCon {public static void main(String[] args){int producer,consumer;Scanner sc=new Scanner(System.in);System.out.print("请输⼊⽣产者数⽬:");producer=sc.nextInt();//输⼊⽣产者数量System.out.print("请输⼊消费者数⽬:");consumer=sc.nextInt();//输⼊消费者数量for(int i=0;i<producer;i++){new Thread(new Producer(),"⽣产者"+ Integer.toString(i)+"号").start();//创建⽣产者线程并开启}for(int j=0;j<consumer;j++){new Thread(new Consumer(),"消费者"+ Integer.toString(j)+"号").start();//创建消费者线程并开启}}}class Global{public static Semaphore empty=new Semaphore(3);//空闲缓冲区初始化为三public static Semaphore full=new Semaphore(0);//满缓冲区初始化为空public static Semaphore mutex=new Semaphore(1);//临界区互斥信号量public static int count=0;//count⽤于缓冲区中的进程进⾏计数//定时等待public static void timingwait(){try{Thread.sleep(2000);//Thread.Sleep()⽅法⽤于将当前线程休眠⼀定时间时间单位是ms,1s=1000ms}catch(InterruptedException e)//当使⽤ng.Thread类的sleep⽅法时,可能会导致线程阻塞,需要抛出InterruptedException(中断异常)异常{e.printStackTrace();}}}//⽣产者class Producer implements Runnable//Runnable接⼝创建新线程{@Overridepublic void run()//Runnable 接⼝可以被任何想要被⼀个线程运⾏的接⼝继承实现;继承 Runnable 接⼝的类必须有⼀个 run() ⽅法{Global.timingwait();Global.timingwait();System.out.println(Thread.currentThread().getName()+" ⽣产出⼀个商品...");//Thread.currentThread().getName()获得当前执⾏的线程Global.empty.P();//获取空缓冲区单元Global.mutex.P();//进⼊临界区Global.timingwait();System.out.println(Thread.currentThread().getName()+" 将产品放⼊缓冲区--缓冲区剩余 "+(++Global.count)+" 个产品");Global.mutex.V();//离开临界区,释放信号量Global.full.V();//满缓冲区数加⼀}}//消费者class Consumer implements Runnable{@Overridepublic void run(){Global.timingwait();Global.full.P();//获取满缓冲区单元Global.mutex.P();//进⼊临界区Global.timingwait();System.out.println(Thread.currentThread().getName()+" 从缓冲区取出⼀个产品--缓冲区剩余 "+(--Global.count)+" 个产品");Global.mutex.V();//离开临界区,释放互斥信号量Global.empty.V();//空缓冲区加⼀System.out.println(Thread.currentThread().getName()+" 消费⼀个商品...");}}//信号量class Semaphore{public int value;public Semaphore(int value){super();this.value=value;}//P操作public synchronized final void P()//使⽤synchronized修饰的⽅法,叫做同步⽅法,保证A线程执⾏该⽅法的时,其他线程只能在⽅法外等着.{//被final修饰的⽅法是⼀个最终⽅法,不能被重写,重写会报错value--;if(value<0){try{this.wait();//当缓冲区已满/空时,⽣产者或消费者线程停⽌⾃⼰的执⾏,释放锁,使⾃⼰处于等待状态,让其它线程执⾏}catch(InterruptedException e)//当使⽤ng.Thread类的 wait⽅法时,可能会导致线程阻塞,需要抛出InterruptedException(中断异常)异常{e.printStackTrace();}}}//V操作public synchronized final void V(){value++;if(value<=0){this.notify();//当⽣产者或消费者向缓冲区放⼊或取出⼀个产品时,向其他等待的线程发出通知,同时释放锁,使⾃⼰处于等待状态,让其它线程执⾏。
计算机科学与通信工程学院操作系统课程设计报告题目:linux系统下实现PV操作班级:软件工程1401姓名:学号: 3指导老师:2016年12月27日目录一、实验题目 (3)二、实验目的和要求 (3)三、环境配置 (4)四、设计思路 (6)五、代码实现 (8)六、总结 (17)一、实验题目1.Linux 系统简单使用(1)认识Linux(2)ubuntu安装(3)终端的简单使用(4)python3.5.2源码安装2.多线程和多进程同步方法解决水果分配问题:水果分配的问题:桌上有一只盘子,每次只能放入5只水果。
爸爸专放苹果,妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果.用P,V操作实现爸爸、妈妈、儿子、女儿进程的同步控制。
补充:设有两个篮子,分别有若干个苹果或橘子,爸爸和妈妈将每次从水果篮子中拿出一个水果放入水果盘中,儿子女儿则挑选各自喜欢的水果。
(1)分析问题,写出伪代码(2)线程实现(3)进程实现二、实验目的和要求1.认识和学会使用linux系统:Linux 是一种可以在PC机上执行的类似UNIX的操作系统,是一个完全免费的操作系统。
1991年,芬兰学生Linus Torvalds开发了这个操作系统的核心部分,因为是Linus 改良的minix系统,故称之为Linux.2.理解线程和进程的互斥和同步原理:同步是操作系统级别的概念,是在多道程序的环境下,存在着不同的制约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而避免进程之间的冲突,引入了进程同步。
进程互斥是间接制约关系。
当一个进程进入临界区使用临界资源时,另一个进程必须等待。
只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。
3.使用信号量和互斥量解决问题:通过设置一个表示资源个数的信号量S,通过对信号量S的P和V操作来实现进程的的互斥。
通过设置一个表示资源个数的信号量S,通过对信号量S的P和V操作来实现进程的的互斥。
操作系统中,为了避免进程的死锁,给出了一种有效的控制算法----PV操作。
PV操作是一种在利用PV操作实现进程的同步与互斥时,确保进程不会产生死锁和错误的算法。
学习之初往往不知如何下手,如何确定信号量,如何确定进程是同步还是互斥,首要解决的问题就是准确无误地理解PV原语的意义。
P操作和V操作是不可中断的程序段,称为原语。
PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。
P原语操作的意义是:(1)信号量减1;(2)若信号量减1后仍大于或等于零,则进程继续执行;(3)若信号量减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V原语操作的意义是:(1)信号量加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。
PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。
在PV原语执行期间不允许有中断发生。
其中最容易被忽略的是V操作的第三步,当相加结果小于等于零,不但要继续执行本进程,还要从该信号的等待队列中唤醒一等待进程,这点比较容易出错。
进程同步包括进程互斥和进程同步两个方面,是操作系统管理共享资源的一种手段。
用PV操作解决进程同步问题时首先应确定问题是属于进程互斥还是进程同步,或是互斥与同步的混合问题。
在互斥中,P操作的意义是判断是否能进入临界区,申请资源;V操作的意义是退出临界区,释放资源;信号量初值一般设置为资源的可用个数。
在同步中,P操作的意义是接受发来的信息、通知,表示可以执行;V操作的意义是发送消息、通知,告知对方。
并且PV操作必须成对出现,在进程的互斥问题中,它们应成对出现在同一进程中;当遇到进程同步问题时,虽然也成对出现,但P操作应在等待消息的进程中,V操作应在发送消息的进程中,只有在含有V操作的进程发送消息之后,P操作的进程才能执行。
信号量是一整数,信号量大于等于零时代表可供并发进程使用的资源实体数,但信号量小于零时则表示正在等待使用临界区的进程数。
用信号量机制来解决进程的同步与互斥:PV操作首先确定进程间的关系,然后确定信号量及其值。
判断进程间是否互斥的关键:看进程间是否共享某一公有资源,一个公有资源与一个信号量相对应。
确定信号量的值是一个关键点,它代表了可用资源实体数。
举例:票大厅容纳的人数限制为20人,少于20人时购票者可以进入,否则要在厅外等候。
进程间是同步时:是否存在合作关系,是否需要互通消息首先判断进程间的关系为同步的,且为各并发进程设置私有信号量,然后为私有信号量赋初值,最后利用PV原语和私有信号量规定各进程的执行顺序。
举例:公交车上司机与售票员的行为,司机到站停车后,售票员方可开门,售票员关门后,司机方可开车。
例1生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下:(1)进程A专门拣黑子,进程B专门拣白子;(2)每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子;分析:第一步:确定进程间的关系。
由功能(2)可知进程之间是互斥的关系。
第二步:确定信号量及其值。
由于进程A和进程B要互斥进入箱子去拣棋子,箱子是两个进程的公有资源,所以设置一个信号量s,其值取决于公有资源的数目,由于箱子只有一个,s的初值就设为1。
实现:begins:semaphore;s:=1;cobeginprocess AbeginL1: P(s);拣黑子;V(s);goto L1;end;process BbeginL2:P(s);拣白子;V(s);goto L2;end;coend;end;例2某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,厅外的购票者可立即进入,否则需要在外面等待。
每个购票者可看成一个进程。
分析:第一步:确定进程间的关系。
售票厅是各进程共享的公有资源,当售票厅中多于20名购票者时,厅外的购票者需要在外面等待。
操作系统中,为了避免进程的死锁,给出了一种有效的控制算法----PV操作。
PV操作是一种在利用PV操作实现进程的同步与互斥时,确保进程不会产生死锁和错误的算法。
学习之初往往不知如何下手,如何确定信号量,如何确定进程是同步还是互斥,首要解决的问题就是准确无误地理解PV原语的意义。
P操作和V操作是不可中断的程序段,称为原语。
PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。
P原语操作的意义是:(1)信号量减1;(2)若信号量减1后仍大于或等于零,则进程继续执行;(3)若信号量减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V原语操作的意义是:(1)信号量加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。
PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。
在PV原语执行期间不允许有中断发生。
其中最容易被忽略的是V操作的第三步,当相加结果小于等于零,不但要继续执行本进程,还要从该信号的等待队列中唤醒一等待进程,这点比较容易出错。
进程同步包括进程互斥和进程同步两个方面,是操作系统管理共享资源的一种手段。
用PV操作解决进程同步问题时首先应确定问题是属于进程互斥还是进程同步,或是互斥与同步的混合问题。
在互斥中,P操作的意义是判断是否能进入临界区,申请资源;V操作的意义是退出临界区,释放资源;信号量初值一般设置为资源的可用个数。
在同步中,P操作的意义是接受发来的信息、通知,表示可以执行;V操作的意义是发送消息、通知,告知对方。
并且PV操作必须成对出现,在进程的互斥问题中,它们应成对出现在同一进程中;当遇到进程同步问题时,虽然也成对出现,但P操作应在等待消息的进程中,V操作应在发送消息的进程中,只有在含有V操作的进程发送消息之后,P操作的进程才能执行。
信号量是一整数,信号量大于等于零时代表可供并发进程使用的资源实体数,但信号量小于零时则表示正在等待使用临界区的进程数。
第一步非常重要,如果这步理解不准确,则以下都将是错误的。
进程的个数主要看题目中需要PV控制的事件有多少个,则进程个数就为几。
进程间的关系主要指是进程同步还是进程互斥,它决定了PV操作在进程中的意义,进程的互斥往往是进程间的顺序推进,而进程的同步是多个进程间的协同工作,具有并发性。
一般情况下,在进程互斥中,信号量都为一个;在同步中,要根据进程间的同步关系来设置信号量的个数,有一个也可能是多个。
流程图的正确性是清楚理解题意的最好反映,也是实现PV操作的关键一步,工作流程图越准确,最后的算法就越容易实现。
根据流程图转化PV操作时,如果前面的步骤都非常详细准确,则这步主要是看个人的编程基础,用不同的语言实现都可以,最好是用自己掌握较好的一门语言。
根据共享资源的数量以及使用共享资源的规则正确的定义信号量及其初值。
然后决定在不同信号量上应用实施的P操作和V操作,用这些P操作和V操作保证并发进程正确地使用共享资源。
下面就一些题目做分析,在分析中理解“四步法”在进程同步中的实际运用:(1)用PV原语实现进程的互斥。
由于用于互斥的信号量与所有的并发进程有关,所以称之为公有信号量。
公有信号量的值反映了公有资源的数量。
只要把临界区置于P(s)和V(s)之间,即可实现进程间的互斥。
就象火车中的每节车厢只有一个卫生间,该车厢的所有旅客共享这个公有资源—卫生间,所以旅客间必须互斥进入卫生间,只要把卫生间放在P(s)和V(s)之间,就可以到达互斥的效果。
以下例子说明进程的互斥实现:生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成。
功能如下:①进程A专门拣黑子,进程B专门拣白子;②每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子。
分析:确定进程间的个数及关系。
由题意可知为两个进程,并且由功能②可知进程之间是互斥的关系。
确定信号量及其值。
由于进程A和进程B要互斥进入箱子去拣棋子,箱子是两个进程的公有资源,所以设置一个信号量s,其值取决于公有资源的数目,由于箱子只有一个,s的初值就设为1。
画工作流程图。
一般情况下,互斥问题中进程的工作流程基本相同,所以只要画出一个进程的流程图即可。
根据流程图写出相应算法。
实现:判断进程间是否互斥,关键是看进程间是否共享某一公有资源,一个公有资源与一个信号量相对应。
确定信号量的值是一个关键点,它代表了可用资源实体数。
(2)用PV原语实现进程的同步。
与进程互斥不1PV原语的含义2PV操作在进程同步中的意义3实现PV的四步法3.1确定进程的个数以及进程间关系3.2设置信号量的个数3.3画出工作流程图3.4根据工作流程图转化为PV操作并给信号量赋初值例1:第一步:第二步:第三步:第四步:Begins:semaphore;s:=1;beginprocessA;processBbeginbeginL1:P(s);L2:P(s);拣黑子;拣白子;V(s);V(s);gotoL1;gotoL2;end;end;coend;end;(转109页)南楠(三门峡职业技术学院)操作系统中四步法实现PV操作摘要关键词操作系统是计算机的基础核心课程,任何计算机专业的相关考试都会涉及,其中进程的同步与互斥问题是操作系统中的重要内容。
如何正确使用PV操作实现进程的同步与互斥是防止死锁的重要手段,怎样判断进程是同步还是互斥问题,或者是同步与互斥混合问题,以及如何正确使用PV操作防止进程死锁,本文通过举例来给出一种通用模式。
进程同步进程互斥P操作V操作信号量被测元件是一只电解电容器,其标称容量为47μF,设其为C1。
选取一只标称值为10μF的电解电容作为C2,选用数字万用表20μF电容档测出此电容的实际值为8.29μF,将这两只电容串联后,测出C串为8.29μF。
将C1=47μF、C串=8.3μF代入公式,则:C1=C2C串/(C2-C串)=10×8.29/(10-8.29)≈48.4(μF)需要注意,无论C2的容量选取为多少,都要在小于20μF的前提下选取容量较大的电容,且公式中的C2应代入其实测值,而非标称值,这样可减小误差。
将两电容串联起来用数字万用表实测,由于电容本身的容量误差及测量误差,只要实测值与计算值相差不多即可认为待测电容C1是好的,根据测量值即可进一步推算出C1的实际容量。
一般数字万用表不能直接测量电容、功放、运放、交流通路等电路。
但如果将数字万用表的压电陶瓷片的两端焊下一脚,如图3串联接入一双孔插座A、B,并将A、B固定于电池盒盖上,双孔外露,则可给数字万用表增加许多新的功能。
(1)测量交流通路。
交流通路中直流是无法通过的,因此使用万用表较难直接测量和判断交流通路是否损坏,而使用改动后的万用表测量则简单多了。
只须将A表笔、B表笔接在交流通路的始端和末端,如果蜂鸣器鸣响则表示交流通畅,反之则说明电路中有断路。
使用以上方法测量都须将万用表的“+”、“-”插孔短接,使用A、B插孔测量。
如需测量直流通路,可将短路线插在A、B插孔处,按照一般的万用表测量方法测量即可。
(2)作为信号发生器使用,可以用于检测多级放大电路故障。
方法为:①将待测电路接通电源,使其处于工作状态;②将A、B表笔任一根接地,另一根接在放大电路最后一级放大的输入端;③用示波器测量或扬声器看末级是否有1kHz的输出信号,如果有被放大的信号输出,则说明故障在上一级放大电路中,否则可判定故障就在本级。
近年来,电子产品中科技含量越来越高,所以使用仪器功能越强工作越轻松。
笔者将数字万用表在生产与实践中的经验及体会介绍给工作在生产一线的各位读者,希望与大家共同学习,相互交流,以便掌握更多仪器设备的使用技巧,达到事半功倍的效果。
6利用蜂鸣器档直接检测交流通路7结语参考文献[1]吴陪生.万用表的使用入门.机械工业出版社[2]韩广兴.常用仪表的使用方法与应用实例.电子工业出版社(收稿日期:2007・05・30)(接86页)2.5重视项目后期管护工作,把好“后期管护关”土地整理项目后期管护工作应提到各级政府及国土资源管理部门的重要议事日程,把项目后期管护工作真正落到实处。
一要建立健全管护法律制度,依法管护。
二要落实组织机构和责任人。
三要与负责人经济利益挂钩。
四是实行考核登记制度,定期评价,奖罚分明。
可采用租赁、拍卖、统一管理等多种模式,如河南省某地将树木与范围内的道路、桥涵、沟渠管护相结合,把以后树木的收益分配给管护者一部分,调动了管护人的积极性,树木成活率达到98%;将机井、管道、电力的管护承包到村民小组或村民个人,对使用者有偿使用,收取的资金用于设备维护和承包费,基本解决了项目区的后期管护问题。
土地整理的实施,改善了项目区内现有耕地的质量,提高了土地的有效利用率,增加了耕地面积。
并且通过田块、道路、农田水利基础设施、绿化防护林的整治工程,从根本上改善了当地生产、生活条件,改善和保护了环境。
但由于其在我国开展的时间较短,还存在着前期规划不切实际、群众参与较少、缺乏后期管护等问题。
今后要落实立项前的准备工作,加大审查力度,提高规划质量,加强公众参与机制与工程后期管护制度的建设,从而保证我国土地整理事业持续健康发展。
3结语参考文献作者简介[1]陈建设,崔志勇.关于国家投资土地开发整理项目实施中的问题与对策——以山西省为例[J].资源产业,2004,(4):61-64[2]王媛玲,赵庚星.我国土地整理发展的现状、问题与对策研究[J].土地经济与管理,2005,(4):45-48郭建军(1977-),助理工程师,长期从事土地开发整理管理工作。
(收稿日期:2007・07・17)(接105页)同,进程同步时的信号量只与制约进程及被制约进程有关而不是与整组并发进程有关,所以称该信号量为私有信号量。
利用PV原语实现进程同步的方法是:首先判断进程间的关系为同步的,且为各并发进程设置私有信号量,然后为私有信号量赋初值,最后利用PV原语和私有信号量规定各进程的执行顺序。
下面我们将例1增添一个条件,使其成为进程间是同步的。
另外一个问题就是P原语是不是一定在V原语的前面,回答是否定的。
下面看一个例子:设在公共汽车上,司机和售票员的活动分别是:司机:启动车辆,正常行车,到站停车售票员:上乘客,关车门,售票,开车门,下乘客。
用PV操作对其控制。
分析:确定进程间的关系。
司机到站停车后,售票员方可工作。
同样,售票员关车门后,司机才能工作。
所以司机与售票员之间是一种同步关系。
确定信号量及其值。
由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断司机能否进行工作,初值为0。