System v 和 Posix作用和区别(进程间通信IPC)

Posix与System V IPC 三种类型的IPC合称为"Posix IPC":Posix消息队列;Posix信号量;Posix共享内存区;三种类型的IPC和称为"":System V消息队列。System V信号量。System V共享内存区。 阅读详情
System v 和 Posix

当我们在linux系统中进行进程间通信时,会有比如共享内存(shm),信号量(sem),消息队列(msg)等方式时,会发现有System v以及POXIS两种不同的类型。

我们探究一下System v和Posix到底代表着什么意义又有什么区别。

Posix:

Posix(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。它是在1980 年早期一个UNIX 用户组(usr/group)的早期工作的基础上取得的。该UNIX 用户组原来试图将AT&T 的系统V 和Berkeley CSRG的BSD 系统的调用接口之间的区别重新调和集成,从而于1984 年产生了/usr/group 标准。1985 年,IEEE操作系统技术委员会标准小组委员会(TCOS-SS)开始在ANSI 的支持下责成IEEE 标准委员会制定有关程序源代码可移植性操作系统服务接口正式标准。到了1986 年4 月,IEEE 就制定出了试用标准。第一个正式标准是在1988 年9 月份批准的(IEEE 1003.1-1988),也既以后经常提到的POSIX.1 标准。

System V:

System V, 曾经也被称为 AT&T System V,是Unix操作系统众多版本中的一支。它最初由 AT&T 开发,在1983年第一次发布。一共发行了4个 System V 的主要版本:版本1、2、3 和 4。System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头,例如 ”SysV 初始化脚本“ (/etc/init.d),用来控制系统启动和关闭,System V Interface Definition (SVID) 是一个System V 如何工作的标准定义。

AT&T 出售运行System V的专有硬件,但许多(或许是大多数)客户在其上运行一个转售的版本,这个版本基于 AT&T 的实现说明。流行的SysV 衍生版本包括 Dell SVR4 和 Bull SVR4。当今广泛使用的 System V 版本是 SCO OpenServer,基于 System V Release 3,以及SUN Solaris 和 SCO UnixWare,都基于 System V Release 4。

System V 是 AT&T 的第一个商业UNIX版本(UNIX System III)的加强。传统上,System V 被看作是两种UNIX"风味"之一(另一个是 BSD)。然而,随着一些并不基于这两者代码的UNIX实现的出现,例如 Linux 和 QNX, 这一归纳不再准确,但不论如何,像POSIX这样的标准化努力一直在试图减少各种实现之间的不同。

使用

照上面所说的System V和POXIS是一种应用于系统的接口协议,POXIS相对于System V可以说是比较新的标准,语法相对简单。

在linux/unix系统编程中支持System V和POXIS。我们常见的一个名词就是POSIX IPC和

System V IPC。IPC的全称是Inter-process Comminication,就是进程间通信。

在POSIX IPC中,在POSIX IPC中,每个IPC对象是有名称的,而且名称是一个很重要的概念,posix ipc使用ipc的名称作为ipc的标识。mq_open sem_open shm_open三个函数的第一个参数就是这个名称,这个名称不一定是在文件系统中存在的名称。 要使用IPC对象,需要创建或者打开,这与文件操作类似,主要是使用mq_open、sem_open、shm_open 函数操作。在创建或者打开ipc对象时需要指定操作的mode,例如O_RONLY、O_WRONLY、O_RDWR、O_CREAT、O_EXCL 等,IPC对象是有一定权限的,与文件的权限类似。

在System V IPC中,System v ipc中有一个重要的类型是key_t,在msget、semget、shmget函数操作中都需要利用这个类型是参数。

POSIX 和 System V IPC的区别 POSIX 和 System V 是两种不同的进程间通信(IPC)机制,它们在以下方面存在区别:msggetmsgsndmsgrcvsemgetsemopshmgetshmatmq_openmq_sendmq_receivesem_opensem_waitsem_post。 阅读详情

相关推荐

System V IPC vs POSIX IPC

TIP: What are the differences between System V IPC and POSIX IPC ? Why do we have two standards ? How to decide which IPC functions to use ? ANS: Both have the same basic tools -- semaphores, shar...

guiwin的博客 527

【Linux】[万字] 详解 System V: 共享内存原理、创建及使用

我们知道, 进程间通信的前提是:先让不同的进程看到同一份资源 Linux的管道通信给进程间看到的同一份资源是:管道文件 而 共享内存 给进程间看到的同一份资源是:物理内存

七月.cc的博客 2750

嵌入式学习DAY27 --- System V 共享内存 ,POSIX 信号量 ,POSIX 消息队列_posix 共享内存 嵌入式平台

一、System V 共享内存二、POSIX 信号量三、POSIX 消息队列(1)在多任务操作系统中,多个进程/线程会同时运行。多个任务可能为了完成同一个事情而相互协作,这样就形成了任务之间的同步关系。同样,不同任务之间为了争夺有限的系统资源(硬件或软件资源)会进入竞争状态,这样就是任务之间的互斥关系。(2)任务之间的互斥与同步关系存在的根源在于临界资源。临界资源是指在同一个时刻只允许有限个(通常只有一个)任务可以访问(读)或者修改(写)的资源。

2401_84248681的博客 1346

System V与POSIX的区别与联系

System V与POSIX的相关说明

威桑的博客 1303

IPC之八:使用 POSIX 共享内存进行进程间通信的实例

IPC是Linux编程中一个重要的概念,IPC有多种方式,本文主要介绍共享内存(Shared Memory),因为没有像管道、消息队列这样的中介介入,所以通常认为共享内存是迄今为止最快的IPC方式;Linux既支持UNIX SYSTEM V的共享内存段,也支持POSIX的共享内存对象,本文针对POSIX共享内存对象,本文给出了多个具体的实例,每个实例均附有完整的源代码;本文的实例中涉及多进程编程和号处理等,阅读本文还需要一些基本的内存管理知识,本文对 Linux 编程的初学者有一些难度。

whowin 1412

Ubuntu22.04实战:基于VLLM高效部署Qwen3系列模型并构建Dify智能体

本文详细介绍了在Ubuntu22.04系统上使用VLLM高效部署Qwen3系列模型并集成Dify平台的实战指南。从环境配置、Conda管理到VLLM优化部署,再到Dify智能体构建,提供了全面的技术方案和性能调优建议,帮助开发者快速实现AI模型的高效部署与应用。

weixin_28323057的博客 161

POSIX和system v

POSIX和system v都是一种应用于系统的协议,POSIX IPC和system v IPC可以用于进程间通讯 1.函数上的区别:System V函数名没有下划线,POSIX函数名有下划线 2.对信号量操作的方式: POSIX IPC:使用sem_wait()对信号量减1、sem_post()对信号量的加1 system V: 使用semget()获取信号量...

m0_49036370的博客 1203

systrace分析 之 问题初步定位

如下surfaceflinger空缺点,上面对应的bufferTX 中有buffer,但VSYNC-SF 过来后,SurfaceFlinger却没有去取,检查测试app “android.settings”, 也没有GPU completion 时间长的问题,所以该部分可以请SurfaceFlinger的owner 进一步确认为何不取buffer。. GPU拿的是acquireFence HWC拿的是releaseFence, GPU是绘图,HWC是合成显示,这两个是互相等待的关系,

yangzex的专栏 3191

初识linux之System V通信标准

讲解了linux中的system V进程间通信标准中的共享内存、消息队列和信号量的概念及使用

Masquerena114514的博客 1377

【Python・统计学】(两)多因素方差分析(原理及代码)

自学笔记,分享给对统计学原理不太清楚但需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文不涉及公式讲解(文科生小白友好体质)~(部分定义等来源于知乎) 本文重点:多因素方差分析 【1.多因素方差分析简单原理】 【2.多因素方差分析步骤】 【3.多因素方差分析代码】

TUTO_TUTO的博客 4864

YOLOv5改进——添加SimAM注意力机制

这样可以使注意力机制看到整个backbone部分的特征图,将具有全局视野,类似于一个小的transformer结构。注意:很多改进教程都是将代码直接复制到common.py文件,如果改进机制多了容易造成混乱。在models文件夹下新建modules文件夹,在modules文件夹下新建一个py文件。这里为simam.py。在models文件夹下,复制yolov5s.yaml文件,粘贴并重命名为yolov5s-simam.yaml。运行yolo.py,出现刚刚加入的SimAM注意力机制,说明加入成功。

2302_80099075的博客 1653

Linux IPC:System V和POSIX区别汇总整理

虽然 System V IPC 和 POSIX IPC 都提供了进程间通信的基本功能,但 POSIX IPC 通常被认为更加现代、一致并且易于使用。POSIX IPC 通常更适合于新的开发项目,而 System V IPC 由于其历史地位,在某些旧系统中仍然有其独特的作用。选择哪种 IPC 机制取决于具体的应用场景、系统环境和个人偏好。

极客代码 1198

11、ThingsBoard集群部署k8s

今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来。

AldrichEugene 990

System V IPC信号量和POSIX信号量详解

定义了ListNode结构体来表示链表的节点,包含一个int类型的数据成员用于存放生产者生产的数据,以及一个指向下一个节点的指针成员。在Linux上,信号量API有两组,一组是System V IPC信号量(信号量),另一组是我们要讨论的POSIX信号量。这两组接口很相似,且语义完全相同,但不保证能互换。进化版的互斥锁(1 --> N)由于互斥锁的粒度比较大,如果我们希望在多个线程间对某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住。

m0_74795952的博客 948

十七、SAP-采购订单(STO)

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 2065

基于强化学习控制策略的三相逆变器仿真

强化学习控制器的核心在于定义状态空间、动作空间、奖励函数以及选择合适的强化学习算法(例如DQN、DDPG等)。对于三相逆变器,状态可以是输出电压、电流等信息;动作则可能是调制指数的变化量;奖励函数则应鼓励快速准确地跟踪参考信号。定义状态空间和动作空间状态空间可以包括逆变器的输出电压、电流及其变化率等信息。动作空间则是控制器可执行的动作,例如PWM信号的调整幅度。matlab深色版本% 定义状态和动作空间维度numObs = 6;% 假设有六个状态变量(例如三相电压和电流)

amy_mhd的博客 135

POSIX和System V的比较/IPC函数汇总

当我们在linux系统中进行进程间通信时,会发现例如共享内存,信号量,消息队列等方式时,会发现有System v以及POXIS两种类型。因此,我们探究一下System v和POXIS到底代表着什么意义。 POSIX POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准

哒哒的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

System V IPC与POSIX IPC对比

System V IPC 是UNIX System V操作系统引入的一组进程间通信机制,包括消息队列、信号量和共享内存。这些机制在创建时会产生一个非负整数的键,用于标识IPC对象。IPC对象的生命周期超过了原始进程的生命周期,除非显式删除,否则即使所有进程都已关闭,它们也将持续存在。POSIX IPC 是基于POSIX标准的进程间通信机制,包括消息队列、信号量和共享内存。POSIX IPC 对象在创建时会产生一个字符串名称,用于标识IPC对象。

Dontla的博客 1817

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POSIX消息队列与System V消息队列

是一个结构体,用于描述当消息队列中有新消息时,如何通知进程。:通知方法,取值如下:SIGEV_NONE:不发送任何通知。:发送一个信号事件发生时,将sigev_signo指定的信号发送给指定的进程;:事件发生时,内核会(在此进程内)以sigev_notify_attributes为线程属性创建一个线程,并让其执行sigev_notify_function,并以sigev_value为其参数:当为时,指定要发送的信号。:通知时传递的数据,类型为。:当为时,指定的线程函数。:当为。

v13111329954的博客 1970

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

System V IPC信号量和POSIX信号量的区别与联系

在Linux上,信号量API有两组,一组是System V IPC信号量,另一组是POSIX信号量。

m0_74795952的博客 1070

System V 与 POSIX 简介与对比

当我们在 Linux 系统中进行进程间通信时,例如信号量,消息队列,共享内存等方式,会发现有System V以及POSIX两种类型。今天我们就来简单介绍下它们。 POSIX: POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。它是在1980 年

qq295109601的博客 5115

POSIX和System V的各类IPC函数接口

当我们在linux系统中进行进程间通信时,会发现例如共享内存,信号量,消息队列等方式时,会发现有System v以及POXIS两种类型。因此,我们探究一下System v和POXIS到底代表着什么意义。一.POSIX POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该...

肥嘟嘟的左卫门 959

【Linux开发七】进程间通信|无名管道|命名管道|System V 消息队列|System V 信号量|System V 共享内存|POSIX消息队列|POSIX信号量|POSIX共享内存

进程间通信(简称IPC),指的是多个进程间进行数据交换和信息传递,在Linux系统下,每个进程都有着自己独立的地址空间和资源,想要进行通信就需要IPC机制。进程间通信目的:数据交换,资源共享,进程同步,传递消息。进程间通信的基本原理:不同的进程能访问和操作同一个内存空间。进程间通信的分类:有名管道和无名管道、System V消息队列,信号量,共享内存、POSIX 消息队列,信号量,共享内存、socket。System V和POSIX的主要区别在于System V底层使用命名空间。

2501_93649289的博客 943

IPC之System V vs POSIX

关于 SYSTEM V 和 POSIX的接口说明

老嵌入式程序员了,2009年入坑至今 1747
上一篇: git add -A和 git add . git add -u作用和区别
下一篇: git的传输协议及各自优缺点(本地传输协议,ssh,http,git)
山农
博客等级 码龄10年 44粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值