linux设备号详解.docx

上传人:b****7 文档编号:11211293 上传时间:2023-02-25 格式:DOCX 页数:12 大小:24.92KB
下载 相关 举报
linux设备号详解.docx_第1页
第1页 / 共12页
linux设备号详解.docx_第2页
第2页 / 共12页
linux设备号详解.docx_第3页
第3页 / 共12页
linux设备号详解.docx_第4页
第4页 / 共12页
linux设备号详解.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

linux设备号详解.docx

《linux设备号详解.docx》由会员分享,可在线阅读,更多相关《linux设备号详解.docx(12页珍藏版)》请在冰豆网上搜索。

linux设备号详解.docx

linux设备号详解

转载】设备文件简介

linux中的设备有2种类型:

字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。

每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。

这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备")。

每个设备在/dev目录下都有一个对应的文件(节点)。

可以通过cat/proc/devices命令查看当前已经加载的设备驱动程序的主设备号。

内核能够识别的所有设备都记录在原码树下的documentation/devices.txt文件中。

在/dev目录下除了字符设备和块设备节点之外还通常还会存在:

fifo管道、socket、软/硬连接、目录。

这些东西没有主/次设备号。

$ls-l/dev/rfd0/dev/fd0

brw-r----- 9rootoperator2,0nov1213:

32/dev/fd0

crw-r----- 9rootoperator9,0nov1213:

32/dev/rfd0

  可以看到原来显示文件大小的地方,现在改为显示两个用逗号分隔的数字。

这是系统用来表示设备的两个重要的序号,第一个为主设备号(majornumber),用来表示设备使用的硬件驱动程序在系统中的序号;第二个为从设备号(minornumber)。

linux内核所能识别的所有设备都记录在

http:

//www.lanana.org/docs/device-list/

而内核原码树中的documentation/devices.txt可能不是最新版本。

了解这些设备的最基本要求就是对每个设备文件的含义了如指掌,下面就医列表的形式列出常见的设备文件以及相应的含义(比较偏僻的就省略了):

代码:

----------------------------------------------------------------------

主设备号    设备类型

        次设备号=文件名     简要说明

----------------------------------------------------------------------

 0        未命名设备(例如:

挂载的非设备)

         0=未空设备号保留

 1char    内存设备

         1=/dev/mem        直接存取物理内存

         2=/dev/kmem       存取经过内核虚拟之后的内存

         3=/dev/null        空设备。

任何写入都将被直接丢弃,任何读取都将得到eof。

         4=/dev/port        存取i/o端口

         5=/dev/zero        零字节源,只能读取到无限多的零字节。

         7=/dev/full        满设备。

任何写入都将失败,并把errno设为enospc以表示没有剩余空间。

         8=/dev/random    随机数发生器。

完全由用户的输入来产生随机数。

                    如果用户停止所有动作,则停止产生新的随机数。

         9=/dev/urandom    更快,但是不够安全的随机数发生器。

尽可能由用户的输入来产生随机数,

                    如果用户停止所有动作,则把已经产生的随机数做为种子来产生新的随机数。

        10=/dev/aio        异步i/o通知接口

        11=/dev/kmsg        任何对该文件的写入都将作为printk的输出

 1block    ramdisk

         0=/dev/ram0        第1个ramdisk(initrd只能使用ram0)

         1=/dev/ram1        第2个ramdisk

          ...

        200=/dev/ram200    第200个ramdisk

 4char    tty(终端)设备

         0=/dev/tty0        当前虚拟控制台

         1=/dev/tty1        第1个虚拟控制台

          ...

        63=/dev/tty63    第63个虚拟控制台

 4block    如果根文件系统以是以只读方式挂载的,那么就不可能创建真正的设备节点,

        此时就使用该设备作为动态分配的主(major)设备的别名

         0=/dev/root

 5char    其他tty设备

         0=/dev/tty        当前tty设备

         1=/dev/console    系统控制台

         2=/dev/ptmx        所有ptymaster的复用器

 7char    虚拟控制台捕捉设备(这些设备既允许读也允许写)

         0=/dev/vcs        当前虚拟控制台(vc)的文本内容

         1=/dev/vcs1        tty1的文本内容

          ...

        63=/dev/vcs63    tty63的文本内容

        128=/dev/vcsa        当前虚拟控制台(vc)的文本/属性内容

        129=/dev/vcsa1    tty1的文本/属性内容

          ...

        191=/dev/vcsa63    tty63的文本/属性内容

