わかりやすく デバイスドライバ とは
10回目のレッスンまで、オペレーティングシステムは内側でCPUとメモリを取りしきってきました。でもコンピュータは、外の装置とも話をしなければなりません。キーボード、マウス、画面、ディスク、プリンター、それにオペレーティングシステムが作られたときにはなかった、昨日買ったばかりの新しい装置まで。装置ごとに話す言葉が違うのに、どうやって全部わかるのでしょうか。
世の中には装置がありすぎる
コンピュータにつながる装置は、きりがないほどたくさんあります。キーボード、マウス、画面、ディスク、プリンター、カメラ。しかも新しい装置が毎年次々と出てきます。
装置ごとにやりとりする信号もばらばらです。
オペレーティングシステムが、これを全部覚えることはできません。
装置を押すと、それぞれ違う信号で話すので、オペレーティングシステムだけでは聞き取りにくいことがわかります。
装置ごとに言葉が違うので、途方に暮れます。かといって、装置一つひとつに合わせてオペレーティングシステムを作り直すこともできません。新しい装置は次々と出てくるからです。
そこで、二つのあいだにだれかを立てます。通訳です。
ドライバーは通訳
オペレーティングシステムは、決まった標準の言葉だけを使います。「読む」「書く」「開く」のような単純な頼みです。
装置ごとについてくるドライバーが、その言葉を通訳します。オペレーティングシステムの「読む」を、その装置だけがわかる信号に置きかえ、装置の返事もまた標準の言葉に直してくれるのです。
標準の命令「読む」を送ると、ドライバーがそれぞれの装置の信号に通訳します。
オペレーティングシステムはいつも同じ標準の言葉を話せばよく、装置ごとのややこしい事情はドライバーが全部引き受けます。
では、オペレーティングシステムが一度も見たことのない、まったく新しい装置は、どうやって使えるのでしょうか。
新しい装置?ドライバーを入れるだけ
オペレーティングシステムは、装置ではなくドライバーとだけ話します。だから初めて見る新しい装置が来ても、方法は簡単です。その装置のドライバー、つまり専用の通訳を入れるだけです。
オペレーティングシステム自身は何一つ直さなくても、ドライバーがあいだをつないでくれるので、すぐに使えます。
新しい装置をつなぐと、はじめは話が通じませんが、ドライバーを入れるとすぐに通じます。
ドライバー一つで、新しい装置まで難なく受け入れられます。これで話は通じますが、もう一つ残っていることがあります。
装置はたいてい、CPUよりずっと遅いのです。オペレーティングシステムは、その遅い装置をどう待つのがよいでしょうか。
聞き続けずに、肩をたたいてもらう
オペレーティングシステムが遅い装置のそばで「できた?できた?」と聞き続けながら待っていると、速いCPUはそのあいだ遊んでしまいます。
それではもったいなさすぎます。そこで頼みだけしておいて、ほかの仕事をします。装置は仕事が終わると、割りこみで肩をトンとたたきます。「終わったよ!」
そこでやっとオペレーティングシステムが戻ってきて、片づけるのです。
二つのやり方を比べると、聞き続けるほうはCPUが遊び、肩たたきのほうはCPUがほかの仕事をします。
肩をたたいてもらうので、CPUは一瞬も遊びません。頼んでおいてほかの仕事をし、合図が来たらそのときに片づけます。
この割りこみが、外の装置と働くための大事な腕前です。では、通訳と肩たたき、二つがそろうとどうなるでしょうか。
通訳と肩たたきで外とうまくやる
オペレーティングシステムは、どこまでも増え続ける装置を二つの腕前で扱います。装置ごとに通訳するドライバーと、終わったら知らせる割りこみです。
おかげで、初めて見る装置まで、むだなく扱えます。
そのたくさんの装置のうち、とくに大事なものが一つあります。ファイルが住むディスクです。オペレーティングシステムは、そのディスクをどう整理するのでしょうか。
オペレーティングシステムを真ん中に置くと、ドライバーが通訳し、装置が割りこみで肩をたたく様子が見えます。
まとめると、外の装置とうまくやる秘訣は二つです。装置ごとに言葉を置きかえる通訳であるドライバーと、遅い装置が仕事を終えたら知らせる肩たたきである割りこみです。
この二つで、オペレーティングシステムは世界中のどんな装置とも手を組めます。次のレッスンでは、その装置のうちディスクを、ファイルとフォルダーで整理する方法を見ます。