转载保留:http://blog.csdn.net/luoweifeng1989/archive/2011/05/17/6426193.aspx

一直不知道 sda sdb sr0 这些名字的前两两个字母是什么意思

  • > > On Tue, Nov 3, 2009 at 9:34 AM, Derek Broughton
  • > > <derek@pointerstop.ca>wrote:
  • > > Translation - I don't know either... lol
  • > Actually, I'd already said that - and suggested "raw" as a
  • > wild guess. But
  • > I was intrigued that Detlef thought that knowing what it stood
  • > for would
  • > prevent errors, since I really can't imagine how most of us
  • > would need to
  • > know it.
  • > --
  • > derek
  • >
  • > And knowing the acronym definitions probably won't help the learning
  • > too much, either.
  • > But, according to the Linux SCSI sub-system documentation I have, it
  • > would have to stand for _SCSI_ _READ_ since it is a cd drive that is
  • > designated read-only. For generic operations on the same device, it
  • > would map to sg0 (_SCSI_ _GENERIC_) in order to gain the write perm.
  • > Apparently all of the devices like /dev/sr0, /dev/st0, /dev/nst0x map
  • > to an sg device for generic operations.
  • > Although _raw_ seems to be a good logical choice.
  • Loïc had it right.
  • But you should read the code from orbit. It's the only way to make sure.
  • >From a 2.4 kernel source
  • drivers/scsi/sd.c
  • static struct Scsi_Device_Template sd_template = {
  • name:"disk",
  • tag:"sd",
  • scsi_type:TYPE_DISK, <== "d" for disk
  • major:SCSI_DISK0_MAJOR,
  • /*
  • * Secondary range of majors that this driver handles.
  • */
  • min_major:SCSI_DISK1_MAJOR,
  • max_major:SCSI_DISK7_MAJOR,
  • blk:1,
  • detect:sd_detect,
  • init:sd_init,
  • finish:sd_finish,
  • attach:sd_attach,
  • detach:sd_detach,
  • init_command:sd_init_command,
  • };
  • drivers/scsi/st.c
  • static struct Scsi_Device_Template st_template =
  • {
  • name:"tape",
  • tag:"st",
  • scsi_type:TYPE_TAPE, <== "t" for tape
  • major:SCSI_TAPE_MAJOR,
  • detect:st_detect,
  • init:st_init,
  • attach:st_attach,
  • detach:st_detach
  • };
  • drivers/scsi/sr.c
  • static struct Scsi_Device_Template sr_template =
  • {
  • name:"cdrom",
  • tag:"sr",
  • scsi_type:TYPE_ROM, <== "r" for ROM
  • major:SCSI_CDROM_MAJOR,
  • blk:1,
  • detect:sr_detect,
  • init:sr_init,
  • finish:sr_finish,
  • attach:sr_attach,
  • detach:sr_detach,
  • init_command:sr_init_command
  • };
  • >From a 2.6 kernel source
  • drivers/scsi/sr.c
  • MODULE_DESCRIPTION("SCSI cdrom (sr) driver");
  • MODULE_LICENSE("GPL");
  • MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_CDROM_MAJOR);
  • MODULE_ALIAS_SCSI_DEVICE(TYPE_ROM);
  • MODULE_ALIAS_SCSI_DEVICE(TYPE_WORM);
  • --
  • ubuntu-users mailing list
  • ubuntu-users@lists.ubuntu.com
  • Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-users

可以看出:

sr代表 scsi + rom

sd代表 scsi + disk

sg 代表 scsi + generic

st代表 scsi + tape

/dev/cdrom 只是/dev/sr0的符号链接

linx 设备名字来由 sd sr sg st的更多相关文章

  1. 如何获取ios 设备名字 model

    由于需要获取设备名字,在网上找了一些方法,发现能够解决问题,但是需要做一个匹配,然后设备年年都会出新款,而且设备的种类又很多,所以在获取设备信息后我又做了一个操作,--->我在google上找到 ...

  2. Android设备内存和SD卡操作工具类

    package cc.c; import java.io.File; import java.util.List; import android.os.StatFs; import java.io.F ...

  3. linux设备管理之主设备号与次设备号

    主设备号和次设备号 一个字符设备或者块设备都有一个主设备号和次设备号.主设备号和次设备号统称为设备号.主设备号用来表示一个特定的驱动程序.次设备号用来表示使用该驱动程序的其他设备.(主设备号和控制这类 ...

  4. Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门

    Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...

  5. 识别 Linux上的设备(磁盘)类型

    1. Linux 上的设备 (device) Linux 操作系统中,各种设备驱动(device driver)通过设备控制器(device controller)来管理各种设备(device),其关 ...

  6. (转载)使用 udev 高效、动态地管理 Linux 设备文件

    概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等.通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是 ...

  7. (转载)linux中设备文件配置程序udev详解

    如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev ...

  8. 嵌入式 使用udev高效、动态地管理Linux 设备文件

    本文以通俗的方法阐述 udev 及相关术语的概念.udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例.本文会使那 ...

  9. 【转】使用 udev 高效、动态地管理 Linux 设备文件

    简介: 本文以通俗的方法阐述 udev 及相关术语的概念.udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例.本 ...

随机推荐

  1. jTemplates模板学习笔记

    1.jTemplates工作方式   1)setTemplateElement:指定可处理的模板对象 2)processTemplate:对模板化的对象进行数据处理 2.语法解析   1)jTempl ...

  2. CocoSourcesCS 3

    CocoSourcesCS 3 /*---------------------------------------------------------------------- Compiler Ge ...

  3. [TypeScript] Work with DOM Elements in TypeScript using Type Assertions

    The DOM can be a bit tricky when it comes to typing. You never really know exactly what you're going ...

  4. chrome浏览器 提示Adobe Flash Player未安装的解决方法

    最近遇到了个flash player设置的一个问题,记录一下,可能不同浏览器版本和设置不一样 浏览器版本:版本 61.0.3163.100(正式版本) (64 位) 打开需要flash player的 ...

  5. java类与对象_成员变量和局部变量区别

    成员变量和局部变量:1.成员变量:再类中定义,用来描述对象将要有什么.2.局部变量:在类的方法中定义,在方法中临时保存数据.区别:1.作用域不同:  局部:仅限于定义它的方法  成员:整个类中都是可见 ...

  6. AFNetworking 下载文件断点续传操作

    一:本示例代码包括: 文件下载,写入指定目录 下载进度,回调Progress; 断点续传,下载暂停,继续操作: 二:本项目 适用于 AFNetworking 1.x 版本 #pragma mark 断 ...

  7. javascript Date日期类

      四.Date日期类 迁移时间:2017年5月27日18:43:02 Author:Marydon (一)对日期进行格式化(日期转字符串) 自定义Date日期类的format()格式化方法 方式一: ...

  8. C#创建COM组件供VB,PB,Delphi调用

    1  COM组件概述 COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成 ...

  9. 阿里云云盘扩容数据盘_Linux

    随着业务的增长,您的数据盘容量可能无法满足数据存储的需要,这时您可以使用 磁盘扩容 功能扩容数据盘.   说明 挂载在实例上的数据盘,只有当实例处于 运行中 (Running) 或 已停止(Stopp ...

  10. C++之声明与定义的区别

    直接举例,在C++中,声明与定义的区别如下: extern int a;//若有extern关键字,则只是声明 int b;//若没有extern关键字,则为声明+定义 int a;//若之前已经声明 ...