学位论文 > 优秀研究生学位论文题录展示
基于Minix的进程间通信系统的设计与实现
作 者: 陆冠群
导 师: 涂时亮
学 校: 复旦大学
专 业: 计算机系统结构
关键词: 进程间通信 共享内存 信号量 同步 虚拟内存 操作系统 Minix
分类号: TP316
类 型: 硕士论文
年 份: 2010年
下 载: 76次
引 用: 0次
阅 读: 论文下载
内容摘要
进程间通信作为操作系统中重要的原语之一,提供了在多个隔离的进程之间通信交流的可能性。Minix 3是由Minix 2经过大部分重写的一个崭新的操作系统,是一个正在快速发展中的微内核操作系统,正因为如此,它的一些功能还很缺乏。而进程间通信模块正是该操作系统中欠缺且亟需实现的一个部份,该功能的缺乏直接导致了某些重要的应用程序(比如PostgreSQL)无法成功地移植到Minix 3平台中,另外使得在该平台上开发多进程合作的程序变得异常复杂。本文的项目基于与阿姆斯特丹的Vrije大学合作,设计开发了基于Minix 3操作系统且完全符合POSIX标准的进程间通信系统。本文立足于进程间通信系统的设计和实现,同时展示了如何在微内核的架构上实现具有良好语义规范的进程间通信系统,并且比较了微内核与宏内核在实现同样功能上的差异。共享内存作为进程间通信中最基本的一种方法,它的效率是最高的,每个独立的进程都可以同时独立地操控这段获得的共享内存,因为该段内存已经被映射到自己的地址空间。信号量是进程间通信中用于同步的原语,提供了进程请求获得资源和释放资源的基本功能。虽然看起来这两者的功能是如此的不相同,但是通过本文设计的进程间通信框架,这两者可以有效地结合在一起,并且本文提出的框架提供了扩展更多原语和功能的平台。由于作为微内核的操作系统与我们普通认知的宏内核的操作系统有较大的差别,同时它将各种服务作为普通用户进程的方法等等这些特点都给这个课题提供了广阔的研究空间。
|
全文目录
目录 3-6 摘要 6-7 Abstract 7-8 第一章 绪论 8-12 1.1 引言 8 1.2 研究背景、目标和意义 8-10 1.2.1 研究背景 8-10 1.2.2 研究意义 10 1.2.3 研究目标及内容 10 1.3 论文主要完成的工作及创新点 10-11 1.4 论文的组织结构 11 1.5 关于论文用词的一点说明 11-12 第二章 Minix系统介绍 12-16 2.1 Minix系统主体架构 12-14 2.2 开发环境的建立 14-15 2.3 版本控制和代码仓库 15-16 第三章 进程间通信模块的架构设计 16-20 3.1 进程间通信概念简介 16 3.2 Minix需要进程间通信模块的重要性 16-17 3.3 进程间通信编程接口使用流程 17-18 3.4 基于Minix的进程间通信模块框架设计 18-20 第四章 共享内存模块设计与实现 20-44 4.1 本章总体布局 20 4.2 共享内存介绍 20 4.3 Intel x86内存架构解析 20-30 4.3.1 地址空间 21 4.3.2 各种地址概念 21-22 4.3.3 x86内存管理机制 22-30 4.4 虚拟内存管理模块架构 30 4.5 共享内存模块的API接口 30-32 4.5.1 共享内存段的创建 30-31 4.5.2 共享内存段的连接 31 4.5.3 共享内存段的分离 31 4.5.4 共享内存段的控制 31-32 4.6 共享内存模块的设计框架 32-35 4.7 共享内存模块的实现细节 35-43 4.7.1 shmget的实现 35-37 4.7.2 shmat的实现 37-39 4.7.3 shmdt的实现 39-40 4.7.4 shmctl的实现 40-42 4.7.5 AVL结构组织的虚拟内存对本模块的影响 42-43 4.8 与Linux中的共享内存模块的实现比较 43 4.9 本章小结 43-44 第五章 信号量模块设计与实现 44-62 5.1 本章总体布局 44 5.2 信号量介绍 44-46 5.3 POSIX信号量集的API接口 46-48 5.3.1 信号量集的创建 46 5.3.2 信号量集的控制 46-48 5.3.3 信号量集操作 48 5.4 信号量模块的设计框架 48-51 5.5 信号量模块的实现细节 51-58 5.5.1 semget的实现 51-52 5.5.2 semctl的实现 52-55 5.5.3 semop的实现 55-58 5.6 遇到的实现难点 58-61 5.6.1 遇到的问题 58-59 5.6.2 解决方案 59-61 5.7 与Linux中的信号量模块的实现比较 61 5.8 本章小结 61-62 第六章 进程间通信模块的测试与应用 62-73 6.1 移植Linux Test Project 62-65 6.1.1 Linux测试项目介绍 62 6.1.2 基于测试驱动的开发模式 62-63 6.1.3 测试用例举例说明 63-65 6.1.4 测试结果图示 65 6.2 移植PostgreSQL 65-68 6.2.1 选择PostgreSQL的原因 65-66 6.2.2 移植中的问题 66-67 6.2.3 移植结果 67-68 6.3 哲学家就餐问题 68-71 6.3.1 就餐问题介绍 68-69 6.3.2 问题求解 69-71 6.4 性能评测 71-72 6.4.1 评测程序 71 6.4.2 评测结果 71-72 6.5 本章小结 72-73 第七章 结束语 73-74 7.1 本文的主要工作 73 7.2 进一步的研究工作 73-74 参考文献 74-76 附录 攻读学位期间发表的论文 76-77 致谢 77-78
|
相似论文
- 非晶合金的结构和玻璃形成能力研究,TG139.8
- 熔化极气体保护焊熔滴过渡图像分析系统,TG444
- 基于DSP的离焦信号同步采集与处理技术研究,TH741
- 分数槽集中绕组永磁同步电机参数化设计研究,TM341
- 电动车用复合结构永磁同步电机系统的仿真研究,TM341
- 内置式高效永磁同步电机的设计研究,TM341
- 同步电动机励磁控制系统研究,TM341
- 永磁同步电机转子初始位置估计,TM341
- 电动车用轴径向—轴向磁通复合结构永磁同步电机的研究,TM341
- 突发OFDM系统同步与信道估计算法及FPGA实现,TN919.3
- 跳频通信系统中同步及频率自适应算法研究,TN914.41
- 面向统计机器翻译的解码算法的研究,TP391.2
- 精密时钟同步协议研究与实现,TP393.11
- 基于千兆网的双相机高速同步采集系统设计,TP274.2
- 专用目标模拟器同步控制算法研究,TP273
- PXI高性能数字I/O模块研制,TP274
- 一类欠驱动Lagrangian系统的最优同步控制,TP13
- 基于同步控制的多指手操作控制方法的研究,TP242
- ML模型下耦合可兴奋系统的动力学研究,Q42
- 关于混沌系统同步控制方面的研究,O415.5
- 基于神经网络辨识的同步发电机励磁控制研究,TM31
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 操作系统
© 2012 www.xueweilunwen.com
|