OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

デバイスドライバについて

  • すぐに回答を!
  • 質問No.238488
  • 閲覧数105
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 26% (46/175)

デバイスドライバというのがよくわかりません。デバイスをマシンに認識させるということですよね。なぜ、そのようなことができるのかがわかりません。
とくに、自分でデバイスドライバを書くというのは、どういうことなのでしょうか?

雑誌などでは、C言語で書かれていましたが、Java言語でも書く事はできるのでしょうか?

単純に、「なぜ書けるのでしょうか?」「何を見て書いているのでしょうか?(デバイスの仕様書のようなものがあるのでしょうか?)」

どうか教えてください。お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 34% (574/1662)

なぜ認識できるかというと、ある程度決まりがあるからです。
例えば,PCIカードには「お前は何者だ?」という質問をすることが出来,
カードはこれに回答しなければいけない決まりになっています。


デバイスドライバは、OSがそのデバイスを使うためのサブルーチンの集まりと考えた方が判りやすいように思います。


例えば,OSが車というデバイスを制御できるとします。
この場合OSが呼ぶサブルーチンに窓を開けるという物があったとします。
この操作は車によって違いますから,車に合わせたデバイスドライバがあって、
ハンドルを回すとか、窓を開けるボタンを押すとか,
車に合わせた操作をするわけです。


自分でデバイスドライバを書くということは、
こういうようなサブルーチンを自分で書くことに相当します。


Javaで絶対に書けないとまでは言えないと思いますが,
最低でも何らかのJava以外で記述されたもが必要と思いますし,
実用的な物は実行速度や、JavaはJavaVMで実行されるといかそういうことが問題になって現実的に使えるものは
書けないと思います。


なぜ書けるかというと,そういうよう考えて作られた仕組みだからです。
もし、デバイスドライバが書けないとしたら、意味が無いです。

何を見ては,g_doriさんが書いている通りでしょうね。
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 44% (26/58)

Javaで書けるかわかりませんが。 デバイスドライバなんてOSの起動時にメモリ上に読み込まれて常駐し、 周辺装置からのハード的な割り込みによって呼び出される、OSに付属する プログラムの集合です。 詳しくはアドレスを書いておきますので、 そちらを見て下さい。 ...続きを読む
Javaで書けるかわかりませんが。
デバイスドライバなんてOSの起動時にメモリ上に読み込まれて常駐し、 周辺装置からのハード的な割り込みによって呼び出される、OSに付属する プログラムの集合です。
詳しくはアドレスを書いておきますので、
そちらを見て下さい。

  • 回答No.2
レベル12

ベストアンサー率 47% (330/699)

デバイスドライバ(以下ドライバ)は「デバイスをマシンに認識させる」と言うことが判っているなら、それがどういう事か考えてみたことがありますか? 「認識させる」と言う表現は、OSの仕様がドライバが無いとデバイスが見えないような仕組みになっているからでして、正確にはドライバには「通訳」という重要な仕事があります。 早い話、OSからは凡庸的なコマンドで、データをデバイスに流そうとします。しかし、デバイス単 ...続きを読む
デバイスドライバ(以下ドライバ)は「デバイスをマシンに認識させる」と言うことが判っているなら、それがどういう事か考えてみたことがありますか?
「認識させる」と言う表現は、OSの仕様がドライバが無いとデバイスが見えないような仕組みになっているからでして、正確にはドライバには「通訳」という重要な仕事があります。

早い話、OSからは凡庸的なコマンドで、データをデバイスに流そうとします。しかし、デバイス単独でそのコマンドを理解することができません。そこでドライバという通訳が必要になります。

例えばOSは英語しか理解できず、デバイスは日本語、中国語、etcしか理解できない、と思って頂いてOKです。(英語がわかるデバイスはナイ)
このままでは会話ができませんので通訳(ドライバ)が必要になる訳ですが、別段通訳が特定の人物である必要はありません。似たように通訳をこなしてくれれば別人でも問題ないことになります。
ドライバが訳を間違えたり、別の言語に訳してくれれば、当然デバイスは正常動作しません。(ドライバがガンガン更新されていく理由はこういうことです)

この通訳の処理が気に食わなければ、「自作」ということになります。

結局のトコロメーカーの"人間"が作っているので、当然それを個人で作ることも可能です。
メーカーによってはソフトウェアインタフェース仕様書を一般公開している場合もありますし、マニュアルに記載するものもあります(大抵は制限付き公開で、正式なマニュアルは別売)。
それを利用できる方は自力で作ることが可能です。
UNIX関連の製品だとよくある話だと思いますよ。

で、JAVAに関しては・・・根本的に用途が異なると思いませんか?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