Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688490
  • 博文数量: 191
  • 博客积分: 10987
  • 博客等级: 上将
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 09:52
文章分类

全部博文(191)

文章存档

2014年(10)

2011年(11)

2010年(38)

2009年(132)

分类: LINUX

2009-05-08 01:23:42

一:linux设备文件类型有块设备文件和字符设备文件。

1:块设备文件

 有两种特点:读取设备文件时是以块为单位的(block),而且长度不固定;

                         读取设备文件是随机的(random access,即读取文件位置不固定。

2:字符设备文件

 有两种特点:读取字符设备时,是以字符为单位的(Character)的。一次读取一个字节。且是固定读取。

             读取字符设备时,是按顺序读取的。

二:设备文件识别码

1linux是以设备文件识别码来识别硬件设备的

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内核以后)

1udev介绍

udev组件:

(1)    namedev  设定设备的名称和设备的权限

(2)    libsysfs   用来提供内核记录设备的一些信息。如:外部设备的位置,外部设备的属性,外部设备的设备码等

(3)    udev    用来产生/dev/中的设备文件

 

2udev原理

内核发现安装了一个硬件设备,内核就会执行hotplug进程,让hotplug进程来安装该硬件设备的驱动程序。当hotplug安装完了驱动后,就直接呼叫udev程序,让udev产生这个硬件的设备文件。接着udev就通过libsysfs连接库去读取sys文件系统。以便获取该硬件设备的信息。然后再向namedev查询该设备的详细信息。最后使用udev组件建立设备文件。

卸载同理。

3:配置udev

系统已经预设好了,无须配置。见: /etc/udev/udev.conf

4udev规则配置文件

见目录:/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设备(略)

 

阅读(1416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~