-
设备管理概述
-
Linux设备的分类
字符设备(c):以字符为单位,传输速率较低,无需缓冲区。
块设备(b):以数据块为单位组织和传输数据,需要建立缓冲区
管道设备(p):是一种FIFO缓冲区
网络设备:一种通过SOCKET接口进行主机通信的设备
-
Linux系统设备管理层次
-
上层的设备文件
功能:用于用户访问设备进行输入和输出操作
常见的设备文件:设备文件通常保存在/dev
/dev/hd* IDE接口的硬盘(IDE接口的设备)
/dev/sd* SCSI/USB设备
/dev/cua* 串口设备
/dev/lp* 并口设备
/dev/tty* 终端设备
/dev/consol 控制台设备
/dev/eth* 以太网设备
/dev/cdrom IDE光驱
/dev/fd* 软驱
/dev/audio 音频设备
/dev/scd SCSI的光驱
/dev/ppp PPP设备
/dev/isdn* ISDN设备
建立设备文件:
# mknod
格式:mknod 文件名 类型 主设备号 从设备号
类型:c字符设备
b块设备
p管道设备
实例:# mknod /dev/fdo b 1 2
-
下层的驱动程序
功能:用于直接控制设备
-
驱动程序的安装
-
Linux驱动程序的特点
内核代码:驱动程序可以和内核代码相结合
动态加载:驱动程序作为内核的可装模块
可配置性
-
安装过程
-
获取设备的驱动程序(*.tar.gz)
-
解压、生成目标文件复制到/lib/modules/内核版本号/kernel/drivers/相应子目录中
-
添加到内核中
实例:在RH Linux中安装D-link 530tx 100m网卡驱动
-
从http://www.legend-networks.com.cn/downfile/linux530_321.tar处下载驱动到/usr/src目录中
-
#cd /usr/src;tar –xvf linux530_321.tar
-
#cd linux530_321;make
-
#cp via-rhine.o /lib/modules/2.4.20-8/kernel/drivers/net/
-
#vi /etc/rc.d/rc.local
添加以下内容:
/sbin/modprobe via-rhine
注:modprobe用于装载驱动程序模块(自动解决依赖关系)
#vi /etc/modules.conf
添加以下内容:
alias eth0 via-rhine
-
# init 6
注:(1)lsmod 显示内核模块
(2)modprobe 模块名 添加模块,自动解决依赖关系
(3)insmod 模块名 添加模块,手工解决依赖关系
-
编译升级内核
-
内核功能
内核是Linux操作系统核心部分,现在的操作系统都采用层次结构,功能模块化.作为内核主要有以下功能:
-
实现定时器和中断处理
-
实现对虚拟内存的管理
-
实现进程之间的通信
-
实现对外围设备的驱动
-
实现对虚拟文件系统的管理
-
对网络的支持和管理
-
编译升级的理由
-
现有内核不支持或没有将用户系统中某些硬件的驱动程序编译
|