System V与Posix
System V和BSD
Unix操作系统在操作风格上主要分为System V和BSD(目前一般采用BSD的第4个版本SVR4),前者的代表的操作系统有Solaris操作系统,在Solaris1.X之前,Solaris采用的是BSD风格,2.x之后才投奔System V阵营。后者的代表的操作系统有FreeBSD。
System V:它最初由AT&T开发,曾经也被称为AT&T System V,是Unix操作系统众多版本中的一支。在1983年第一次发布,一共发行了4个System V的主要版本,System V Release4,或者称为SVR4,是最成功的版本,该版本有些风格成为一些UNIX共同特性的源头,如下表格的初始化脚本/etc/init.d。用来控制系统的启动和关闭。
BSD(Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,1970年代由伯克利加州大学(Uni Versity of California, Berkeley)开创。BSD用来代表由此派生出的各种套件集合。
Linux之所以被称为类Unix操作系统(Unix Like),部分原因就是Linux的操作风格是介于上述二者之间,且不同厂商为了照顾不同的用户,其发行版的操作风格有存在差异。
另外要清楚,使用TCP/IP协议的应用程序来实现网络进程间的通信的编程接口有BSDUnix的套接字(BSD socket)和System V Unix的TLI,不过后者已经被淘汰。
Poxis和System V
System V的概念如上所述。Posix是Portable Operating System Interface(可移植性操作系统接口)的简称,是一个电气与电子工程学会即IEEE开发的一系列标准,目的是为运行在不同操作系统的应用程序提供统一的接口,实现者是不同的操作系统内核。
将这两个名词放在一起讨论的一般是在Linux的进程间通信中,如在信号量编程中,有Posix信号量和System V信号量。它们都可以用于进程或者线程间的同步。然而,Posix信号量是基于内存的,即信号量值是放在共享内存中的,它使与文件系统中的路径名对应的名字来标识。当我们谈论“Posix 信号量”时,所指的是单个计数信号量。在Linux操作系统中,Posix信号量(共享内存、消息队列)可以通过ipcs命令查看。Posix信号量多用于进程间通信。
System v信号量测试基于内核的,它放在内核里面,要使用System V信号量需要进入内核态,所以在多线程编程中一般不建议使用System V信号量,因为线程相对于进程是轻量级的,从操作系统的调度开销角度看,如果使用System V信号量会使得每次调用都要进入内核态,丧失了线程的轻量优势。当我们讨论“System v信号量”时,所指的是计数信号量集。
————————————————
版权声明:本文为CSDN博主「mybright_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29344757/article/details/78657874
System V与Posix相关推荐
- system v和posix的共享内存对比 共享内存位置
参考 http://www.startos.com/linux/tips/2011012822078.html 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2 ...
- System V IPC POSIX IPC(一):消息队列
System V IPC & POSIX IPC(一):消息队列 消息队列允许进程之间以消息的形式交换数据,是一种常见的进程之间的通信机制. 1. 消息队列的创建 System V IPC: ...
- 15、system V 与 posix 信号量的简单比较
1.XSI system V的信号量是信号量集,可以包括多个信号灯(有个数组),每个操作可以同时操作多个信号灯 posix是单个信号灯,POSIX有名信号灯支持进程间通信,无名信号灯放在共享内存中时可 ...
- glibc库详解及与POSIX,system V这些库之间关系的说明
自己想了解下关于system v,在网上看到一篇详细的说明,与大家分享一下,原文地址http://hi.baidu.com/tekuba/item/570887775696542e5c178918 以 ...
- 【Linux篇】第十二篇——进程间通信(管道+system V共享内存)
进程间通信介绍 概念 目的 本质 分类 管道 什么是管道 匿名管道 匿名管道的原理 pipe函数 匿名管道使用步骤 管道读写规则 管道的特点 管道的大小 命名管道 命名管道的原理 使用命令创建命名管道 ...
- mmap内存映射、system V共享内存和Posix共享内存
linux内核支持多种共享内存方式,如mmap内存映射,Posix共享内存,以system V共享内存.当内核空间和用户空间存在大量数据交互时,共享内存映射就成了这种情况下的不二选择.它能够最大限度的 ...
- 一文简述BSD,System V ,POSIX,SUS版本历史, 以及glibc移植的特性测试宏
背景 我们在开发过程中经常需要进行程序移植.由于不同硬件环境.操作系统和各类依赖库版本的差异,会出现各种兼容性问题. 对于glibc来讲,除了C语言标准之外,还包含了posix.systemV等特性. ...
- linux 内核信号量与用户态信号量(system v,信号量在Linux多线程机制中的应用
[摘 要]本文以信号量原理为基础,重点阐述信号量在Linux多线程同步机制中的实现特色. [关键词]信号量:Linux:多线程:同步 1 信号量 1965年E. W. Dijkstra首次提出信号量的 ...
- Linux进程间通信一 System V 共享内存简介与示例
目录 1. System V共享内存简介 2. API介绍 2.0 key_t和标识符 2.1 创建system v共享内存 2.2 映射共享内存并使用 2.3 取消共享内存映射 2.4 控制共享内 ...
最新文章
- Scala学习笔记-5
- 2018-01-11 Antlr4实现数学四则运算
- 想做网络推广教你如何快速通过SEO考核期呢?
- Java 多线程同步和异步详解
- 线性代数:第一章 行列式(2)行列式按行(列)展开 克拉默法则
- 编程猜单词游戏python_Python实现简单的猜单词小游戏
- PyRun_SimpleString的无穷怨念
- vector 结构体排序_指下码上横戈行——排序
- python 运维管理架构_企业运维监控平台架构设计与实现(ganglia篇)
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能...
- 流程图常用符号及其代表含义
- 宽带伤不起:大学教授称内地宽带费为香港400倍
- Flutter6,移动设备开发网易云音乐app开发说明
- MD5加密(加盐),为什么要在密码里加点“盐“
- 矩阵知识:线性变换、相似矩阵、对角矩阵、逆矩阵
- ac68无线网卡 linux驱动下载,华硕ac68驱动|华硕USB-AC68无线网卡驱动下载 V2.1.2.1 官方版 - 比克尔下载...
- 服务器电源电压不稳定,又是在网上买的炸弹机,我都说了多少次了,这种电脑别买,别买!...
- “死”法不重样,一根数据线如何从“机器伴侣”变身电脑杀手?
- 【Markdown】编辑器使用技巧大汇总3。省略号的表示,常见希腊字母($\lambda$ 等),常见数学符号($\times$ 等),三角函数表示符号,微积分表示符号,逻辑运算符(因为所以)
- 如何查看自己电脑的ip地址
热门文章
- php模板中的数组在哪,php – Twig:从包含的模板中添加项目到数组
- npm 运行报错“Cannot find module ‘@vue/component-compiler-utils/package.json‘”
- js中字符串操作函数
- Protocol handler start failedCaused by: java.net.SocketException: Permission denied
- nginx限制恶意IP处理方法
- Angular问题02 创建模块失败、 angular-cli名称问题、升级angular-cli
- 类似select下拉选择框同时又支持手动输入的元素 datalist 介绍。
- 你百分之九十九的问题都是因为懒
- 最短路径之dijkstra算法的C语言实现
- 11-Mybatis 延迟加载策略