windows操作系统与软件和硬件.pdf
文本预览下载声明
1.
软件和硬件
我们通常所说的计算机系统 (1) 实际上可以被分成两个部分:硬件
和软件。硬件就是构成计算机的所有设备,比如显示器,键盘,鼠
标,主机里面的各种器件等等。 作为计算机存在的物理基础,这部
分通常是看得见, 摸得着的;软件通常也叫程序, 一般用来告诉这
些硬件做什么以及如何做,比如你电脑里运行着的 qq ,我的魅族
MP3 播放器里面的操作控制程序等等都是软件。这些软件都要依
赖特定的硬件才能完成正确的任务,比如你要用 qq 把一段话发给
远端的朋友,那 qq 在收到你的话之后,就需要使用网卡发出去,
MP3 播放器控制软件也是一样。这里我们画出最简单的计算机组
成图就是图一那样,我们把软件置上,硬件置下,并用一个箭头连
接他们,用来表示它们之间的依赖。
图一 : 软件和硬件
2 将软件细分为两种
实际上软件程序还可以细分成两种: 系统程序软件和应
用程序软件。 系统程序软件实际上就是我们所说的驱动
程序,它们的目的只有一个,就是为了驱动硬件,使之
能正常地完成某种硬件功能,比如网卡的发送数据功
能,声卡的播放声音功能。 应用程序软件则用来接收用
户的输入请求, 进行很多业务运算后, 再通过驱动程序
驱动硬件去完成用户所要求的任务, 有时候应用程序软
件也负责把运算的最终结果反馈给用户。 画成图就是图
二那样,注意,在整个软件系统中,也只有驱动程序最
清楚硬件的功能及工作方式, 如果上面应用程序想要硬
件完成什么样的任务,必须使用相应的驱动程序所提供的那些接口才
行。驱动程序直接驱动硬件进行工作, 而应用程序则只需要知道这些接
口,通过它们间接去驱动硬件来完成任务。这种策略看似简单好用,但
也会受到两方面因素的制约。
图二 : 细分后的软件和硬件
首先, 一个计算机系统里面的硬件设备通常不会只有一个。 比方我
的魅族 MP3 里除了音频解码器外, 自然也有用来存储歌曲的设备。
这些设备各具不同的功能, 完成这些功能的操作也就各不相同, 就
决定了写出来的驱动程序 也是各式各样的,最后导致他们提供给应用程
序使用的接口也是千变万化的,如图三那样,用不同颜色的箭头表示不同的
接口使用。这大大增加了应用程序开发的难度,因为应用程序开发者不仅要
考虑上层业务逻辑的处理,还要非 常熟悉各种驱动所提供出来的不同接
口。
图三 : 一个应用使用多个硬件设备
其次,一个计算机系统里面同时运行着的应用程序通常也不会只有一
个,这些应用程序会竞争使用总量特定的硬件设备资源。比方你和朋友
在用 qq 聊天的同时,也听着千千静听放出来的音乐,他们都要使用屏
幕设备 show 出界面,也都要使用物理内存 (2)来运行程序代码。但是屏
幕只有一个,内存也只有那么多,所以在整个计算机系统范围内,必须
有某种机制来管理分配这些特定硬件资源的使用。 如图四,设计的时候,
这种机制要么放在应用程序中实现,要么放在驱动程序中实现,
显示全部