BIOSはパソコン起動時に0xffff0のアドレス上にロードせれると思いますが、
ブートローダがOSが起動したらBIOSはこのメモリ番地から取り除かれるのですか??
OSが完全に起動したらBIOSは不要ですよね?
それともOSが起動した後でもBIOSは必要ですか?
それともシャットダウンするまでこのアドレスにずーーーっと残っているのですか?
教えてください!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
自己解決
デバイスの操作は、
リアルモード : BIOSコール
プロテクトモード : デバイスドライバ
BIOSコールはカーネルを起動するまでは現在でも使用されている(UEFI)
旧来のマザーボードとUEFIベースのものはどちらも、BIOS ROMを持っており、そこには電源投入時のシステム初期化を行ったり、第三者のコードを読み込んでそれに制御を移すようなコードが含まれています。旧来のBIOSとUEFIの違いは、それらがブートローダーをどこから探してくるのかと、どのようにシステムを初期化するか、そしてどのような便利機能をそれらが提供するか、という3点です。
システムBIOS 、VGA-BIOSのシャドウイングを行います。
システムBIOSの種類と設定によっては拡張BIOSもシャドウイングの対象となります。
BIOSシャドウ
BIOSが格納されているROM(EPROM)のレスポンス(応答速度)は、RAMと比較すると格段に遅くなっています。そこでパソコンの起動処理やビデオの表示など高速性を求められるBIOSを、RAM領域にコピーして使用する方法が考案されました。これを "BIOS シャドウ" と呼んでいます。
BIOSをコピーされたRAM領域は、再マッピングによりROMと同じアドレス(0xC0000~0xFFFFF)で参照可能となります(アドレス バスを監視しているRAMのアドレス デコーダが、シャドウRAM領域のアドレスを検知するとRAMのチップセレクト信号をONにします)。
当然ですがシャドウRAM領域は書き込み禁止になります。
システムBIOSによっては、BIOS設定画面に "System BIOS Shadow"、 "Video BIOS Shadow" 等の項目があり、有効/無効の切り替えが可能なものもあります。その場合BIOSシャドウを無効にすると、システムで使用可能なRAM領域が若干増加します。
BIOSを頻繁に使用するMS-DOS等では、BIOSシャドウを行うことでパフォーマンスは向上します。しかしWindows NT以降のOSでは、起動時以外はBIOSを使わずにドライバーを使用するようになったので、BIOSシャドウはパフォーマンスに影響しなくなりました。
システムに接続されているハードウエアが,何らかの理由によりSMI(システム管理割り込み)を発生させる。SMIは外部割り込みの一種で,専用ボタン(例えばノートPCによく見られる音量コントロール)の押下などにより発生する。
散々調べましたが、BIOSシャドウがメモリから取り除かれるという工程は一切見当たりませんでした。
しかし、SMMというモードが現在でも利用されているところをみると、BIOSの機能をプロテクトモードに移行した後でも使用しているコンピュータが存在しているため、削除するとは考えにくいです。
共通化のため、こっちのPCでは、削除されているけど、あっちのPCでは残っている
なんてことはないと思われます。
昔のBIOSでは、リアルモードでBIOSに頻繁にアクセスするのでメインメモリ上にロードすることで性能が上がるというだけの話なので、今日のUEFIでは、メインメモリ上にロードすらされていないようです。
13G PowerEdge サーバを起動すると、シャドウメモリエラー
最後の行ですね。
BIOSがUEFIモードになっている場合はこの現象は発生しません。
お2人のおかげでようやく結論に達せました。
ありがとうございます。
「追記」
_____________________________________
インストール前に行うハードウェア・OS の設定
あなたのマザーボードでは、恐らく shadow RAM (または BIOS キャッシュ) が使えるはずです。この場合は 「Video BIOS Shadow」 や 「C800-CBFF Shadow」 などの設定があるはずです。shadow RAM は、すべて 無効 にしてください。shadow RAM は、マザーボードやコントローラカード上の ROM へのアクセスを高速にするために利用されるものですが、Linux は起動した後にはこれらの ROM を使いません。Linux には自前の、より高速な 32 ビットソフトウェアがあり、これらを ROM 内部の 16 ビットプログラムの代わりに使うからです。shadow RAM を無効にすると、その一部を通常のメモリとしてプログラムから利用できます。shadow RAM を有効にしたままだと、Linux のハードウェアのアクセスが邪魔されてしまうかもしれません。
PCが起動しない! そんなときWindows 8ではどうする?
BIOSシャドウ、別名BIOSキャッシュとも呼ばれるようです。
ただのキャッシュ機能なのですね!!
Unified Extensible Firmware Interface (UEFI) legacy mode option Read Only Memory (ROM) space limit - IBM Systems
昔の互換のための機能ですかね。
ちなみに、UEFI shadow memory と検索かけても出てこないので、それ用のRAMの領域すら用意されていないんですね。
投稿2017/07/09 13:44
編集2017/07/09 14:22総合スコア651
0
どのような事や問題を意識してのご質問か不明ですが、BIOSレベルの話ですと、Intel CPUのシステムマネジメントモード (SMM) についても、一応知っておくよいでしょう。
OSが起動した後でもBIOSは必要ですか?
OS起動後OSが全くBIOSの機能を使用していなくても(必要としていなくても)、ハードウェア自体がシステムマネジメントモードでBIOSのコードを実行している可能性がります。
OS起動後、通常はOSから全く意識しない(意識できない)内容なので、一般的にはあまり気にすることではないのですが、世の中にはSMM制御関連の脆弱性を悪用した攻撃方法も存在します。
第11回 SMM(システム管理モード)を悪用した見えない攻撃
ご参考までに。
投稿2016/08/26 23:20
総合スコア344
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
こんにちは。
OSが完全に起動したらBIOSは不要ですよね?
それともOSが起動した後でもBIOSは必要ですか?
少なくとも昔のOS(というかDOS)はBIOSを使って入出力していました。(BIOSはBasic Input Output Systemの略です。)
ハードウェアが多少異なってもBIOSのI/Fを統一しておけば、同じバイナリのOSを使えるという発想だったと聞いてます。
しかし、一般にはハードウェアが異なる場合、同じバイナリのOSを使うこと自体があり得ない話(異なるハードウェアに合わせてOSを改造します)なので、IBM PC/AT互換機特有の話ではないかと思います。
最近の事情は把握していませんが、PC/AT互換機はハードウェアの仕様がある程度規格化されているので、今もリアルタイム・クロック等、異なる設計のハードウェアを搭載するメリットがないものはBIOS(最近はUEIFですね)がハードウェアを制御している部分も残っているのではないかと思います。
特にTPMチップは、デバイスドライバをTMPチップが認証する仕組みがないとセキュリティ・ホールになりますので、デバイス・ドライバをソフト的に交換できる仕組みを実装しづらいはずです。
投稿2016/08/26 14:08
総合スコア23274
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。