侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

深入探究Linux内核篇--硬件设备管理

2023-11-16 星期四 / 0 评论 / 0 点赞 / 60 阅读 / 2690 字

1.编译进内核的设备驱动代码 2.可插入内核的设备驱动模块 以前,插入设备驱动代码的唯一途径就是重新编译内核。每次给系统添加新设备时,你都要重新编译一遍内核代码,随着Linux内核支持越来越多的硬件设

1.编译进内核的设备驱动代码

2.可插入内核的设备驱动模块

以前,插入设备驱动代码的唯一途径就是重新编译内核。每次给系统添加新设备时,你都要重新编译一遍内核代码,随着Linux内核支持越来越多的硬件设备,这个过程也变得越来越低效。

开发人员提出了内核模块的概念。它允许将驱动代码插入到运行中的的内核而无需重新编译内核。同时当设备不再使用时也可将内核模块从内核中移走。这种方式极大地简化和推动了硬件设备在Linux上的使用。

Linux系统将硬件设备当成特殊的文件,称之为设备文件。设备文件有3种不同的分类:

1.字符型设备文件

2.块设备文件

3.网络设备文件

字符型设备文件是指处理数据时每次只能处理一个字符的设备。大多数类型的调制解调器和终端都作为字符型设备文件创建的。块设备文件是指处理数据时每次都能处理大块数据的设备,比如硬盘。

网络设备文件是指采用数据发送包发送和接收数据的设备,包括各种网卡和一个特殊的回环设备,这个回环设备允许Linux系统使用通过的网络编程协议同自己通信。

Linux为系统上的每个设备都创建一种特殊的文件,称之为“节点”。与设备的所有通信都是通过节点完成的。每个节点都有一个唯一的数值对,供Linux内核识别它,数值对包括一个主设备号和一个次设备号。类似的设备被划分到同样的设备号下。次设备号用于标识同一个主设备号下的某个特殊设备。以下是Linux服务器上的一些设备文件例子:

$cd /dev$ls -al sda* ttyS*b(ATA硬盘文件都标记为b--block devices,块设备)rw-rw---- 1 root disk 8(主设备节点号), 0 2010-09-18 17:25 sdab(ATA硬盘文件都标记为b--block devices,块设备)rw-rw---- 1 root disk 8(主设备节点号),  1  2010-09-18 17:25 sda1b(ATA硬盘文件都标记为b--block devices,块设备)rw-rw---- 1 root disk 8(主设备节点号),  2  2010-09-18 17:25 sda2b(ATA硬盘文件都标记为b--block devices,块设备)rw-rw---- 1 root disk 8(主设备节点号),  5  2010-09-18 17:25 sda5crw-rw---- 1 root dialout 4(主设备节点号),  64  2010-09-18 17:25 ttyS0crw-rw---- 1 root dialout 4(主设备节点号),  65  2010-09-18 17:25 ttyS1crw-rw---- 1 root dialout 4(主设备节点号),  66  2010-09-18 17:25 ttyS2crw-rw---- 1 root dialout 4(主设备节点号),  67  2010-09-18 17:25 ttyS3$

 

广告 广告

评论区