- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
scsi子系统报告()
dft SCSI子系统报告 设备驱动分析 彭成章 路新疆 武文斌 2010-7-7
本次SCSI子系2.6.24),SCSI体系1】,命令模型【2】及其他相第1章 前言 3
1.1 实验环境 3
1.2 阅读和理解代码的方法 3
1.3 阅读过的文档 3
1.4 将讨论哪些内容和不讨论哪些内容 3
第2章 SCSI子系统概述 3
2.1 整体概述 3
2.2 上层 4
2.3 中层 5
2.4 下层 5
2.5 SCSI-3架构 5
2.5.1 SCSI-3客户-服务器模型 6
2.5.2 SCSI端口 8
2.5.3 SCSI设备 8
2.5.4 SCSI通信模型 9
第3章 Linux SCSI 子系统关键数据结构 9
3.1 SCSI HOST 9
3.1.1 scsi host的抽象 12
3.2 SCSI DEVICE 13
3.2.1 scsi device的抽象 13
3.3 SCSI TARGET 15
3.3.1 scsi target的抽象 15
3.4 request queue 16
3.5 request 18
3.6 others 20
3.6.1 Scsi host driver 20
3.6.2 Linux中磁盘扫描流程描述 21
3.6.3 low-level接口方法——scsi_host_template 23
3.6.4 scsi_scan_host函数 25
3.6.5 scsi_request_fn函数 25
3.6.6 scsi_dispatch_cmd函数 26
3.6.7 scsi设备扫描过程描述 26
3.6.8 Scsi Disk驱动IO回调路径分析 28
第4章 SCSI子系统处理流程分析 30
4.1 SCSI启动过程分析 30
4.2 SCSI 命令处理分析 30
4.2.1 简单命令 30
4.2.2 scsi设备读写过程 30
4.2.3 读命令 31
4.2.4 写命令 31
SCSI子系统报告提纲
前言
1.1 实验环境
1.2 阅读和理解代码的方法
1.3 阅读过的文档
1.4 将讨论哪些内容和不讨论哪些内容
第2章 SCSI子系统概述
图2显示了 SCSI 子系统在 Linux 内核中的位置。内核的顶部是系统调用接口,处理用户空间调用到内核中合适的目的地的路由(例如 open、read 或 write)。而虚拟文件系统(VFS) 是内核中支持的大多数文件系统的抽象层。它负责将请求路由到合适的文件系统。大多数文件系统都通过缓冲区缓存来相互通信,这种缓存通过缓存最近使用的数据来优化对物理设备的访问。接下来是块设备驱动器层,它包括针对底层设备的各种块驱动器。SCSI 子系统是这种块设备驱动器之一。
图2 SCSI 子系统在 Linux 内核中的位置
2.1 整体概述
SCSI 子系统与 Linux 内核中的其他主流子系统不同,SCSI 子系统是一种分层的架构,共分为三层。顶部的那层叫做较高层,代表的是内核针对 SCSI 和主要设备类型的驱动器的最高接口。接下来的是中间层,也称为公共层或统一层。在这一层包含 SCSI 堆栈的较高层和较低层的一些公共服务。最后是较低层,代表的是适用于 SCSI 的物理接口的实际驱动器。(如图2)
?? 图 2.1 Linux SCSI 子系统的分层架构
2.2 上层
SCSI 子系统的较高层代表的是内核(设备级)最高级别的接口。它由一组驱动器组成,比如块设备(SCSI 磁盘和 SCSI CD-ROM)和字符设备(SCSI 磁带和 SCSI generic)。较高层接受来自上层(比如 VFS)的请求并将其转换成SCSI 请求。较高层负责完成 SCSI命令并将状态信息通知上层。
SCSI 磁盘驱动器在 ./linux/drivers/scsi/sd.c 内实现。SCSI 磁盘驱动器通过调用 register_blkdev(作为块驱动器)进行自初始化并通过 scsi_register_driver 提供一组函数以表示所有 SCSI 设备。其中 sd_probe 和 sd_init_command 这两个函数很重要。只要有新的 SCSI设备附加到系统, SCSI 中间层就会调用 sd_probe 函数。sd_probe 函数可决定此设备是否由 SCSI 磁盘驱动器管理,如果是,就创建新的 scsi_disk 结构来表示它。sd_init_command 函数将来自文件系统层的请求转变成 SCSI 读或写命令(为完成这个 I/O 请求,sd_rw_intr 会被调用)。
SCSI 磁带驱动器在 ./linux/drivers/scsi/st.c 内实现。磁带驱动
您可能关注的文档
- 最全 著名商标申请材料范本 包括商标管理办法,认定理由 .doc
- 免费下载 个体工商户商铺、门面租赁合同范本.doc
- (人教新课标)三年级数学下册课件_数学广角—重叠问题.ppt
- (定稿)雅诗兰黛.doc
- (浙教版)小学五年级语文狼牙山五壮士课件.ppt
- (海盐县)关于本地区工矿企业事故类别分析及其防范措施的探讨.doc.doc
- ---也美丽半命题作文2.doc
- 0-1整数规划的算法及其应用.doc
- 00149国际贸易理论与实务知识要点.doc
- 004752s紫外可见分光光度计验证方案.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)