- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统程设计
东北大学秦皇岛分校
计算机与通信工程学院
操作系统课程设计
设计题目Linux的IPC消息实现机制分析
专业名称 班级学号 学生姓名 指导教师 设计时间
课程设计任务书
专业:: 学生姓名(签名):
设计题目:Linux的IPC消息实现机制的分析
一、设计实验条件
实验室
二、设计任务及要求
Linux的IPC消息实现机制的分析
三、设计报告的内容
设计题目与设计任务(设计任务书)Linux的IPC消息实现机制的分析进程间通信(IPC)的一个主要通信方式是通过消息,通过对Linux内核进行分析,说明Linux用于消息实现的主要数据结构,以及实现的方法。在Linux或Windows系统环境下,实现一个系统进程管理器,能够显示当前系统的活动进程信息(进程名、用户、优先级、内存使用等),并能结束或创建特定进程。可参考Windows下“任务管理器”功能。前言(绪论)在操作系统中,有些进程存在着相互制约的关系这些制约关系来源于并行进程的相互合作和资源共享。为了使合作进程和资源共享进程能协调一致的向前推进,必须使他们保持联系,一边相互了解。进程相互间需要交换一定数量的信息,以便协调一致共同完成指定的任务. 这种机制就叫做进程间通信或IPC.在linux 中支持UNIX SYSTEM V 的三种通信机制: 消息队列, 信号量和共享内存.现就消息队列这种机制进行分析设计主体Linux的IPC消息实现机制1、
一个大型的应用系统,往往需要众多进程相互协作,进程间通信(IPC,Interprocess Communication)的重要性就显而易见。Linux下的进程通信手段基本是从Uinx平台上的进程通信手段继承而来。而对Unix发展做出重大贡献的两大主力ATT的贝尔实验室及BSD在进程间通信方面侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“System V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接字(Socket)的进程间通信机制。Linux则把两者都继承下来。
Linux支持多种通信机制,常用的有:信号、管道、System V兼容的消息队列、信号量和共享内存。这里我们重点讨论的是消息队列的形式。见图1
图1 System V 进程间通信机制
Linux采用消息队列的方式来实现消息传递。System V的消息队列(message queues)是进程之间互相发送消息的一种异步(asynchronously)方式,在这种情形之下,发送方不必等待接收方检查它的消息——即在发送完消息后,发送方就可以从事其它工作了——而接收方也不必一直等待消息。
新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。消息队列允许一个或多个进程写消息,一个或多个进程读取消息。Linux维护了一系列消息队列的msgque向量表。其中的每一个单元都指向一个msqid_ds的数据结构,完整描述这个消息队列。当创建消息队列的时候,从系统内存中分配一个新的msqid_ds的数据结构并插入到向量表中每一个msqid_ds数据结构都包括一个ipc_perm的数据结构和进入这个队列的消息的指针。另外,Linux保留队列的改动时间,例如上次队列写的时间等。Msqid_ds队列也包括两个等待队列:一个用于向消息队列写,另一个用于读。 每一次一个进程试图向写队列写消息,它的有效用户和组的标识符就要和队列的 ipc_perm数据结构的模式比较。如果进程可以这个队列写,则消息会从进程的地址空间写到msg数据结构,放到消息队列的最后。每一个消息都带有进程间约定的,应用程序指定类型的标记。但是,因为Linux限制了可以写的消息的数量和长度,可能会没有空间容纳消息。这时,进程会被放到消息队列的写等待队列,然后调用调度程序选择一个新的进程运行。当一个或多个消息从这个消息队列中读出去的时候会被唤醒。从队列中读是一个相似的过程。进程的访问权限一样被检查。一个读进程可以选择是不管消息的类型从队列中读取第一条消息还是选择特殊类型的消息。如果没有符合条件的消息,读进程会被加到消息队列的读等待进程,然后运行调度程序。当一个新的消息写到队列的时候,这个进程会被唤醒,继续运行。
2、
负责:分析消息队列的创建部分以及与它相关的函数,写出代码分析结果,明确相关函数之间的相互调用关系。
负责:分析消息队列的发送部分以及与它相关的函数,写出代码分析结果,明确相关函数之间的相互调用关系。
负责:分析消息队列的接收部分以及与它相关的函数,写出代码分析结果,明确相关函数之间的相互调用关系。
负责:分析消息队列的控制
3、System V IPC 基础
3.1 文件名到键值
#include sys/typ
您可能关注的文档
- 徐州市9年月高一年级学科调研考试化学试题.doc
- 徐州名校届高二学业水平测试模拟试题.doc
- 廊坊沃尔生产运作管理中存在的问题及解决法案.doc
- 徐先勇基于WEB的《机电传动控制》网络教学课件的制作论文正文.doc
- 徐州市第一学期期末高二政治必修试题.doc
- 张铁铮美课件.ppt
- 徐汇新王初一语文补习班之初一上册语文古诗.ppt
- 徐汇最好化学暑假补习班高二化学暑假班平衡状态判断习题课.ppt
- 徐州市七级上册英语期末试卷含答案音频.doc
- 徐汇新王生物补习班专题四酵母细胞的固定化.ppt
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
最近下载
- 武汉理工大学《高等数学》2022-2023学年第一学期期末试卷及答案.docx
- 《企业财务会计》全套PPT课件.pptx
- 社会体育建设方案-专业教学资源库备选项目材料.pdf VIP
- 美的品牌案例分析.pptx VIP
- 美的案例分析.pptx VIP
- 小学生秋季学期第1-20周国旗下讲话稿(新).pdf
- 边做边学——Dreamweaver CS6网页设计案例教程(第3版)(共12单元)01.ppt VIP
- 武汉理工大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 清洁生产与循环经济( 第二版) 教学课件 作者 奚旦立徐淑红高春梅 主编 第4章 清洁生产.ppt
- 美的品牌案例分析.pptx VIP
文档评论(0)