• System v和posix的IPC对比


    之前有一篇关于共享内存的System V和Posix的对比:

    http://www.cnblogs.com/charlesblc/p/6261469.html

    POSIX(Portable Operating System Interface)可移植操作系统接口,这样的简写完全是为了和UNIX读起来更像而已。

    IEEE开发了POSIX,在源码级别定义了一组UNIX操作系统接口。

    Glibc(GNU C Library),即C运行库,是Linux系统中最底层的API,它就是完全按照POSIX标准编写的。

    System V(System Five),是Unix操作系统众多版本中的一支,就是当年UNIX厂家混战中,比较强大的一个诸侯王,最初由 AT&T 开发,在1983年第一次发布。

    这里要感谢POSIX这样标准化的努力,是它兼容了绝大部分System V的规格,减少了各类操作系统之间移植的麻烦。 

    Posix和SystemV的IPC库有几点区别(我总结的)

    1. Posix函数有下划线分隔,SystemV函数没有,是连在一起的;

    2. Posix 每个IPC对象是有名称的,而且名称是一个很重要的概念。mq_open  sem_open  shm_open三个函数的第一个参数就是这个名称,这个名称不一定是在文件系统中存在的名称。 要使用IPC对象,需要创建或者打开,这与文件操作类似,主要是使用mq_open、sem_open、shm_open 函数操作。在创建或者打开ipc对象时需要指定操作的mode,例如O_RONLY、O_WRONLY、O_RDWR、O_CREAT、O_EXCL 等,IPC对象是有一定权限的,与文件的权限类似。

    对应的,SystemV每个IPC有一个重要的类型是key_t,在msgget、semget、shmget函数操作中都需要利用这个类型是参数。系统中对每个ipc对象都会有一个结构体来标识

  • 相关阅读:
    Kafka日志及Topic数据清理
    python
    kotlin集合操作
    tomcat 下配置 可 调试
    linux 安装nexus3
    启动 idea 编译报错 kotlin
    nginx 增加 lua模块
    logstash配合filebeat监控tomcat日志
    redis 高级特性 不要太好用
    SpringBoot与Docker1
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6308512.html
Copyright © 2020-2023  润新知