应用和硬件的关系

程序员一般很少直接操控硬件, 一般通过C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令,硬件的控制是由Windows 操作系统全权负责的。

你一定猜到我要说什么了,我会说但是,任何事情没有绝对性,环境的不同会造成结果的偏差。虽然程序员没法直接控制硬件,并且Windows屏蔽了控制硬件的细节,但是Windows却为你开放了系统调用功能来实现对硬件的控制。在Windows中,系统调用称为API,API 就是应用调用的函数,这些函数的实体被存放在DLL 文件中。
应用和硬件的关系
应用通过API间接控制硬件
下面我们来看一个通过系统调用来间接控制硬件的实例:
假如要在窗口中显示字符串,就可以使用Windows API中的TextOut 函数。TextOut 函数的语法(C语言)如下:
应用和硬件的关系
那么,在处理TextOut函数的内容时,Windows 做了些什么呢?从结果来看,Windows 直接控制了作为硬件的显示器。但Windows本身也是软件,由此可见,Windows 应该向CPU传递了某种指令,从而通过软件控制了硬件。
应用和硬件的关系