zoukankan      html  css  js  c++  java
  • IPC- Posix与system v

     一、功能上的区别

    posix和system v有什么区别/?现在在应用时应用那一标准
    浮云484212 | 浏览 243 次 2014-11-06 10:36
    2014-11-19 22:36 最佳答案
    它们是有关信号量的两组程序设计接口函数。POSIX信号量来源于POSIX技术规范的实时扩展方案(POSIX Realtime Extension),常用于线程;system v信号量,常用于进程的同步。这两者非常相近,但它们使用的函数调用各不相同。前一种的头文件为semaphore.h,函数调用为sem_init(),sem_wait(),sem_post(),sem_destory()等等。后一种头文件为<sys/sem.h>,函数调用为semctl(),semget(),semop()等函数。
    这也是我在论坛里看到的,希望对你有所帮助。

    POSIX sem 实现是基于futex的。 在无竞争条件下,不需要陷入内核,执行系统调用,
    其实现是非常轻量级的。
    System V sem 则不同,无论有无竞争都要执行系统调用,因此性能落了下风。

    POSIX sem 由于没有事事烦扰内核,
    所以内核也无法帮他记录 sem_adj ,即POSIX sem 并没有UNDO(回滚)功能。


    作者:Bean Lee
    链接:https://www.zhihu.com/question/35169528/answer/69119464
    来源:知乎

     二、来源上的区别

    (一)POSIX介绍 

          POSIX(Portable Operating System Interface)可移植操作系统接口,这样的简写完全是为了和UNIX读起来更像而已。它是由IEEE(电子和电气工程师协会)开发,由ANSI(美国国家标准化学会)和OSI(国际标准化组织)两个机构标准化。由于早起各厂家对UNIX的开发各自为政,互相竞争,造成UNIX版本混乱,给软件移植造成困难,不利于UNIX长期发展,基于此,IEEE开发了POSIX,在源码级别定义了一组UNIX操作系统接口。

          目前POSIX已经成为类UNIX(Unix-like)操作系统编程的通用接口,极大方便了类UNIX环境下应用程序源码级的可移植性。Glibc(GNU C Library),即C运行库,是Linux系统中最底层的API,它就是完全按照POSIX标准编写的。

    POSIX版本 

      1997年之前版本 

        POSIX.1(IEEE Std 1003.1-1988): Core Services 

        POSIX.1b (IEEE Std 1003.1b-1993): Real-time extensions

        POSIX.1c(IEEE Std 1003.1c-1995) :Threads extensions  

        POSIX.2(IEEE Std 1003.2-1992) :Shell and Utilities

      1997年之后的版本 

        POSIX.1-2001( IEEE Std 1003.1-2001) 

        POSIX.1-2004 (with two TCs)(IEEE Std 1003.1-2004 

        POSIX.1-2008 (with one TC))( IEEE Std 1003.1, 2013)

    Wiki:https://en.wikipedia.org/wiki/POSIX  

    (二)System V介绍  

         System V(System Five),是Unix操作系统众多版本中的一支,就是当年UNIX厂家混战中,比较强大的一个诸侯王,最初由 AT&T 开发,在1983年第一次发布。一共发行了4个 System V 的主要版本:1、2、3 和 4,比如:System V Release 4,或者称为SVR4,是最成功的版本,比如现今依然使用的操作系统SUN Solaris 和 SCO UnixWare,都基于 System V Release 4的,SUN公司我想大家都知道吧,依然是现在商用服务器操作系统重要提供商,但是我们常用的Linux操作系统并不是基于此的,但是这里要感谢POSIX这样标准化的努力,是它兼容了绝大部分System V的规格,减少了各类操作系统之间移植的麻烦。 

  • 相关阅读:
    利用dockerfile定制镜像
    发布Docker 镜像到dockerhub
    Docker 停止容器
    133. Clone Graph
    132. Palindrome Partitioning II
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    127. Word Ladder
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/6903076.html
Copyright © 2011-2022 走看看