武汉中恒建设:电脑软件在最低层到底是怎样实现对硬件的控制的?譬如让光驱减速和加速。

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 19:56:52
需要比较详细的过程描述。

在Windows系统下来说:
一个正常方法,如果一个软件只要完成给光驱加速这么一个操作的话,它首先调用的是上层开发包API中的一个函数,这个函数会封装一些系统命令(这一步也许会省略,因为程序自己有可能直接调用系统API),这些命令又会调用系统API中的函数(这是光驱驱动程序的一部分),系统函数会找到光驱所在的内部地址,向这个内部地址发送一定的控制信号,光驱的控制芯片收到这个信号之后会驱动光驱马达,使光驱加速。
因为Windows系统不允许正常的应用程序直接控制硬件,所以脱离系统直接向光驱发送控制信号的方法正常情况下是行不通的。

操作系统发送这个控制信号的最底层的过程是:
操作系统接收到一个函数调用,要给光驱加速,操作系统会将这个要求给光驱驱动程序,驱动程序会找到执行这项操作的控制命令(现在的光驱控制命令都是兼容的),然后再找到光驱的地址,之后,向光驱地址写入这些数据就ok了,剩下的传输就是硬件的事情了