《Unix网络编程》卷2 读书笔记 第2章- Posix IPC,posixipc


1. 概述

  • Posix IPC 包括:Posix消息队列、Posix信号量、Posix共享内存区
  • Posix IPC在访问它们的函数和描述它们的信息上有一些类似点。
  • 本章讲述所有这些共同属性:用于标识的路径名、打开或创建时指定的标志、访问权限。

  • Posix IPC 函数汇总

2. IPC名字

  • 三种类型的Posix IPC都使用“Posix IPC名字”进行标识。mq_open、sem_open、shm_open这三个函数的第一个参数就是这样的一个名字。
  • 对于Linux,Posix IPC名字必须以一个斜杠符打头,且不能再含有任何其他斜杠符。
  • 对于Linux,创建的三种Posix IPC对象分别位于/dev/mqueue/mqname、/dev/shm/sem.semname、/dev/shm/shmname
  • Posix.1定义了三个宏,它们的单个参数是指向某个stat结构的指针,其内容由fstat、lstat、stat这三个函数填入
    • S_TYPEISMQ(buf)、S_TYPEISSEM(buf)、S_TYPEISSHM(buf)
    • 测试某个文件是否为给定文件类型的所有其他宏的名字都以S_IS开头,且它们的单个参数是某个stat结构的st_mode成员。

3. 创建和打开IPC通道

  

  • 前3行指定怎样打开对象:只读、只写、读写
    
    
  • 余下4行标志是可选的

    
    
  • 下图展示了打开一个IPC对象的真正逻辑流程

  

4. IPC 权限

5. 小结

  • Posix IPC名字
  • 创建一个新的IPC对象时,指定访问权限
  • 打开一个已存在的IPC对象时,所执行的权限测试与打开一个已存在的文件时一样

UNIX网络编程卷2需要看卷1?

yun.baidu.com/...972038
《UNIX网络编程.卷2:进程间通信(第2版)》是一部UNIX网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。《UNIX网络编程.卷2:进程间通信(第2版)》从对Posix IPC和System V IPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、Sun RPC)。附录中给出了测量各种IPC形式性能的方法。
 

《unix编程环境》的电子书

美河制作.UNIX系统编程 可不可以,可以去电螺下吧:

lib.verycd.com/2006/06/15/0000106971.html

中文名称:美河制作.UNIX系统编程
发行时间:2005年
地区:大陆
语言:普通话
简介:

《UNIX系统编程》
本书是UNIX系统编程的经典教材,并基于最新的UNIX标准进行了更新,其内容完全覆盖文件、信号、POSIX线程、UDP、Web和客户机-服务器等相关内容,并对通信、并发和多线程问题进行了透彻的研究,对复杂的概念进行了全面、完善以及明晰的解释,并以此而闻名。本书不仅提供了大量实例和练习,还专门设计了有针对性的项目,并给出了参考答案,帮助读者理解相关的概念,增强应用能力。本书适合作为高等院校计算机专业教材,也可供软件开发人员参考。
本书深入阐述了能使UNIX操作系统发挥出最大功效的软件设计方法,对UNIX编程的精髓进行了清晰易懂的介绍。两位作者具有多年教学与科研经验,匠心独运,精耕细做,以一些用来说明如何使用系统调用的短小代码段开始,巧妙地过渡到实际项目中,逐渐地拓展了读者的技术水平。本书对通信、并发和多线程问题进行了透彻的研究;对复杂的概念,比如信号和并发,进行了全面、明晰的解释,并以此闻名。本书的特色还在于它提供了大量实例、练习、可重用的代码以及用于网络通信程序的简化了的库。
本书同时也是一本基于最新的UNIX标准的完备的参考书,它完全地覆盖了与文件、信号、信号量、POSIX线程和客户机—服务器通信相关的内容。此外,本版书中新增的关于Web、UDP和服务器性能的章节也为本书增色不少。书中包含大量有趣的项目设计及其参考答案,例如命令解释程序、WWW重定向、因特网音频广播、服务器性能等,这些项目设计稍加完善就可以成为可用的程序,可供软件开发人员参考。
本书的Web站点http://usp.cs.utsa.edu/usp为读者提供了大量的资源,内容包括所有可下载的程序,这些程序可以免费使用。此外,这个站点中还包含到模拟器、测试工具、作者准备的课程资料以及勘误表的链接

《UNIX系统编程 》图书目录:
出版者的话
专家指导委员会
译者序
前言
第一部分 基础知识
第1章 技术对程序的冲击 1
1.1 变化中的术语 1
1.2 时间和速度 2
1.3 多道程序设计和分时 3
1.4 应用层的并发 5
1.4.1 中断 5
1.4.2 信号 5
1.4.3 输入和输出 6
1.4.4 进程. 线程和资源共享 6
1.4.5 共享内存的多个处理器 6
1.4.6 网络作为计算机 7
1.5 安全和容错 7
1.6 侵入带来的缓冲区溢出 8
1.6.1 缓冲区溢出的后果 9
1.6.2 缓冲区溢出与安全 10
1.7 UNIX标准 11
1.8 扩展阅读 12
第2章 程序. 进程和线程 14
2.1 程序怎样转换成进程 14
2.2 线程和执行线程 15
2.3 程序映像的布局 15
2.4 库函数调用 17
2.5 函数返回值和错误 20
2.6 参数数组 21
2.6.1 用makeargv创建参数数组 22
2.6.2 makeargv的实现 23
2.7 线程安全的函数 26
2.8 静态变量的使用 28
2.9 静态对象的结构 29
2.10 进程环境 3......余下全文>>
 

相关内容