ドライバってなんすか?

  • 投稿日:
  • by
  • カテゴリ:



たぶん、いまどきの表記なら、ドライヴァでしょう。たぶん10年後にはそうなってます。


driverはフツウ運転手のことだと思います。


例:サンデドライバ


プラスドライバ、マイナスドライバのことをねじ回しとあまり言わなくなりましたが、英語ではscrew driverです。たぶん、プラスねじ回し、マイナスねじ回しという言い回しがイマイチだからだとも思われます。


カクテルのスクリュドライバは、ネジ回しでかき混ぜたからこのナマエであり、ダサイのとカコイイのが混ざって定着したナマエなのでしょう。知らずに使っている人をみると失笑を禁じえませんが。


プロレス技のパイルドライバは、pile driverであり、これは電柱や支柱を立てるための機械、杭打ち機を意味します。pileに杭という意味はないようですがね。



結局driverとコトバの用法には、何かをぶん回す、というもともとの意味が強く現れているように見えます。


運転手は乗り物を、ねじ回しはネジを、というわけでしょう。



なおデバイスドライバとは、デバイスをぶん回すものという意味でいいはずです。そこには厳密な定義はありません。あるときはOS設計者が定めたドライバモデルにしたがって実装された何かであり、別の場所ではLSIのレジスタを叩く関数群でしかありません。もちろんアセンブラのサブルーチンでも同じことです。サブルーチンと関数はぜんぜん違うじゃないかって?そりゃあなた勉強不足ですよ。


つまりデバイスドライバを書くのに特殊な知識も魔法も必要ありません。ただ、デバイスをどうやって制御すればよいかの知識と、デバイスドライバがどのように使われるかについての知識だけが必要なのです。ただし必ず両方必要です。片方だけで書かれたものはロクな性能が出ません。




ちなみに、ウォーズマンの1200万スクリュードライバはこちらをどうぞ。



D



(2008.02.02追記)


偶然見かけたHP-UXのリファレンスマニュアルを見て思い出しました。このマニュアルにあるように、



ドライバー 他のプログラムを呼び出すプログラム。



というのもありました。


gccが内部でldやcc1を呼び出すというような話です。


それにしてもこのHP-UXのマニュアルはすごいですねぇ。リンカーズ&ローダー本やBinaryHacksの元ネタみたいな構成です。ただしLinux向けではありませんが。


(2008.02.06追記)


米国ではプラスドライバをPhillips、マイナスドライバをSlottedなどと呼び、screwdriverとは呼ばないらしいということを先ほど心やさしいイヤミな感じの人から指摘を受けました。日本語でも六角レンチのことは六角と言いますし、モンキレンチのことはモンキと呼びます。しかし商品名や書類の表記では六角レンチやモンキレンチなどとフル表記します。そんなことを言い出したら、日本語で、自家用乗用車なん呼ぶ人はおらず、クルマが正しい日本語だというマヌケな議論に陥ってしまいます。


あえてひけらかすとすれば、プラス・マイナスドライバなんていう現場の人はおらず、大抵は「プラ」か「マイナ」です。それが正しい表記かどうかです。別の現場に行けば、セイミツやミニチュアがドライバの代名詞になります。別の現場ではインチ、ミリが重要になります。六角ナットの道具はドライバ様のものでもレンチです。


この辺はバランス感覚だと思いますので、人それぞれ基準は異なると思いますが、私にとってはそこがバランス点です。