和头一回见的设备搭上话
到第10课,操作系统在里头,管住了 CPU 和内存。 可计算机,还得跟外头的设备说话。 键盘、鼠标、屏幕、硬盘、打印机, 连昨天才买的、操作系统造出来时还没有的新设备,都要。 每个设备的话都不一样,它怎么全听得懂呢?
世上的设备,太多了
接到计算机上的设备,多得没完没了。
键盘、鼠标、屏幕、硬盘、打印机、相机……
而且新设备,每年还一个接一个地冒出来。
每个设备,收发的信号也各不相同。
操作系统,总不能把这么多全背下来吧?
点点这些设备。各用不同的信号说话,操作系统一个人很难听懂。
每个设备的话都不一样,真没头绪。
可又不能为了一个个设备,
把操作系统重新改一遍。新设备一直在出啊。
所以,在两者之间,立一个人。口译。
驱动,是个口译
操作系统,只用一种标准的话。
像「读」「写」「打开」这样简单的吩咐。
每个设备随附的驱动,把这话翻译过去。
把操作系统的「读」,换成只有那设备懂的信号,
设备的回答,也再换回标准的话。
发出标准命令「读」。驱动把它翻译成各设备的信号。
操作系统,永远只说同样的标准话就行。
设备那些麻烦的门道,全由驱动担着。
那么,操作系统从没见过的、
全新出的设备,又怎么能用呢?
新设备?装上驱动就行
操作系统,只跟驱动说话,不跟设备说。
所以就算来个头回见的新设备,办法也简单。
只要装上那设备的驱动,也就是专用的口译。
操作系统自己,一点都不用改,
驱动把中间接起来,马上就能用。
接上一个新设备。一开始说不通,装上驱动就通了。
靠一个驱动,连新设备都轻松接纳了。
现在能说通了,可还剩一件事。
设备,通常比 CPU 慢得多。
操作系统,怎么等那个慢设备才好呢?
别一直问,让它来拍你肩膀
操作系统要是守在慢设备旁,一直问「好了吗?好了吗?」
地等着,那段时间,快的 CPU 就闲着了。
太可惜了。所以只管吩咐一声,就去干别的活。
设备办完了,就用中断,咚地拍一下肩膀。
「好了!」这时候,操作系统才回来收拾。
比比两种方式。一直问,CPU 闲着;拍肩膀,CPU 去干别的活。
让它来拍肩膀,CPU 就一刻都不闲了。
吩咐好了去干别的,信号来了那时再收拾。
这个中断,就是和外头设备打交道的关键本事。
好,口译和拍肩膀,两样凑到一起,会怎样?
靠口译和拍肩膀,和外头处得好
操作系统,靠两样本事,对付那没完没了增长的设备们。
为每个设备口译的驱动,和办完就通知的中断。
靠它们,连头回见的设备,都能不浪费地对付。
那么多设备里,尤其重要的一个,是硬盘。
是文件住的地方。操作系统,怎么整理那块硬盘呢?
把操作系统放中间看。驱动口译,设备用中断拍肩膀。
总结一下,和外头设备处得好的诀窍,有两样。
为每个设备传话的口译,驱动。
还有慢设备办完就通知的拍肩膀,中断。
靠这两样,操作系统能和世上任何设备牵上手。
下一课,我们看它怎么把其中的硬盘,整理成文件和文件夹。