Objective 1:确定与配置系统硬件
本目标要求熟悉系统安装设备及其配置,例如:modems、串并行端口、网卡,SCSI适配器、硬盘、USB控制器和声卡。设备配置有两种方法:手动配置和固件BIOS配置。
- BIOS
功能:设置硬件时钟、选择可引导设备,启动自举程序(如LILO、GRUB)。
- /proc文件系统
虚拟文件系统,放置的数据都是在内存中,例如系统内核、进程、外部设备的状态及网络状态等。不占任何硬盘空间。重要文件 有:/proc/cpuinfo, /proc/interrupts, /proc/dma, /proc/ioports, /proc/net/*等。
a. /proc/cpuinfo -------CPU的提供商和相关配置信息(主频、二级缓存大小、物理核数等) 。
b. /proc/interupts------中断报告文件,当前系统使用的中断的情况。中断机制:让硬件在需要的时候向内核发生信号。
c. /proc/dma --------这个文件包含已注册的正在使用中的ISA 直接内存读取 (DMA) 通道的列表。
d. /proc/ioports--------提供用与一个设备通信的输入或输出的被注册的端口区域的列表。
- USB
a. 通用串行总线,连接一系列外围设备(如键盘、鼠标、硬盘等)的接口。
b. USB拓扑结构
使用lsusb命令显示设备如何物理连接系统。
1 lsusb -t
c. USB控制器
三种类型:OHCI、UHCI、EHCI,前两种为USB1.1控制器,EHCI为USB2.0控制器。
d. USB设备
有以下几种类型:
人机接口设备(Human Interface Device,HID):输入设备
通信设备:modems
大容量存储设备:磁盘设备、闪存等
音频设备:声卡
红外设备
打印机
e.USB驱动
分成三类:
主机控制器驱动:包括usb-ohci.o,usb-uhci.o,uhci.o和ehci-hcd.o
类驱动:包括hid.o ,usb-storage.o ,acm.o ,printer.o ,audio.o
其它设备驱动:例如rio500.o,用于一种MP3播放器驱动
USB驱动按层级支持。可通过命令 lsmod 或 cat /proc/modules 查看USB设备。层级示意图如下:
---------
类设备驱动、模块
---------------------
主机控制器驱动
---------------------------------
usbcore.o
---------------------------------------------
- 获得硬件报告
lsmod ------ 显示目前已载入模块的所有信息。也可以查看文件/proc/modules
lsdev ------ 显示系统硬件信息,例如中断地址、I/O端口
lspci ------ 显示系统PCI总线和已安装PCI设备信息
- 模块操作
lsmod ------ 见上面
insmod ----- 在运行内核中插入单个模块。(需超级用户)
rmmod ----- 从运行内核中移除模块。(需超级用户)
modinfo ---- 从module_objiect_file中显示模块信息。
modprobe -- 插入模块,类似于insmod,但功能更丰富。可检测模块依赖性,并载入依赖模块。如加选项 -r,则删除模块(类似于rmmod)。
(需超级用户)
- 设备管理定义
热插拔与冷插拔
sysfs 的目的是把一些原本在procfs 中的,关于装置的部份,独立出来,以‘装置阶层架构’(device tree)的形式呈现。以 ramfs为基础,也是一个只存在于记忆体中的档案系统。其提供一种手段:输出内核数据结构、属性及他们与用户空间的连接。sysfs包含一些目录等级,显示可用硬件设备和模块/驱动的属性。
可通过运行以下命令访问:
mount -t sysfs sysfs /sys
扩展阅读:
1. /proc/cpuinfo文件分析,http://www.cnblogs.com/wuzhiwu/articles/2203743.html
2. /proc/interrupts 和 /proc/stat 查看中断的情况,http://blog.csdn.net/richardysteven/article/details/6064717
3. Linux中/proc目录下文件详解,http://bbs.chinaunix.net/thread-2175986-1-1.html
4. lsusb输出内容详细解读,http://hi.baidu.com/zengzhaonong/blog/item/ade3e9241f04f5318744f98c.html
5. 理解lsusb和lspci的输出内容,http://hi.baidu.com/aprilus/blog/item/f9061d91eaef2f81a877a465.html