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(通用串行总线)),所以又属于字符设备驱动
9542

被折叠的 条评论
为什么被折叠?



