パスワードを忘れた? アカウント作成
685070 journal

tosihisaの日記: オブジェクト指向言語とデバイスドライバの実装 1

日記 by tosihisa
最近、Java でプログラムを書きつつ、思うのですが、
Java の様な、「オブジェクト指向」言語と、よくある
「デバイスドライバ」が、よく似ている事に気付きました。

「デバイスドライバ」を作る場合、OS の仕様にもよりけり
ですが、概ね、以下のインターフェースが存在します。

・open() - デバイスを(あるプロセスに対して)使用可能にする。
・read() - デバイスからデータを読む。
・write() - デバイスにデータを書く。
・close() - (あるプロセスが)それ以上デバイスを使わない様に通知。

もちろん、これら以外のインターフェースもありますが、
OS は、汎用的であるために、標準的なデータ送受信の口
(インターフェース)を定義しています。

例えば、パラレルポートと、シリアルポートでは、データ
の送受信方法は、全然異なりますが、でも、基本的に、
open() でそのデバイスを使う事を明示し、read()/write() で
読み書きして、close() でデバイスを使わない事を明示します。

で、そのインターフェースに従っていれば、実際の動作は、
各ドライバの仕様にまかせられ、OS はインターフェース以上の
ものに関しては、原則的に関与しません。

これは、考えてみれば、そのまま、Java での、クラス間
でのデータの受け渡しインターフェースに合致します。

でも、うーん...。これが「オブジェクト指向」なのかと
言うと、何か少し違う様な気もしますね。

「オブジェクト指向」理解への道のりは、まだ遠そうです。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...