如何解决设备驱动程序和中断服务例程
| 一个非常基本的问题。我了解到设备驱动程序和中断服务例程仅是某些程序或代码。只要需要它们就可以执行。 执行意味着CPU正在执行其指令集ISA中的某些指令。那么,这是否意味着设备驱动程序和ISR也是生成所需结果的机器指令? 这类程序究竟是由什么构成的设备驱动程序和中断例程组成?这样的程序还具有数据段,代码段和堆栈段吗? 我正在学习x86汇编语言和C。解决方法
那是一个准确的评估。足够复杂的设备驱动程序具有数据段,代码段和堆栈段。
,考虑如何从设备获取数据。有两种方法:
投票:我们到了吗?我们到了吗?程序,操作系统内核,设备驱动程序,等等……不断询问设备是否有任何新数据。
中断:设备告诉CPU它有重要的内容,然后中断CPU。 CPU执行称为中断服务程序的例程来处理请求,然后继续执行被中断之前的所有操作。
根据您的操作系统(或无操作系统,仅是裸机),设备驱动程序可以是程序,也可以是操作系统内核的组成部分,...
典型的设备驱动程序将执行以下操作:识别设备,初始化设备,处理设备中断,处理写入/读取/配置设备的请求,...
当然,现代CPU倾向于提供保护功能,并且不允许任意进程访问设备。因此,设备驱动程序将以高特权级别运行,通常作为OS内核的一部分运行,或者在用户空间设备驱动程序将使用内核提供的一些定义明确的接口的情况下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。