首页 如何使用System V Semaphores API实现POSIX Semaphore API

如何使用System V Semaphores API实现POSIX Semaphore API

举报
开通vip

如何使用System V Semaphores API实现POSIX Semaphore API如何使用System V Semaphores API实现POSIX Semaphore API 概述 在将代码移植到 z/OS 平台时,您会面临的一个重要挑战是 POSIX semaphore API 在 z/OS 上的可用性。 通常,在 Linux/UNIX/Windows 平台上运行的很多程序都是用 POSIX semaphore 开发的。 这个问题的一个解决方案 是使用 System V API 代替 POSIX API 来实现 z/OS。这会涉及到整个代码中大量的代码更改,以及大量的编写和测试工作 ...

如何使用System V Semaphores API实现POSIX Semaphore API
如何使用System V Semaphores API实现POSIX Semaphore API 概述 在将代码移植到 z/OS 平台时,您会面临的一个重要挑战是 POSIX semaphore API 在 z/OS 上的可用性。 通常,在 Linux/UNIX/Windows 平台上运行的很多程序都是用 POSIX semaphore 开发的。 这个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的一个解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 是使用 System V API 代替 POSIX API 来实现 z/OS。这会涉及到整个代码中大量的代码更改,以及大量的编写和测试工作 。另一个更好的解决方案是使用可用的 System V API 在 z/OS 中实现 POSIX API。如果采用这种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,移植所需的代码更 改会很少。这些代码更改不包含在应用程序代码中,而是作为单独的 semaphore 标头和 C 文件包含在内。此标头和 C 文 件是通用的,可用于任何平台。 本文阐释了如何使用 System V Semaphore API 来实现 POSIX Semaphore API。 本文对于想要使用 POSIX API 但开发平台只支持 System V API(比如 z/OS)的开发人员会非常有帮助。而且本文 还会从开发角度对 POSIX 和 System V semaphore 进行显著的区分。 对比 POSIX Semaphore 和 System V Semaphore Semaphore 可以有两种类型:POSIX Semaphore 或 System V semaphore。 您可以在 semaphores 上以单独的单元或以集合中的元素进行操作。由于 System V IPC semaphores 可以位于一个巨大的数组中,所以它们是属 于极其重量级的。Semaphore 集合由一个控制结构和一个 semaphore 数组组成。一组 semaphore 可以包括最多 25 个元素 。System V IPC semaphore 函数包括 semget()、semop() 和 semctl()。 semget() - 创建一个新的 semaphore 集或使用 semget() 系统调用访问一个现有集合。 semop() - 执行 semaphore 操作。 semctl() - 如果您是该 semaphore 的创作者,那么可以更改它的所有权或许可权限。 POSIX semaphore 要比 System V semaphore 轻很多。POSIX semaphore 结构定义了一个单一的 semaphore,而不是一 个 semaphore 数组。POSIX semaphore 函数包括: sem_open() - 连接到(也可以根据情况创建)一个命名的 semaphore sem_init() - 初始化一个 semaphore 结构(属于调用程序内部的结构,所以不是一个命名的 semaphore) sem_close() - 终止一个打开的 semaphore 的连接 sem_unlink() - 终止一个打开的 semaphore 的连接并在最后的进程关闭该连接时删除此 semaphore sem_destroy() - 初始化一个 semaphore 结构(属于调用程序内部的结构,所以不是一个命名的 semaphore) sem_getvalue() - 将 semaphore 的值复制到指定的整数 sem_wait() 和 sem_trywait() - 当 semaphore 由其他进程持有时会发生阻塞,或是如果 semaphore 由另一个进程持 有,则返回一个错误 sem_post() - 增加 semaphore 的数目 POSIX 自带了创建、初始化和在 semaphore 上执行操作所对应的简单语义。这些语义提供了一种处理进程间通信的有效 方式。如果您需要在单个步骤内执行多次增量-减量来实现原子操作,那么 System V semaphore 会非常有用。除此之外, 请尽量使用 POSIX semaphore。
本文档为【如何使用System V Semaphores API实现POSIX Semaphore API】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:0
分类:互联网
上传时间:2018-04-15
浏览量:7