`
Michaelmatrix
  • 浏览: 208815 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

基础:PV原语

 
阅读更多

PV原语通过操作信号量来处理进程间的同步与互斥的问题。

P原语:为阻塞原语,负责把当前进程由运行状态转换为阻
塞状态,直到另外一个进程唤醒它。操作为:申请一个空闲资源(把信号量减1),若成功,则退出;若失败,则该进程被阻塞;

V原语:为唤醒原语,负责把一个被阻塞的进程唤醒,它有一个参数表,存放着等待被唤醒的进程信息。操作为:释放一个被占用的资源(把信号量加1),如果发现有被阻塞的进程,则选择一个唤醒之。

具体PV原语对信号量的操作可以分为三种情况:
1) 把信号量视为一个加锁标志位,实现对一个共享变量的互斥访问。
实现过程:
P(mutex); // mutex的初始值为1
访问该共享数据;
V(mutex);
非临界区
2) 把信号量视为是某种类型的共享资源的剩余个数,实现对一类共享资源的访问。
实现过程:
P(resource); // resource的初始值为该资源的个数N
使用该资源;
V(resource);
非临界区
3) 把信号量作为进程间的同步工具
实现过程:
临界区C1; P(S);
V(S); 临界区C2;

分享到:
评论
1 楼 hz_yc 2012-11-21  
haoaa

相关推荐

    计算机操作系统PV原语分析

    计算机操作系统PV原语分析,介绍PV原语通过操作信号量来处理进程间的同步与互斥的问题。其核心就是一段不可分割不可中断的程序……

    pv原语文章收集

    pv原语试题集锦 各种典型例题 有利于理解,典型易懂

    操作系统习题及其解答,包括大量PV原语和死锁问题的题目及其解答

    在资料中有吸烟者问题,哲学家问题,的各种PV原语题目及其解答。与考研直接相关。还有死锁问题

    pv原语的详细介绍(参考)

    这是一个关于pv原语的详细介绍,里面还有几个实例供大家参考

    如何用PV原语实现进程间的互斥与同步

    如何用PV原语实现进程间的互斥与同步 P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体...

    PV原语操作的基本理解.docx

    PV原语通过操作信号量来处理进程间的同步与互斥的问题。其核心就是一段不可分割不可中断的程序。 信号量的概念1965年由著名的荷兰计算机科学家Dijkstra提出,其基本思路是用一种新的变量类型(semaphore)来记录当前...

    实现了Windows下的PV原语操作,即传统上的生产者与消费者

    实现了Windows下的PV原语操作,即传统上的生产者与消费者 设计并实现一个进程,该进程拥有一个生产者线程和一个消费者线程,它们使用N个不同的缓冲区(N为一个自定义的确定的数值,例如N=32)。你需要使用如下信号量...

    生产者与消费者pv原语

    操作系统作业,生产者与消费者,编程软件vc++

    DDD:建模原语之四象图

    命名:模型、结构特征、行为特征、场景(及其规约)。释义:模型,描述事物为一组时间函数,蕴藏了与事物相关的所有事实。特征,从模型上剥离的一组时间函数。特征分为两大类,一类是结构特征,一类是行为特征。...

    pv.rar_PV原语

    编写程序完成单处理机系统中的进程调度,要求采用①先进先出;②优先数;③最短作业优先调度算法的进程调度。实验具体包括:首先确定进程...然后完成进程创建原语和进程调度原语;最后编写主函数对所做工作进行测试。

    p431 - p441如何查看PV原语操作

    p431 - p441如何查看PV原语操作

    操作系统pv原语解释和例子

    让我们更加容易的了解书本上的一些知识点,希望大家来看看

    pv操作实现前驱图

    pv操作实现前驱图

    js-fundamentals-08:JavaScript原语简介

    JavaScript基础知识介绍回顾JavaScript的基础知识。目标在本课程结束时,学生应该能够: 解释变量,文字及其差异。 解释简单表达式的结果。 通过检查评估简单JavaScript。基本原理开始在浏览器中,打开...

    进程PV操作详细讲解

    PV原语的含义  P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示...

    cryptovectors:密码原语的测试向量

    密码原语的测试向量 现有的测试向量 组织: primitive/source/... 要做的事情 文件格式 TODO标准化文件格式; 最好是比 NIST 的 RSP/FAX 格式需要更少解析的东西。 (coruus 的标准:在 C 中易于解析。jedisct1 ...

    cds_sync:同步原语的单头C90集合

    提供了以下原语: cds_sync_futex_t一个 (快速用户空间),除非必须将线程置于睡眠或唤醒状态,否则保证保留在用户空间代码中。 cds_sync_fusem_t快速的用户空间,除非必须将线程置于睡眠或唤醒状态,否则保证...

    PV操作的实现(源代码+报告)

    本资源包括PV操作的源代码和报告,通过PV操作实现同步机制

    计算机操作系统之PV原语分析及计算.pdf

    。。。

Global site tag (gtag.js) - Google Analytics