网站大量收购独家精品文档,联系QQ:2885784924

需求报告书2.1.docx

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求报告书2.1

1范围1.1标识Linux版本号:2.6.32模块名称:IPC进程通信需求报告版本: V2.11.2 数据字典编号术语英文说明1消息队列Message queue消息队列就是一个消息的链表,是内存中独立于生成它的进程的一段存储区,是内核地址空间中的内部链表,一旦创建消息队列,任何进程,只要具有正确的的访问权限,都可以访问消息队列,消息队列非常适合于在进程间交换短信息。每个消息队列都有一个队列头,队列头中包含了该消息队列的大量信息,包括消息队列键值、用户ID、组ID、消息队列中消息数目等等,甚至记录了最近对消息队列读写进程的ID。进程可以访问这些信息,也可以设置其中的某些信息,这个结构存于系统空间。2消息Message消息实质上就是一些字或字节的序列(未必以空字符结尾),它通过消息队列的方法在进程间传递。而一个消息队列包含若干个消息数据结构,每个队列中的消息数据结构的基本属性包括消息类型,消息大小,消息内容指针和下一个消息数据结构位置3共享内存Shared memory共享内存允许两个或多个进程共享一定的存储区,因为不需要拷贝数据,所以这是最快的一种IPC。4信号Signal信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生。5管道Pipe一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。6有名管道Named pipe半双工的通信方式,但是它允许无亲缘关系进程间的通信。7IPCInter-Process Communication进程间通信8内核KernelLinux系统核心9先入先出队列FIFOFirst Input First Output的缩写10亲缘关系Relative指两个进程有共同的祖先11系统调用System call由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口,是应用程序同系统之间的接口12内存管理单元MMU它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权13可移植操作系统接口POSIXPOSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称14缓冲区Buffer暂存数据1.3文档概述本文档是对Linux进程通信模块的需求分析和规格说明书,主要借助RUCM结构化模板,采用用例图等形式进行分析。1.4模块概述Linux使用的进程间通信方式:管道( pipe )与有名管道 (named pipe): 管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量( semaphore ): 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。消息队列( message queue ): 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。信号 ( signal ):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。共享内存( shared memory ):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。2 典型应用场景分析2.1 管道和有名管道管道主要用于父进程与子进程之间,或者两个兄弟进程之间。首先,由父进程创建一个管道后通过系统调用产生子进程。接着,父进程关闭这个通道的读出端,子进程关闭同一通道的写入端。这就在父子进程间提供了一个单向数据流。管道是在内核中的数据结构,所以子进程不会复制管道。但管道的文件描述符在进程空间中,所以子进程获得了管道的文件描述符副本。有名管道是为了解决无名管道只能用于近亲进程之间通信的缺陷而设计的。有名管道是建立在实际的磁盘介质或文件系统(而不是只存在于内存中)上有自己名字的文件,任何进程可以在任何时间通过文件名或路径名与该文件建立联系。有名管道常被用在shell命令行将数据从一条命令传送到另一条命令,而不需要创建中间的临时文件,以及在客户--服务器结构中,使用有名管道在客户和服务器之间交换数据2.2 消息队列消息队列的一个典型应用场景就是对称多处理机器。运行在一个CPU上的调度程

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档