OSとハードウェア

準仮想化(パラバーチャライゼーション)の説明として正しいものはどれか。

  1. A仮想マシンのOSを一切変更せず、本物のハードウェアの装置をすべてそのまま再現する
  2. B仮想マシンのOSが仮想化されていることを前提に、ハイパーバイザ向けの効率的な手順を使う
  3. Cハイパーバイザを使わずに、1つのOSの中で複数のアプリケーションを動かす
答えと解説を見る

正解:B. 仮想マシンのOSが仮想化されていることを前提に、ハイパーバイザ向けの効率的な手順を使う

本物の装置を細部まで再現すると、装置のレジスタへのアクセスのたびにハイパーバイザへの切り替えが起こり、遅くなります。準仮想化では、ゲストのOSに仮想化用のドライバを入れ、共有メモリ上のキューでまとめて要求をやり取りするなど、仮想化されていることを前提にした効率のよい手順を使います。仮想ディスクや仮想ネットワークの装置で広く使われています。OSを変えずに装置を完全に再現するのは完全仮想化の考え方です。

  • A. OSを変えずに本物の装置を再現するのは完全仮想化の考え方です。
  • B. 正しい。仮想化を前提にした効率的な手順を使います。
  • C. 1つのOSで複数のアプリを動かすのは通常のOSの働きです。
この分野を解く 分野ページへ

OSとハードウェアのほかの問題

  1. コンテナと仮想マシンの違いとして正しいものはどれか。
  2. 多くのOSで、カーネルの領域を各プロセスのアドレス空間の一部(例えば上位の範囲)に割り当てておき、ページテーブルの保護ビットでユーザモードからのアクセスを禁止している。この配置の主な利点はどれか。
  3. ページサイズが4 KBのとき、仮想アドレスのうちページ内の位置(オフセット)を表すのは何ビットか。
  4. ページサイズが4 KBのとき、32ビットの仮想アドレス0x00403ABCのページ番号とページ内のオフセットの組み合わせとして正しいものはどれか。
  5. RISC-Vの特権アーキテクチャで定められている主な動作モードの組み合わせとして正しいものはどれか。