2016-12-10 6 views
1

私のOSから私のハードディスク、RAM、CPUに関する情報を見ることができます。しかし、私はOSにこれらの情報を伝えたことはありません。オペレーティングシステムは、ディスクサイズ、RAMサイズ、CPU周波数などに関する情報をどのように取得しますか

  1. どのように私のOSはそれを知っていますか?
  2. この種の情報を格納しているハードディスクまたはCPUまたはRAMの場所はありますか?
  3. この種の情報の形式に関する標準はありますか?
+0

http://wiki.osdev.org/Main_Page – xmojmr

答えて

2

SMBIOS(旧称DMI)には、この情報の多くが含まれています。 SMBIOSは、BIOS/UEFIファームウェアの一部であり、コンピュータのブランドやモデルなどの情報を含むデータ構造/ APIです。

残りの部分は、ハードウェアを直接照会するOSによって収集されます。

0

回答はsuperuserからMokubaiにつきました。

各デバイスがすでに自分自身を識別する(または方法を持っている)ため、これを伝える必要はありません。

アドレスとデータラインを介してすべてのデバイスにアクセスし、場合によってはデータラインだけをデータラインにアクセスするというアイデアが得られたら、それらのデータラインでは何らかの "プロトコル"あなたはそれらのデバイスにどのように話すのですか。

このプロトコルの中には、「これを読んでください」とか「送る」とか「そこに置く」と言うコマンドがあります。ディスクやメモリのブロックを読み取ったり、ピクセルに特定の色を塗りつぶすのではなく、ドライバーやオペレーティングシステムに伝える文字列や文字列を返すのではなく、「自分自身を識別する」というコマンドを使用するのは比較的簡単です。そのデバイスは何ですか?一連のアイデンティティコマンドを使用すると、デバイスタイプ、その機能、およびそのデバイスで動作するドライバを見つけることができます。

デバイスが既に認識しているため、デバイスに何かを伝える必要はありません。また、オペレーティングシステムにデバイス自体に尋ねることができるため、オペレーティングシステムに何を伝える必要はありません。

あなたは彼らに何が呼び出され、どのように話すのかを人に知らせません。と尋ねます。


各デバイスは、これらのメッセージのためにそれ自身のプロトコルを持ち、かつ非常識と無用の近くには、いつでも任意のデバイスを削除することができますことを考えるだろう、そうするため、彼らは他のデバイスの詳細情報を格納しないでください。ハードドライブは、オペレーティングシステムが使用するドライバを除いて、メモリカードまたはグラフィックスカードに関する情報を保存する必要はありません。

PC UEFI specificationは、プロセッサは、プロセッサを決定する必要がプロービングasbolute基本的なシステムを開始するためにパワーアップ及びEEPROMに記憶されたプログラムのためにできるように、コンピュータが有するシステム仕様のコアセットを定義しRAMを設定し、ディスクを見つけて表示して、コンピュータの起動を続けます。

そこからUEFIシステムはより詳細なプロービングと識別手順を持つオペレーティングシステムに引き渡されますが、最も基本的な「私はプロセッサを持っています、私の周りは何ですか?状況。

関連する問題