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. 莫言:不要在不喜欢你的人那丢掉快乐
  2. Xamarin 2017.11.1更新
  3. 在图形化界面中为Ubuntu18.04更新源
  4. SSM格式化导出报表时间的格式
  5. MySQL优化之三:SQL语句优化
  6. Delphi中如何将一个extended型等实数强制转换为integer型
  7. Android开发面试题之Activity启动模式讲解总结
  8. Nginx实现404页面的几种方法
  9. 下载matlab安装包太慢_Matlab2017a软件安装包以及安装教程
  10. 百面机器学习 #2 模型评估:03 余弦距离和余弦相似度、欧氏距离
  11. Git flow常用命令
  12. 即刻VR 唯快不破——2021服贸会的黑科技应用侧记
  13. 纽约市建筑能源得分预测代码分析
  14. Java实现Word转PDF【完整版】
  15. Python 读取文件夹中指定后缀的文件
  16. python英语词汇量测试_非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!...
  17. php开启sockets模块,linux下开启php的sockets扩展支持实例
  18. SQL 字母大小写转换函数UPPER()、UCASE()、LOWER()和LCASE()
  19. [生存志] 第74节 孔子集结诗经
  20. D2D加载图片资源(2)

热门文章

  1. leetcode题解200-岛屿数量
  2. JVM学习-G1回收器
  3. [APIO2011] 方格染色
  4. [jQuery] 通过ajax保存到服务器,成功显示信息.
  5. 机器学习面试问题大概梳理(转)
  6. practice:在win2008R2上使用(NLB)网络负载均衡
  7. JS截取字符串substr 和 substring方法的区别
  8. oracle补零 (转)
  9. 秒传 php,网站图片上传可以实现秒传功能吗?
  10. python多重继承super父类参数_多重继承如何处理super()和不同的参数?