通常SCSI总线适配器作为PCI设备的形式存在,其在计算机体系结构中的位置如下图所示:图1 scis host及device在计算机体系结构中的位置

在系统初始化时会扫描系统PCI总线,由于scsi host adapter挂接在pci总线上,因此会被pci扫描软件扫描得到,并且生成一个pci device(PDO)。

然后扫描软件需要为该pci device加载相应的驱动程序。在linux系统中,遍历pci bus上存在的所有驱动程序,检查是否有符合要求的驱动程序存在,这里假设scsi host是marwell的设备,那么,如果存在marwell提供的scsi host driver,就会被成功调用。

加载scsi host驱动时,pci扫描程序会调用scsi host driver提供的probe函数,该probe函数是scsi host driver在初始化驱动时注册到pci-driver上的(Linux的总线驱动都是采用的这种思路)。

在scsi host具体的probe函数中会初始化scsi host,注册中断处理函数,并且调用scsi_host_alloc函数生成一个scsi host,然后添加到scsi middle level,最后调用scsi_scan_host函数扫描scsi host adapter所管理的所有scsi总线。

一个scsi host adapter可能拥有多个channel,每个channel拥有一条scsi总线。传统scsi总线是并行共享总线,现有的SATA、SAS等P2P 接口在逻辑上可以理解成总线的一种特例,所以scsi middle level驱动程序是通用的。

由于一个scsi host可能存在多个channel,因此依次扫描每个channel。按照spec,传统scsi bus上最多可以连接16个scsi target,因此,scsi扫描程序会依次探测target。一个scsi target可以存在多种功能,每种功能称之为LUN,对于单功能设备(例如磁盘),其LUN通常为0。

Scsi host的扫描过程可以简单采用如下伪码进行描述:

For (channel = 0; channel < max_channel; channel++) {

/* 对一个适配器的每个通道中的设备进行识别 */

For (id=0; id。

全部

linux怎么扫描磁盘,Linux中磁盘扫描流程是怎么样的?相关推荐

  1. Nmap在pentest box中的扫描及应用

    最近一直在思考,Web***中,正面的***是一种思路,横向和纵向***也是一种思路,在***过程中,目标主站的防护越来越严格,而子站或者目标所在IP地址的C段或者B端的***相对容易,这种***涉及 ...

  2. linux设置组配置额步骤,linux 中磁盘配额设置

    linux 中磁盘配额设置 在一些linux文件服务器中需要限制某个用户的磁盘用量,防止磁盘爆满 1)首先设置磁盘某个分区需要是一个文件系统 需要在这个区添加用户和组 比如说/dev/sdb1分区 建 ...

  3. Linux系统中磁盘创建管理(一)

    Linux系统中磁盘创建管理(一) 在linux系统中安装lvm必要的服务 install lvm-common lvm2 evms Linux系统中有一张分区表,系统在开机之后根据这个表里面的记录来 ...

  4. linux qt ping,Qt5.2中使用ping命令实现Ip扫描功能

    在实现类似于Free IP Scanner 2.1的Ip扫描器软件中,会用到ping命令.如果使用Qt编程实现,主要会用QThread.QProcess这两个类.关于这两个类的具体用法可以查阅Qt助手 ...

  5. linux分区变为空闲,分析linux系统中磁盘空闲空间的管理方法

    分析linux系统中磁盘空闲空间的管理方法 汪建国 摘要:要把文件信息存放在存储介质上,必须先找出存储介质上可供使用的空闲块.如何实现存储空间的分配和收回,取决于对空闲块的管理方法,主要有两种对磁盘存 ...

  6. Linux中磁盘的管理(格式化、分区、挂载)

    文章目录 Linux中磁盘的管理(分区.格式化.挂载) 一.认识磁盘 1.什么是磁盘: 2.磁盘运行机理: 3.磁盘的扇区.磁道.柱面: 4.磁盘的分类: 二.磁盘的分区 1.为什么要分区 (1)易于 ...

  7. 在UNIX \ Linux终端中的可视化磁盘空间和磁盘使用情况小工具 - Vizex

    在UNIX\ Linux终端中的可视化磁盘空间和磁盘使用情况小工具 - Vizex 背景-什么是Vizex Linux终端上安装方法 如何使用Vizex 1. vezix 2. vizexdf 3. ...

  8. linux 运行中磁盘故障,Linux 检查磁盘损坏情况命令 -必会

    原因:前一段时间,朋友面试,有一个面试题问的是如何检测磁盘时候有损害.当心心里就是猛的咯噔了一下,好像自己也不知道耶,好吧.于是花了些时间整理了一下. 1.badblocks 功能说明:检查磁盘装置中 ...

  9. df命令能够实现linux系统磁盘管理中,Linux_linux磁盘命令中df命令的作用,linux磁盘命令中df命令的使用, - phpStudy...

    linux磁盘命令中df命令的作用 linux磁盘命令中df命令的使用,系统管理员想要知道df命令的功能,看完本文相信您能得到一个满意的答案.磁盘配额:问题是他们没有表达同时想获得磁盘配额管理工具的愿 ...

  10. linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...

    天萃荷净 使用dd复制asm中文件,随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习笔记 1.查询ASM某个数据文件AU信息 SQL&g ...

最新文章

  1. 汉语拼音+脑洞[BJDCTF 2nd]老文盲了
  2. python中的优化器有哪些_Python中有哪些性能优化方法
  3. MySQL数据库-笔记01【数据库概念、数据库安装、终端操作数据库】
  4. jquery ajax load
  5. jquery 获取easyui combobox选中的值
  6. ElasticSearch初体验之使用Java进行最基本的增删改查
  7. php 修改文件访问时间,PHP中获取文件创建日期、修改日期、访问时间的方法
  8. 算法:对象方式数组去重
  9. 国产剧注水严重 广电总局拟将出手:剧集不得超过40集
  10. speech开源框架_微软SAPI(The Microsoft Speech API):让你的软件能说会道
  11. iphonex售价_苹果将发电竞笔记本,售价3.5w起!
  12. 机器学习基石PLA相关
  13. PAT (Basic Level) Practice1017 A除以B
  14. MICCAI 2019 Poster
  15. 标准正态分布表(scipy.stats)
  16. 字符集和字符集编码详解
  17. IT大学生成长周报 | 第 5 期
  18. platform device和platform driver
  19. SQL server 常见面试题
  20. 数字证书原理详细介绍 单向认证 双向认证

热门文章

  1. 工厂如何实现无线wifi短信验证登录?工厂上网实名认证系统
  2. proteus中示波器的各刻度的含义
  3. 【ThreadPoolTaskExecutor】 SpringBoot 的线程池的使用
  4. 微信小程序原生上传图片封装
  5. pg创建数据库和用户并授权
  6. 小项目:网易云音乐播放器
  7. 找出相似的图片--C#
  8. 使用VS+QT问题小结
  9. 某直播APP逆向TCP协议分析
  10. resultful风格使用方式