代码:

7block    回环设备(用一个普通的磁盘文件来模拟一个块设备)

        对回环设备的绑定由mount(8)或losetup(8)处理

         0=/dev/loop0    第1个回环设备

         1=/dev/loop1    第2个回环设备

          ...

 8block    scsi磁盘(0-15)

         0=/dev/sda        第1个scsi磁盘(整个磁盘)

        16=/dev/sdb        第2个scsi磁盘(整个磁盘)

        32=/dev/sdc        第3个scsi磁盘(整个磁盘)

          ...

        240=/dev/sdp        第16个scsi磁盘(整个磁盘)

        分区表示方法如下(以第3个scsi磁盘为例)

        33=/dev/sdc1        第1个分区

        34=/dev/sdc2        第2个分区

          ...

        47=/dev/sdc15    第15个分区

        对于linux/i386来说,分区1-4是主分区,5-15是逻辑分区。

 9block    metadisk(raid)设备

         0=/dev/md0        第1组metadisk

         1=/dev/md1        第2组metadisk

          ...

        metadisk驱动用于将同一个文件系统分割到多个物理磁盘上。

10char    非串口鼠标,各种杂项设备和特性

         1=/dev/psaux    ps/2鼠标

        131=/dev/temperature    机器内部温度

        134=/dev/apm_bios    apm(高级电源管理)bios

        135=/dev/rtc        实时时钟(realtimeclock)

        144=/dev/nvram    非易失配置ram

        162=/dev/smbus    系统管理总线(systemmanagementbus)

        164=/dev/ipmo        intel的智能平台管理(intelligentplatformmanagement)接口

        173=/dev/ipmikcs    智能平台管理(intelligentplatformmanagement)接口

        175=/dev/agpgart    agp图形地址重映射表(graphicsaddressremappingtable)

        182=/dev/perfctr    性能监视计数器

        183=/dev/hwrng    通用硬件随机数发生器

        184=/dev/cpu/microcodecpu微代码更新接口

        186=/dev/atomicps    进程状态数据的原子快照

        188=/dev/smbusbios    smbus(系统管理总线)bios

        200=/dev/net/tun    tap/tun网络设备(tap/tun以软件的方式实现了网络设备)

                    tap模拟了以太网帧(第二层),tun模拟了ip包(第三层)。

        202=/dev/emd/ctl    增强型metadiskraid(emd)控制器

        220=/dev/mptctl    messagepassingtechnology(mpt)control

        223=/dev/input/uinput    用户层输入设备驱动支持

        227=/dev/mcelog    x86_64machinecheckexceptiondriver

        228=/dev/hpet        hpetdriver

        229=/dev/fuse        fuse(用户空间的虚拟文件系统)

        231=/dev/snapshot    系统内存快照

        232=/dev/kvm        基于内核的虚构机(基于amdsvm和intelvt硬件虚拟技术)

11block    scsicd-rom设备

         0=/dev/scd0        第1个scsicd-rom

         1=/dev/scd1        第2个scsicd-rom

          ...

代码:

13char    核心输入设备

        32=/dev/input/mouse0        第1个鼠标

        33=/dev/input/mouse1        第2个鼠标

          ...

        62=/dev/input/mouse30    第31个鼠标

        63=/dev/input/mice        所有鼠标的统一

        64=/dev/input/event0        第1个事件队列

        65=/dev/input/event1        第2个事件队列

          ...

        95=/dev/input/event1        第32个事件队列

