linux驱动开发分类

1、linux系统分层

 

linux系统开发中一般分为三层,其中User Mode为用户空间,Kernel Mode为内核空间,Hardware属于硬件。这种分层模式是为了系统的安全性考虑的。

在Kernel Mode中,有Character Device Driver(字符设备驱动)、Block Device Driver(块设备驱动)以及Network Device Driver(网络设备驱动)三种分类。

 

2、linux驱动分类

1、字符设备驱动                                  /*鼠标、键盘、显示器等*/

只能一个字节,一个字节的读写的设备,不能随机读取设备内存宏的某一数据,读取数据需要按照先后顺序进行。字符设备是面向字节流的设备

2、块设备驱动                                  /* 硬盘、U盘、emmc、存储等*/

可以从设备的任意位置读取一定长度(固定大小)的数据设备

3、网络设备驱动                                    /*蓝牙、WiFi、网卡等*/                   

不是对文件进行操作,而是由专门的网络接口来实现。应用程序不能直接访问网络设备驱动。在/dev目录下也没有文件表示网络设备

注:一个设备并不是只属于一个类型,比如USB wifi设备。其属于网络设备驱动,但是又因为有USB(Universal Serial Bus(通用串行总线)),所以又属于字符设备驱动

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值