一、引言
本章讨论内核的四种成分
设备类型:为了统一普通设备的操作做的分类
模块:Linux内核中按照需求加载和卸载目标源码的机制
内核对象:内核数据结构中支持面向对象的简单操作,还维护对象之间的父子关系
sysfs:表示系统中设备树的一个文件系统
二、设备类型
Unix系统中,所有设备被分为以下三类
块设备
字符设备
网络设备
块设备
blkdev,通常可再’/dev/block’目录下查看,寻值单位为块(相当于硬件概念中的扇区),可寻址,为无序访问,通过块设备节点来访问,通常被挂载为文件系统。
字符设备
cdev,不可寻址,为顺序访问,连接鼠标、键盘等设备。通过字符设备节点来访问,应用程序可直接通过访问设备节点来与字符设备交互,而不用像块设备一样需要通过文件系统
网络设备
提供对网络的访问功能,通过物理适配器和一种特定协议完成。不是通过设备节点来访问,而是通过套接字
伪设备
不是所有设备驱动都表示物理设备,有些设备驱动是虚拟的