设备驱动程序为什么和普通应用程序许多差异?

设备驱动程序为什么和普通应用程序许多差异?,第1张

驱动程序是很底层的,危险性很高的,直接跟硬件打交道的,在 *** 作系统层级下面而普通的应用程序层级是高于 *** 作系统的,需要通过 *** 作系统去调用底层的东西。

驱动程序,可以说相当于硬件的接口, *** 作系统只能通过这个接口,才能控制硬件设散信孝备的工作,假如某设备驱动程序未能正确安装,便不能正常工作。

扩展资料:

设备驱动程序与应用程序的相互关系:

在《linux设备驱动程冲稿序》里面介绍应用程序有一个组坦消织策略的功能,驱动程序在编写的时候就是提供相关硬件设备的机能。就是说驱动程序不要加入额外的怎么去逻辑上使用硬件的部分,驱动程序需要实现好以下功能:

1、对设备初始化和释放;

2、把数据从内核传送到硬件和从硬件读取数据.;

3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据.;

4、检测和处理设备出现的错误。

“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说拦冲相当于硬件的接口, *** 作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。

正因为这个原因,驱动程序在系统中的所占的地位十分重要,模碧一般当 *** 作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱、键盘、鼠标等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的 *** 作系统对硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多,例如笔者使用了Windows XP,装好系统后一个驱动程序也不用安装。

设备驱动程序用来将硬件本身的功能告诉 *** 作系统,完成硬件设备电子信号与 *** 作系统及软件的高级编程语言之间的互相翻译。当 *** 作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。

所以简单的说驱动程序提供了硬件到 *** 作系统的一个接口以及协调二者之间的关系,而因简码歼为驱动程序有如此重要的作用,所以人们都称“驱动程序是硬件的灵魂”、“硬件的主宰”,同时驱动程序也被形象的称为“硬件和系统之间的桥梁”。

1、运嫌程序查询方式

这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。

2、通道方式

通道是一个用来控制外部设备工作的硬件机制,相当于一个功能简单的处理汪清机。通道是独立于CPU的、专门负责数据的输入输出传输工作的处理器,它对外部设备实统一管理,代替CPU对I/O *** 作进行控制,从而使I/O *** 作可以与CPU并行工作。通道是实现计算机和传输并行的基础,以提高整个系统的效率。

环测试 I/O方式(轮询方式)

利用I/O测试指令测试设备的闲忙。若设备不忙,则执行输入或输出指令;若设备忙,则I/O测试指令不断对该设备进行测试,直到设备空闲为止。这种方式使CPU花费很多时间在I/O是否完成的循环测试中困悄前,造成极大的浪费!

中断处理方式

引入中断之后,每当设备完成I/O *** 作,便以中断请求方式通知CPU,然后进行相应处理。但由于CPU直接控制输入输出 *** 作,每传达一个单位信息,都要发生一次中断,因而仍然消耗大量CPU时间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12366410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存