21char    通用scsi设备(通常是scsi光驱)

         0=/dev/sg0        第1个通用scsi设备

         1=/dev/sg1        第2个通用scsi设备

          ...

29char    通用帧缓冲(framebuffer)设备

         0=/dev/fb0        第1个帧缓冲设备

         1=/dev/fb1        第2个帧缓冲设备

          ...

        31=/dev/fb31        第32个帧缓冲设备

30char    ibcs-2兼容设备

         0=/dev/socksys    套接字访问接口

         1=/dev/spx        svr3本地x接口

        32=/dev/inet/ip    网络访问接口

        33=/dev/inet/icmp

        34=/dev/inet/ggp

        35=/dev/inet/ipip

        36=/dev/inet/tcp

        37=/dev/inet/egp

        38=/dev/inet/pup

        39=/dev/inet/udp

        40=/dev/inet/idp

        41=/dev/inet/rawip

        此外,ibcs-2还需要下面的连接必须存在

        /dev/ip->/dev/inet/ip

        /dev/icmp->/dev/inet/icmp

        /dev/ggp->/dev/inet/ggp

        /dev/ipip->/dev/inet/ipip

        /dev/tcp->/dev/inet/tcp

        /dev/egp->/dev/inet/egp

        /dev/pup->/dev/inet/pup

        /dev/udp->/dev/inet/udp

        /dev/idp->/dev/inet/idp

        /dev/rawip->/dev/inet/rawip

        /dev/inet/arp->/dev/inet/udp

        /dev/inet/rip->/dev/inet/udp

        /dev/nfsd->/dev/socksys

        /dev/x0r->/dev/null

代码:

36char    netlink支持

         0=/dev/route    路由,设备更新,kerneltouser

         3=/dev/fwmonitor    firewallpacket复制

59char    sf防火墙模块

         0=/dev/firewall    与sf内核模块通信

65block    scsi磁盘(16-31)

         0=/dev/sdq        第17个scsi磁盘(整个磁盘)

        16=/dev/sdr        第18个scsi磁盘(整个磁盘)

        32=/dev/sds        第19个scsi磁盘(整个磁盘)

          ...

        240=/dev/sdaf        第32个scsi磁盘(整个磁盘)

66block    scsi磁盘(32-47)

         0=/dev/sdag        第33个scsi磁盘(整个磁盘)

        16=/dev/sdah        第34个scsi磁盘(整个磁盘)

        32=/dev/sdai        第35个scsi磁盘(整个磁盘)

          ...

        240=/dev/sdav        第48个scsi磁盘(整个磁盘)

89char    i2c总线接口

         0=/dev/i2c-0    第1个i2c适配器

         1=/dev/i2c-1    第2个i2c适配器

          ...

98block    用户模式下的虚拟块设备(分区处理方式与scsi磁盘相同)

         0=/dev/ubda        第1个用户模式块设备

        16=/dev/udbb        第2个用户模式块设备

          ...

103block    审计(audit)设备

         0=/dev/audit    审计(audit)设备

128-135char    unix98ptymaster

        这些设备不应当存在设备节点,而应当通过/dev/ptmx接口访问。

136-143char    unix98ptyslave

        这些设备节点是自动生成的(伴有适当的权限和模式),不能手动创建。

        方法是通过使用适当的mount选项(通常是:

mode=0620,gid=)

        将devpts文件系统挂载到/dev/pts目录即可。

         0=/dev/pts/0    第1个unix98ptyslave

         1=/dev/pts/1    第2个unix98ptyslave

          ...

代码:

153block    enhancedmetadiskraid(emd)存储单元(分区处理方式与scsi磁盘相同)

         0=/dev/emd/0    第1个存储单元

         1=/dev/emd/0p1    第1个存储单元的第1个分区

         2=/dev/emd/0p2    第1个存储单元的第2个分区

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1