一个非常基本的问题。我了解到设备驱动程序和中断服务例程只是一些程序或代码。无论何时需要他们被执行。执行意味着CPU正在执行指令集ISA以外的某些指令。那么这是否意味着设备驱动程序和ISR也是机器指令来生成所需的结果?设备驱动程序和中断服务程序
这些程序究竟如何喜欢设备驱动程序和中断例程?这样的程序是否也有数据段,代码段和堆栈段?
我正在学习x86汇编语言和C。
一个非常基本的问题。我了解到设备驱动程序和中断服务例程只是一些程序或代码。无论何时需要他们被执行。执行意味着CPU正在执行指令集ISA以外的某些指令。那么这是否意味着设备驱动程序和ISR也是机器指令来生成所需的结果?设备驱动程序和中断服务程序
这些程序究竟如何喜欢设备驱动程序和中断例程?这样的程序是否也有数据段,代码段和堆栈段?
我正在学习x86汇编语言和C。
这是一个准确的评估。足够复杂的设备驱动程序具有数据段,代码段和堆栈段。
请考虑如何从设备获取数据。有两种方式:
根据您的操作系统(或无OS,只是裸机)的设备驱动程序可以是程序,也可以是你的操作系统内核的一个组成部分,...
典型的设备驱动程序会做几件事情:识别设备,初始化设备,处理来自设备的中断,处理写入/读取/配置设备的请求,...
当然,现代CPU倾向于提供保护功能,允许任意进程访问设备。因此,设备驱动程序将以高权限级别运行,通常作为操作系统内核的一部分运行,或者如果用户空间设备驱动程序将使用内核提供的一些定义良好的界面。
一台计算机从一个程序运行到另一个程序运行到另一个程序或返回到旧程序,从打开它一直到它关闭的时间。这是否也是如此? – KawaiKx 2011-05-25 15:39:24
@沙拉布:一般来说是。在边缘情况下,您的主应用程序可以是一个循环中的HLT命令。那么只有在处理硬件中断请求时才会发生实际执行。 – Olaf 2011-05-25 15:43:44
o.k.罚款..所以例程,驱动程序,过程,子程序只是一个指令块(只有来自ISA)的花哨名称,执行时会产生所需的结果。除了他们不同的结果之外,他们没有什么特别的。我说得对吗? – KawaiKx 2011-05-25 15:48:01