• ベストアンサー

ドライバーを自作?

自分はパソコン歴5年の,まぁ言ってみれば中級でしょうか?でもタイトルの質問をしているような初心者でもあります.  いわゆるハードウェアを認識させるためのドライバーに関しての質問です.  このドライバー.実体はソフトウェアだと思うのですが,よくw2k対応などと書かれています.しかし,今の時期のようにxpへの移行期などは 対応ドライバーそろわない などの文字が多数見受けられます.ここからが素人の質問です. 世の中には,オリジナルのフリーソフトなどを自力で開発されておられるパワフルな方が大勢おられるのですが,たとえば, w2kのドライバーを参考にxpのドライバーを自作する  というようなことは,現実的には難しいのでしょうか? 16bit→32bitの自力での書き換えができないものか?と考えることがあったものですから. 難しいとしたら,何がどう難しいのでしょうか? もしかしたら,ものすごくとんちんかんな質問かも知れませんが,ソフトウェアである以上人が創っていると思うんです. よく理解されている方,わかりやすい説明をお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

ドライバ開発キット(DDK)が存在すると思うので,不可能ではないと思います。 問題になるのはドライバを作るために必要なハードウェアに関する情報が得られないことでしょう。 例えば,プリンタでもドライバを作るために必要な情報を提供すると,プリンタの中身がどうなっているかが知られてしまうため、 最新の技術を他社に隠すために社外に公開しないとか聞いてます。 それほどでない場合でも企業なら契約などにより提供することはあっても、 一個人に提供しない場合も多いようです。 また、16bitと32bitの書き換えと言うのは、簡単な話ではありません。 ドライバレベルでのAPIやらなにやらが違い、 それほど単純な作業になりません。 2000とXPならかなり中身は近いように推測しますが、どちらも中身は知りませんので,詳しいことはわかりません。 それと、ドライバの作成はアプリケーションレベルのソフトよりかなりシビアです。 ドライバで変なことをすると、unixでもNT系でも簡単にOSを落とせます。 また、時間的,資源的制約もきつく,OSの動作についてやハードウェアレベルの知識もかなり必要となり, 通常のソフトを作るのとはかなり違う,技術や知識が要求されます。

tenjuku
質問者

お礼

ありがとうございます.やはり考えているほど簡単なことではないのですね.だから,ドライバーの対応が重要かつ大変なんですね.

その他の回答 (2)

noname#21649
noname#21649
回答No.3

ドライバー作成の問題としては. マイクロソフト社で販売している技術情報が高価であること(45万/年) アセンブラ(機械語)の知識を必要とすること(今の多くの方々は知らないと思います) 同じようなことをする方法がかぎられていて.誰も彼もが同じようなコードを書く(書かないと動かない)ので.ちょしゃくけん関連の問題が発生しやすい 割り込みを意識したプログラムにする必要がある(高級言語ばかり使っていると.高級言語のランタイムルーチン中で処理しているので原則として意識しない) ある一定時間内に終了するように書かないと.資源の取り合いの関係でハングアップする 16ビット36ビットの関係は.レジスタも割り込みルーチンもアドレッシングも異なりますので.簡単に解決できる移植ではありません。 一応逆アゼソフトを作りましたが.命令形系が異なるので.2つに分けいる状態てす。

tenjuku
質問者

お礼

ありがとうございます.回答をあわせてみると,よりハードウェア的な知識が必要となり一般人では開発は事実上不可能 という結果になりましょうか.それにしても,マイクロソフト社は,ぼったくりですね(それが企業秘密?).私的な意見ですが,xpの認証機能を含めてマイクロソフト社の思うがままなような気がします.こらからは,MAC OSにでも移行しようかなあって考えてます.でもAT互換機がやすいしなぁ~.linuxにはまだなれてないしなぁ~.後半は独り言 どうもありがとうございました.

回答No.1

著作権の問題が起きるんと違うかな?

tenjuku
質問者

お礼

確かに著作権も問題ありのようですね. どうもありがとうございました.

関連するQ&A