Linux 驱动是什么

驱动程序是软件与硬件间的桥梁,它允许应用软件无需理解底层硬件细节即可操作设备。在无操作系统环境下,驱动根据硬件特性定制接口;而在有操作系统如Linux下,驱动遵循操作系统定义的架构,简化应用软件的设备操作,支持多任务和并发。驱动负责与硬件交互,包括寄存器读写、中断处理等,确保设备正常工作。
摘要由CSDN通过智能技术生成


前言

     计算机软硬件相辅相成,合作完成相应功能。但一个共识是软件和硬件不应该相互渗透到对方的领域。
     驱动使得应用软件开发人员不需要去关心硬件相关知识,专注于本身的业务领域。
     应用软件工程师在使用套接字进行数据收发时,不必关心诸如中断、寄存器、存储空间、片选、IO端口及其它任何硬件词汇;在使用printf()输出信息的时候,不用关心底层到底是怎样将相应的信息输出到屏幕或者串口。


什么是驱动?

     对设备驱动最通俗的理解是”驱使硬件设备行动“。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射等,最终能够让通信设备能收发数据,让显示设备能够显示文字和画面,让存储设备能记录文件和数据。
     设备驱动充当了硬件和应用软件之间的纽带,应用软件只需要调用系统的API就可以让硬件完成要求的工作。

无操作系统情况下的设备驱动

没有操作系统的情况下,驱动工程师可以根据硬件设备的特点自定义接口。
在这里插入图片描述

有操作系统情况下的设备驱动

在有操作系统的情况下,驱动的架构由操作系统定义,驱动工程师必须按照相应的架构设计驱动,以便良好地整合入操作系统内核中。
在这里插入图片描述

总结

有操作系统情况下的驱动,实际上让驱动变得更复杂了。但好处是,让应用程序变得更简单(比如对类UNIX系统而言,应用程序通过write和read就可以访问字符设备和块设备,而不用考虑设备的具体类型和工作方式),同时支持多任务和并发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值