System V和BSD

  Unix操作系统在操作风格上主要分为System VBSD(目前一般采用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相关推荐

  1. system v和posix的共享内存对比 共享内存位置

    参考 http://www.startos.com/linux/tips/2011012822078.html 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2 ...

  2. System V IPC POSIX IPC(一):消息队列

    System V IPC & POSIX IPC(一):消息队列 消息队列允许进程之间以消息的形式交换数据,是一种常见的进程之间的通信机制. 1. 消息队列的创建 System V IPC: ...

  3. 15、system V 与 posix 信号量的简单比较

    1.XSI system V的信号量是信号量集,可以包括多个信号灯(有个数组),每个操作可以同时操作多个信号灯 posix是单个信号灯,POSIX有名信号灯支持进程间通信,无名信号灯放在共享内存中时可 ...

  4. glibc库详解及与POSIX,system V这些库之间关系的说明

    自己想了解下关于system v,在网上看到一篇详细的说明,与大家分享一下,原文地址http://hi.baidu.com/tekuba/item/570887775696542e5c178918 以 ...

  5. 【Linux篇】第十二篇——进程间通信(管道+system V共享内存)

    进程间通信介绍 概念 目的 本质 分类 管道 什么是管道 匿名管道 匿名管道的原理 pipe函数 匿名管道使用步骤 管道读写规则 管道的特点 管道的大小 命名管道 命名管道的原理 使用命令创建命名管道 ...

  6. mmap内存映射、system V共享内存和Posix共享内存

    linux内核支持多种共享内存方式,如mmap内存映射,Posix共享内存,以system V共享内存.当内核空间和用户空间存在大量数据交互时,共享内存映射就成了这种情况下的不二选择.它能够最大限度的 ...

  7. 一文简述BSD,System V ,POSIX,SUS版本历史, 以及glibc移植的特性测试宏

    背景 我们在开发过程中经常需要进行程序移植.由于不同硬件环境.操作系统和各类依赖库版本的差异,会出现各种兼容性问题. 对于glibc来讲,除了C语言标准之外,还包含了posix.systemV等特性. ...

  8. linux 内核信号量与用户态信号量(system v,信号量在Linux多线程机制中的应用

    [摘 要]本文以信号量原理为基础,重点阐述信号量在Linux多线程同步机制中的实现特色. [关键词]信号量:Linux:多线程:同步 1 信号量 1965年E. W. Dijkstra首次提出信号量的 ...

  9. Linux进程间通信一 System V 共享内存简介与示例

    目录 1. System V共享内存简介 2. API介绍 2.0 key_t和标识符 2.1  创建system v共享内存 2.2 映射共享内存并使用 2.3 取消共享内存映射 2.4 控制共享内 ...

最新文章

  1. Scala学习笔记-5
  2. 2018-01-11 Antlr4实现数学四则运算
  3. 想做网络推广教你如何快速通过SEO考核期呢?
  4. Java 多线程同步和异步详解
  5. 线性代数:第一章 行列式(2)行列式按行(列)展开 克拉默法则
  6. 编程猜单词游戏python_Python实现简单的猜单词小游戏
  7. PyRun_SimpleString的无穷怨念
  8. vector 结构体排序_指下码上横戈行——排序
  9. python 运维管理架构_企业运维监控平台架构设计与实现(ganglia篇)
  10. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能...
  11. 流程图常用符号及其代表含义
  12. 宽带伤不起:大学教授称内地宽带费为香港400倍
  13. Flutter6,移动设备开发网易云音乐app开发说明
  14. MD5加密(加盐),为什么要在密码里加点“盐“
  15. 矩阵知识:线性变换、相似矩阵、对角矩阵、逆矩阵
  16. ac68无线网卡 linux驱动下载,华硕ac68驱动|华硕USB-AC68无线网卡驱动下载 V2.1.2.1 官方版 - 比克尔下载...
  17. 服务器电源电压不稳定,又是在网上买的炸弹机,我都说了多少次了,这种电脑别买,别买!...
  18. “死”法不重样,一根数据线如何从“机器伴侣”变身电脑杀手?
  19. 【Markdown】编辑器使用技巧大汇总3。省略号的表示,常见希腊字母($\lambda$ 等),常见数学符号($\times$ 等),三角函数表示符号,微积分表示符号,逻辑运算符(因为所以)
  20. 如何查看自己电脑的ip地址

热门文章

  1. php模板中的数组在哪,php – Twig:从包含的模板中添加项目到数组
  2. npm 运行报错“Cannot find module ‘@vue/component-compiler-utils/package.json‘”
  3. js中字符串操作函数
  4. Protocol handler start failedCaused by: java.net.SocketException: Permission denied
  5. nginx限制恶意IP处理方法
  6. Angular问题02 创建模块失败、 angular-cli名称问题、升级angular-cli
  7. 类似select下拉选择框同时又支持手动输入的元素 datalist 介绍。
  8. 你百分之九十九的问题都是因为懒
  9. 最短路径之dijkstra算法的C语言实现
  10. 11-Mybatis 延迟加载策略