文摘
英文文摘
声明
致谢
1 引言
1.1课题背景
1.2课题提出的意义
1.3课题主要工作
1.4论文的主要结构
2 系统分析
2.1 Linux设备模型分析
2.1.1 sysfs文件系统
2.1.2 Kobjject、kset和子系统
2.1.3设备模型组件
2.1.4添加或删除设备模型组件
2.2块设备I/O请求处理
2.3 Linux SCSI子系统
2.3.1 SCSI的系统结构
2.3.2 SCSI子系统与内核上层的交互
2.3.3 Linux SCSI子系统的分层结构
2.3.4使用这三层的IO请求流程
2.3.5 SCSI上层SD模块
2.3.6 SCSI中间层
2.3.7 SCSI下层驱动模块
2.4 Linux USB子系统
2.4.1 USB协议的设计思想
2.4.2 LINUX USB子系统的体系结构
2.5一次IO数据传输流程及存在的问题
2.5.1一次IO数据传输流程
2.5.2存在的问题
3 系统改进设计
3.1系统优化体系图
3.2 SD卡设备驱动程序
3.2.1 SD卡设备硬件结构
3.2.2 Linux平台MMC的实现
3.3 USB大容量存储类
3.3.1 Bulk-Only传输协议
3.3.2 USB大容量存储类设备工作原理
3.4优化设计思想
4 系统实现
4.1硬件框架
4.2 USB驱动程序
4.2.1驱动程序支持哪些设备
4.2.2注册USB驱动程序
4.2.3探测和断开的细节
4.2.4提交和控制urb
4.3 USB设备的配置和管理过程
4.4 USB主机端大容量存储设备驱动程序分析
4.4.1结构us_data
4.4.2驱动程序支持哪些设备
4.4.3注册USB驱动程序
4.4.4大存储驱动程序的探测函数storage_probe
4.4.5 USB大容量块设备驱动程序IO流程
4.5 USB设备大容量存储设备驱动程序实现和优化
4.5.1 USB从设备驱动程序体系结构
4.5.2 Gadget相关结构
4.5.3如何表现为USB mass storage设备部分
4.5.4 SCSI协议的处理部分
4.5.5 SC_READ_10和SC_WRITE_10的具体实现
5 传输速度测试
6 结束语
6.1全文总结
6.2下一步的工作
参考文献
作者简历
北京交通大学;