全部博文(191)
分类: LINUX
2009-05-08 01:23:42
一:linux设备文件类型有块设备文件和字符设备文件。
1:块设备文件
有两种特点:读取设备文件时是以块为单位的(block),而且长度不固定;
读取设备文件是随机的(random access),即读取文件位置不固定。
2:字符设备文件
有两种特点:读取字符设备时,是以字符为单位的(Character)的。一次读取一个字节。且是固定读取。
读取字符设备时,是按顺序读取的。
二:设备文件识别码
1:linux是以设备文件识别码来识别硬件设备的
2:系统为每个设备提供了独一无二的识别码,分为主设备码和次设备码。而且是无法改变的。除非修改内核源码,重新编译内核。
3:如何获取设备文件识别码
(1)必须安装了内核源码才有;
(2)安装了kernel-doc软件获得;
/usr/shar/doc/kernel-doc-VERSION/Documentaion/ 下面得devices.txt文件查看。
三:手动建立设备文件
1:误删了设备文件可以使用命令mknod来重建设备文件
第一种发法
mknod 命令:
mknod [-m MODE]DEVICE_FILE TYPE [MAJOR MINOR]
参数说明:
-m MODE :新建的设备文件的权限
DEVICE_FILE : 建立的设备文件名称(全路径)
TYPE : b:块文件
c:字符文件
MAJOR:主要识别码
MINOR:次要识别码
需要注意的是:在重建设备文件时,设备主要设别码和次要识别码一定要正确。因为系统
读取硬件设备是靠识别码来读取而非设备文件。
第二种方法
使用MAKEDEV工具
MAKEDEV [OPTIONS] DEVICE_FILE
参数说明:
OPTIONS:选项
DEVICE_FILE :新建的设备文件名称(直接设备名,无须全路径)
第三种方法
使用udev自动建立设备文件名称(2.6内核以后)
1:udev介绍
udev组件:
(1) namedev 设定设备的名称和设备的权限
(2) libsysfs 用来提供内核记录设备的一些信息。如:外部设备的位置,外部设备的属性,外部设备的设备码等
(3) udev 用来产生/dev/中的设备文件
2:udev原理
内核发现安装了一个硬件设备,内核就会执行hotplug进程,让hotplug进程来安装该硬件设备的驱动程序。当hotplug安装完了驱动后,就直接呼叫udev程序,让udev产生这个硬件的设备文件。接着udev就通过libsysfs连接库去读取sys文件系统。以便获取该硬件设备的信息。然后再向namedev查询该设备的详细信息。最后使用udev组件建立设备文件。
卸载同理。
3:配置udev
系统已经预设好了,无须配置。见: /etc/udev/udev.conf
4:udev规则配置文件
见目录:/etc/udev/rules.d/
四,监控硬件设备
有三种方法:
(1)内核事件
使用命令demsg
查看/var/log/demsg日志
(2)查看/proc/相关文件
(3)硬件浏览器(在图形界面查看)
五,管理PCI设备
1:查看PCI设备
使用命令lspci
lspci[OPTIONS]
2:配置PCI设备
使用命令setpci
(请慎用该命令,配置不当,系统很可能会死机)
六,管理声卡设备-
在X-window 里,输入命令system-config-soundcard 来配置声卡
七:管理热插拔设备(hot-swap device)
1 管理usb设备
查看:
cat /proc/bus/usb/devices
lsusb
2:管理PCMCIA设备(略)