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