Linux的设备模型

在设备模型出现以前,Linux的驱动存在以下问题:

1,设备和驱动没有分离。也就是说设备的信息是硬编码在驱动代码中的,这给驱动程序造成了极大的限制。如果硬件有所改动,那么必然要修改驱动代码。比如LED如果修改了管脚,那么就必然要修改驱动程序。这样就导致驱动的通用性很差。

2,没有类似于windows系统中的设备管理器,不可以方便查看设备和驱动的信息。

3,不能自动创建设备节点;

4,驱动不能自动加载;

5,U盘,SD卡不能自动挂载;

6,没有电源管理。

Linux设备模型就是为了解决上述问题而存在的。

设备模型基础

首先我们来看上面提到的第二个问题,就是关于设备和驱动信息的展示。在Linux系统中有一个sysfs伪文件系统,挂载于/sys目录下,该目录详细罗列了所有与设备、驱动和硬件相关的信息。可以用ls -l /sys命令来查看。

在/sys目录下有很多子目录,例如block目录下是块设备,bus目录下是系统中所有的总线(例如:I2C,SPI和USB等),CLASS目录下是一些设备类(如input输入设备类,tty终端设备类)、device目录下是系统中所有的设备。再仔细查看/sys/bus/platform/devices/50000000.ethernet目录,它是一个挂接在platform总线下的以太网设备,其目录下的driver是一个软链接,指向了../../../bus/platform/driver/dm9000,也就是说该设备是被注册在platform总线下的一个名叫dm9000的驱动程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李小白20200202

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值