OSとハードウェア

コンテナと仮想マシンの違いとして正しいものはどれか。

  1. Aコンテナはそれぞれが独自のOSのカーネルをもち、仮想マシンはカーネルを共有する
  2. Bコンテナはハイパーバイザの上で動き、仮想マシンはOSの機能だけで動く
  3. Cコンテナはカーネルを共有し、仮想マシンは独自のOSを動かす
答えと解説を見る

正解:C. コンテナはカーネルを共有し、仮想マシンは独自のOSを動かす

コンテナは、1つのOSのカーネルを共有しながら、ファイルの見え方、プロセス、ネットワーク、使える資源などをグループごとに分けて隔離する方式です。OSを丸ごと起動しないので軽く、起動も速くなります。仮想マシンはハイパーバイザの上で、それぞれが独自のカーネルを含むOSを動かすため、重い代わりに隔離が強く、別の種類のOSも動かせます。カーネルを共有するのはコンテナの側で、説明が逆になっている選択肢に注意が必要です。

  • A. カーネルを共有するのはコンテナの側で、説明が逆です。
  • B. ハイパーバイザの上で動くのは仮想マシンの側です。
  • C. 正しい。コンテナはカーネルを共有し、仮想マシンは独自のOSを動かします。
この分野を解く 分野ページへ

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

  1. 多くのOSで、カーネルの領域を各プロセスのアドレス空間の一部(例えば上位の範囲)に割り当てておき、ページテーブルの保護ビットでユーザモードからのアクセスを禁止している。この配置の主な利点はどれか。
  2. ページサイズが4 KBのとき、仮想アドレスのうちページ内の位置(オフセット)を表すのは何ビットか。
  3. ページサイズが4 KBのとき、32ビットの仮想アドレス0x00403ABCのページ番号とページ内のオフセットの組み合わせとして正しいものはどれか。
  4. RISC-Vの特権アーキテクチャで定められている主な動作モードの組み合わせとして正しいものはどれか。
  5. 割り込みや例外の処理を終えて元のプログラムに戻るとき、通常の関数の戻り命令ではなく、専用の復帰命令(RISC-Vのsret・mretなど)を使う理由はどれか。