GNU/Linux >> Linux の 問題 >  >> Linux

オペレーティング システムの実行中の BIOS の機能は何ですか?

最新の OS では、事実上なし .伝えられるところによると、Linus Torvalds は、そのタスクは「OS をロードしてそこから抜け出すこと」であると述べています。

MS-DOS のような古いオペレーティング システムは、割り込みを呼び出すことで、多くのタスク (ディスク アクセスなど) を BIOS に依存していました。

最新の OS では、ブートローダーが 32 ビットまたは 64 ビット モードにすばやく切り替わり、OS カーネルを実行します。カーネルは、ユーザー空間アプリケーションから呼び出すことができる独自の割り込みハンドラーを登録できます。カーネルのルーチンは、移植性が高く (特定のハードウェアに依存しないため)、柔軟性が高く (OS ベンダーは、ハードウェアに付属するものを使用するのではなく、必要に応じて変更できる)、より洗練されています (複雑なルーチンを任意に実行できます)。 BIOS にプログラムされたものではなくコード)、より安全です (OS が共有リソースへのアクセスを制御し、独自の任意のアクセス許可スキームを実装して、プログラムが相互に破壊するのを防ぐことができるため)。

特定のハードウェアとやり取りするために、OS は独自のデバイス ドライバーを読み込んで使用できます。そのため、OS やアプリケーションがほとんどの BIOS ルーチンを呼び出す必要はまったくありません。実際、セキュリティ上の理由から、BIOS 割り込みは無効になっています。 BIOS は 16 ビット リアル モードで動作するため、最新の OS を呼び出すのは困難です。

OS の実行中の BIOS の使用は非常に制限されていますが、その機能は依然として周辺機器として使用されています。たとえば、コンピューターがスリープ状態になると、OS は実行されず、最終的にはファームウェアに落ちて、ハードウェアを正しい状態に設定し、OS を一時停止して再開します。これらの使用は通常、完全な BIOS インターフェイスへの呼び出しではなく、ACPI 呼び出しに限定されます。 ACPI は BIOS 拡張機能であり、「電力管理と構成ポリシーを決定するためにプラットフォーム固有のファームウェアに依存していた以前の BIOS 中心のシステムとは対照的に、オペレーティング システム (OSPM) の制御下に電力管理をもたらします」.

正式には「BIOS」は特定のファームウェア インターフェイスを指しますが、この用語は一般的にコンピュータ ファームウェア全般を指すために使用されることに注意してください。最近の一部のコンピューター (特に Apple のコンピューター) では、BIOS (厳密な認識) が UEFI に置き換えられています。もちろん、これはこれらの機能を実装するために呼び出されます。

BIOS の役割がどのように減少してきたかについての詳細は、ウィキペディアを参照してください。


BIOS はオペレーティング システムに多くのサービスを提供しますが、そのほとんどは電源管理に関連しています。

  • CPU とバスのクロックを変更する
  • メインボード デバイスの有効化/無効化
  • 拡張ポートの電力制御
  • ディスクへのサスペンドと RAM へのサスペンド
  • イベント設定を再開

ディスクへのサスペンドは、OS がその状態をより速く復元できるため、ほとんどの場合 OS に実装されます (カーネル状態のみが再ロードされ、必要に応じてプログラム状態がスワップインされます。これは、RAM 全体を再ロードするよりもはるかに高速です)。機能は仕様に残ります。

Suspend-to-RAM は、RAM の初期化とテストをスキップする BIOS に依存しているため、OS では実装できません。OS は、現在の RAM の内容で再開するつもりであることを BIOS に伝える API を必要とします。このサービスを提供するために、BIOS は OS に特定の RAM 領域をそのまま残すように要求します。

すべての BIOS サービスに対する OS のインターフェイスは、エミュレータ上で実行する必要がある仮想マシン コードの一部であり、必要な I/O 操作をハードウェアに生成します。サスペンドの場合、これは通常、ハードウェア書き込みの 1 つを実行すると割り込みがトリガーされ、制御が BIOS に転送されるように実装されます。


UEFI 標準を使用するシステムなど、最新のシステムで OS が BIOS を使用する主な領域は 3 つあります。 1 つ目は、UEFI ランタイム サービスと呼ばれる一連のサービスです。これらのサービスにより、OS は、BIOS が使用していた時間、起動順序、現在のユーザー セキュリティ プロファイル、マザーボード、DIMM などに関する情報など、BIOS だけが知っている情報を取得できます。

2 つ目は、高優先度割り込み (SMM) によってアクセスされるメモリ (SMRAM) の隠しセクションであるシステム管理モードです。多くの BIOS はこれを使用して、高度なセキュリティの OEM 機能を実装したり、ハードウェアの回避策を実装したりします。

3 つ目は ACPI です。 ACPI は、OS が使用する構成、電源管理、およびハードウェア データとコードを提供し、業界標準またはデバイス ドライバーを使用して OS ドライバーが検出できる情報を補強します。たとえば、ハード ドライブの電源を制御する特別な信号があるか、または標準でカバーされていないバッテリーと通信する特別な方法があるか.

ティム


Linux
  1. FedoraとUbuntu:主な違いは何ですか?

  2. Ubuntuオペレーティングシステムで再起動をスケジュールする

  3. DNS サーバーの種類とは

  1. vdso と vsyscall とは何ですか?

  2. systemv init と比較して、systemd のセキュリティへの影響は何ですか?

  3. システムに搭載されているハードディスクを確認するにはどうすればよいですか?

  1. Linuxシステムの現在のランレベルはどれくらいですか?

  2. シェルを使用してinitシステムを検出しますか?

  3. Linux –システムに搭載されているハードディスクを確認する方法は?