linux驱动(1)

内核里的驱动一般不会主动完成对设备的操作,是用户层有需求的时候,用户层的应用程序操作硬件设备。用户提需求,内核代替用户执行对设备的操作。

用户层调函数,通过系统调用,陷入内核态,有内核代替应用层进程执行相应的操作。

驱动程序本身也是代码,但与应用程序不同,它不会主动去运行,而是被应用程序调用。

应用与驱动程序在系统中所处位置不同,决定了它们代码

运行模式也不一样。

应用程序运行在用户空间(用户态)。

驱动代码运行于内核空间(内核态)。

在linux操作系统中,驱动的作用:

操作硬件设备,给用户层提供操作设备的接口。

地位:

连接硬件设备与内核的桥梁。

linux内核将设备分成3大类:

1. 字符设备 --->>> 字符设备驱动

I/O传输过程中以字符为单位进行传输

用户对字符设备发出读/写请求时实际的硬件读/写操作一般紧接着发生

例如:鼠标、键盘、显示器、触摸屏......

2. 块设备 --->>> 块设备驱动

块设备与字符相反,它的数据传输以块(内存缓冲)为单位传输

用户对块设备读/写时,硬件上的读/写操作不会紧接着发生,即用户请求和硬件操作是异步的

存储设备,是块设备

3. 网络设备 --->>> 网络设备驱动

网络设备是一类特殊的设备,它不像字符设备或块设备那样通过对应的设备文件访问,也不能直接通过read或write进行数据请求,而是通过socket接口函数进行访问。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值