OSとハードウェア
CPUに特権モード(カーネルモード)とユーザモードを設ける主な目的はどれか。
- Aアプリケーションの命令を、カーネルの命令より速く優先して実行できるようにするため
- Bアプリケーションがページテーブルや装置を勝手に操作できないよう保護するため
- C1つのCPUで同時に2つの命令を実行できるようにするため
答えと解説を見る
正解:B. アプリケーションがページテーブルや装置を勝手に操作できないよう保護するため
ページテーブルの書き換えや入出力装置の操作、割り込みの禁止などをアプリケーションが自由にできると、ほかのプログラムのメモリを壊したりシステム全体を止めたりできてしまいます。そこでCPUは、これらの命令を特権モードでしか実行できないようにし、OSのカーネルだけが使えるようにしています。ユーザモードで実行しようとすると例外になります。速さや同時実行のためのしくみではありません。
- A. 実行の速さはモードでは変わりません。
- B. 正しい。危険な操作をカーネルに限定して、システムを保護します。
- C. 同時に複数の命令を実行するのはスーパースカラなどのしくみです。