Linux中的设备

一。设备命名规则

二。设备节点

三。devfs

四。udev

一。[[Anchor(NBE1)]]设备命名规则

在Linux中把硬件设备当作文件来管理。每个与Linux系统相连的实际设备(包括硬盘、光盘驱动器、扫描仪等),都可以在文件系统中表示出来。Linux系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。 从用户的角度来看,对设备的使用和一般文件的使用一样。

Linux的设备命名规则可以参看内核文档Documentation/devices.txt。

1。硬盘

每个硬盘表现为一个单独的设备文件。通常只能有2-4个IDE硬盘。这就是/dev/hda、/dev/hdb、/dev/hdc、和/dev/hdd。SCSI是/dev/sda,/dev/sdb等等。

2。软驱

软驱的名字是复杂的,因此Linux有一个特定的软驱设备类型,能自动检测软驱中软盘的种类。它使用不同的软盘类型试图读取新插入的软盘的第一个扇区,直到找到正确的一个。这自然要求软盘是已经格式化过的。自动设备叫/dev/fd0 、/dev/fd1等。

3。scsi设备

当一个新的 SCSI 主卡被侦测到时, SCSI 驱动程序会寻找连接著的设备。请检查系统日志你的设备被正确地侦测到了。新的SCSI 设备会被指定为第一个可用的SCSI设备文件。第一个 SCSI 硬盘是 /dev/sda,第一个SCSI 磁带机是 /dev/st0,还有,第一个CD-ROM 会是/dev/scd0。

4。网卡设备

Linux 的以太型网卡界面通常被称做eth0、eth1 等等。环形卡亦同样地被看待.然而它们被称做 tr0、tr1等等。ifconfig 命令是被用来观看及修改网络界面状态的。Linux的另一特点是网络界面并不会像其他设备一样地被看成是一个在/dev里头的文件。所以如果您在/dev内找不到它们时请不要觉得惊讶。

当一个以太网卡被侦测到时,它会被指定为第一个可用的接口卡名字,通常为eth0。

5。串行设备

Linux 的串行设备都是被经由/dev/cua* 和/dev/ttyS*特殊设备文件来做取用。ttyS* 的设备被使用在进来的连接,例如直接地连接终端机。cua* 的设备被使用在往外的连接,比如说调制解调器。而每一个实体串口都各有ttyS和cua两个设备文件:要使用哪个适当的设备到你的应用上都由您来决定。

当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。通常是/dev/ttyS1(cua1) 或 /dev/ttyS2 (cua2) ,这完成看原已内建的串口数目。

二。[[Anchor(NBE2)]]设备节点

linux中的设备号可以通过查看系统文件/proc/devices获得,实质上内核对设备major的定义在文件include/linux/major.h中。所以是先有驱动程序在内核中,才有设备节点在目录中。

设备号(特指主设备号)的主要作用,就是声明设备所使用的驱动程序。驱动程序和设备号是一一对应的,当你打开一个设备文件时,操作系统就已经知道这个设备所对应的驱动程序。

1。设备节点文件

设备节点文件是一种专用文件,存贮着三种信息:布朗型、整型、整型。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。

设备节点文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。设备节点文件指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如:/dev/null, /dev/random)。

块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。以前,两种文件类型间是有差别的。比如:字符文件I/O没有缓存,而块文件则有。

mknod命令是用来产生这种类型文件的。mknod 用指定名称产生一个FIFO(命名管道)、字符专用或块专用文件。

以下参数指定了所产生文件的类型:

p 代表FIFO型

b 代表块文件

c 代表字符文件

2。设备节点的注册

2.1块设备注册

设备列表major_names

函数register_blkdev

2.2字符设备注册

设备列表chrdevs

函数register_chrdev和register_chrdev_region

三。[[Anchor(NBE3)]]devfs

四。[[Anchor(NBE4)]]udev

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值