Unix/Linux的System V、BSD、Posix概念
2017-11-28 18:23
1031 查看
1. 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,不过后者已经被淘汰。
2. 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信号量”时,所指的是计数信号量集。
相关文章推荐
- UNIX/Linux/BSD、POSIX、GNU
- Linux/Unix 编程中 POSIX 函数的线程安全问题
- 上百个Linux、BSD、Unix学习电子书+视频下载汇总
- UNIX发展史(BSD,GNU,linux)
- Linux/Unix工具与正则表达式的POSIX规范
- Linux/Unix 编程中 POSIX 函数的线程安全问题
- Unix/BSD/Linux的口令机制初探
- Linux/Unix 编程中 POSIX 函数的线程安全问题
- Linux/Unix 编程中 POSIX 函数的线程安全问题
- linux 的System V和BSD区别
- Unix 和 Linux 双机热备 概念
- 实现了一个linux,unix, BSD 上编程工具链
- Linux/Unix 编程中 POSIX 函数的线程安全问题
- Unix 和 Linux 双机热备 概念
- [转]Unix/BSD/Linux的口令机制初探
- [转]Unix/BSD/Linux的口令机制初探
- linux基本的概念-不带缓存(带缓存)、POSIX标准、ANSIC标准
- Unix 和 Linux 双机热备 概念
- unix/linux 进程通讯(posix queue )示例
- UNIX 进程间通讯(IPC)概念(Posix,System V IPC)