摘要 | 第1-5页 |
ABSTRACT | 第5-6页 |
目录 | 第6-8页 |
第一章 引言 | 第8-10页 |
·背景 | 第8-9页 |
·论文组织结构 | 第9-10页 |
第二章 传统I/O 模型和服务器结构 | 第10-22页 |
·I/O 模型 | 第10-16页 |
·阻塞I/O | 第11-12页 |
·非阻塞I/O | 第12-13页 |
·多路复用I/O | 第13-14页 |
·信号驱动I/O | 第14-15页 |
·异步I/O | 第15-16页 |
·服务器结构 | 第16-22页 |
·单进程循环服务器 | 第17页 |
·多进程服务器 | 第17-19页 |
·多线程服务器 | 第19-20页 |
·单进程事件驱动(Single-Process Event-Driven-SPED)服务器 | 第20-22页 |
第三章 对事件驱动I/O 的改进 | 第22-28页 |
·对select/poll 的分析 | 第22-24页 |
·select/poll 的原理 | 第22-23页 |
·select/poll 的缺陷 | 第23-24页 |
·几种替代方案 | 第24-28页 |
·Solaris 的/dev/poll | 第24-25页 |
·BSD 的Kqueue | 第25-26页 |
·Linux 的epoll | 第26-27页 |
·实时信号驱动I/O | 第27-28页 |
第四章 实时信号驱动I/O | 第28-32页 |
·实时信号 | 第28-29页 |
·实时信号驱动I/O | 第29页 |
·实时信号驱动I/O 的缺陷和改进设想 | 第29-32页 |
第五章 设计与实现 | 第32-69页 |
·概要设计 | 第32-36页 |
·信号值索引数组 | 第32-33页 |
·描述符散列表 | 第33-34页 |
·将信号结构放在系统打开文件结构中 | 第34-35页 |
·查看和修改内核参数 | 第35-36页 |
·详细设计与实现 | 第36-69页 |
·基本实现一(基于描述符散列表) | 第36-51页 |
·信号值索引数组 | 第36-39页 |
·描述符散列表结构 | 第39-41页 |
·空间分配 | 第41-42页 |
·信号产生 | 第42-46页 |
·信号递送 | 第46-49页 |
·每个描述符一个信号 | 第49-51页 |
·基本实现二(将信号结构放在系统打开文件结构中) | 第51-59页 |
·修改打开文件结构 | 第51页 |
·信号队列结构 | 第51-52页 |
·空间分配 | 第52页 |
·信号产生 | 第52-56页 |
·信号递送 | 第56-57页 |
·打开和关闭每个描述符一个信号 | 第57-59页 |
·基本实现中的一些问题 | 第59-61页 |
·关闭文件描述符 | 第59-61页 |
·在进程间传递描述符 | 第61页 |
·查看和修改内核参数 | 第61-69页 |
·/proc 文件系统简介 | 第61-63页 |
·创建/proc 入口文件 | 第63-66页 |
·读写内核参数的实现示例 | 第66-69页 |
第六章 测试与结果分析 | 第69-76页 |
·测试环境 | 第69页 |
·功能测试 | 第69-70页 |
·性能测试 | 第70-76页 |
·模拟通信服务器 | 第70-75页 |
·模拟WEB 服务器 | 第75页 |
·同时使用多种信号的效率 | 第75-76页 |
第七章 结论 | 第76-77页 |
参考文献 | 第77-78页 |
致谢 | 第78-79页 |
个人简历 | 第79页 |