CPU modesとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > CPU modesの意味・解説 

CPUモード

(CPU modes から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/12/30 15:03 UTC 版)

CPUモードプロセッサモード特権レベル)とは、コンピュータCPUの動作モードであり、CPUが実行できる操作を制限するものである[注 1]

モードの種類

複数の動作モードを持つCPUでは、そのうちの少なくとも1つは完全に無制限のCPU動作を許す。この無制限のモードを通常カーネルモード(あるいはスーパーバイザーモード特権モード)と呼ぶ。他のモードは通常ユーザーモードと呼ばれるが、別の名で呼ばれることもある(「スレーブモード」など)。

カーネルモードでは、CPUはそのアーキテクチャの全ての操作が可能である(ハードウェア構成によっては不可能な操作もありうる)。任意の命令を実行でき、入出力操作を開始でき、全メモリ空間にアクセス可能である。他のCPUモードでは、ハードウェアによってCPUの動作に制限が加えられる。典型的には、一部の命令が実行できなくなり、入出力操作ができなくなり、メモリ空間の一部にアクセスできなくなる。通常、ユーザーモードでのCPUの機能はカーネルモードでの機能のサブセットであるが、場合によっては(例えば他のアーキテクチャのハードウェアをエミュレーションしている場合など)、カーネルモードのサブセットとは言えない全く異なった機能になっていることもある。

リングプロテクションの概念図

CPUアーキテクチャによっては様々なモードをサポートする。たとえば組込み用プロセッサでは割り込みハンドラ用などのモードを別に持つものがある。また、複数のユーザーモードをサポートし、階層を形成するものもある。このようなアーキテクチャを「リングプロテクション」と呼び、図のようにカーネルモードを中心とした同心円状に概念化することがある。Multicsのハードウェアはリングプロテクションを大々的に採用した最初の例であるが、他の多くのハードウェアプラットフォームも同様の考え方で設計されている。例えば、Intel 80286プロテクトモードItaniumなどがある。階層化されたリングプロテクションは、ハイパーバイザ上でのオペレーティングシステムの実行や、デバイスドライバ、またマイクロカーネルにおける「サーバ」の隔離などに活用されることがある。

モード保護はCPU自身だけでなく、他のリソースにも応用されることがある。CPUのレジスタが現在の動作モードを保持するが、それ以外に仮想記憶関連のレジスタやページテーブルエントリなどにモードを識別する情報を格納することがある。例えば、CPUはステータスレジスタに示されるリング0で動作しているとしても、メモリへのアクセス毎にアクセス対象の仮想メモリセグメントのリング番号をチェックし、マッピングされている物理ページのリング番号をチェックするといったことが考えられる。

CPUモードとソフトウェアの関係

多くのCPUハードウェアアーキテクチャは、通常実行しているオペレーティングシステムが利用する以上の柔軟性を有している。複雑なCPUモードの適切な利用はCPUとオペレーティングシステムの密接な協力が必要であり、OSとCPUアーキテクチャを拘束する傾向がある。OSとCPUが相互に相手を意識して設計された場合、問題はない(それでもハードウェア機能の一部は使われないことがある)が、OSが複数の他のCPUでも動作することを考慮して設計された場合、OSはCPUモード機能の大部分を利用しなくなる。例えば、Windows NTは多くのアーキテクチャへの移植性を考慮して設計されたため、ユーザーモードとカーネルモードだけをサポートした。

Multicsは特定のCPUアーキテクチャ(Multicsのために設計された)を意識して設計されたオペレーティングシステムであり、そのCPUモード機能を全て使用した。しかし、これは例外である。今日、OSとハードウェアの密接な相互依存は、セキュリティと安定性という観点では効果があるものの、費用対効果が悪くなる。

CPUの動作モードを区別する最終的な目的は、ソフトウェアによるシステム環境の偶然または故意の破損(と関連するシステムセキュリティ違反)からハードウェアを守ることにある。信頼できるシステムソフトウェアだけが必要なときだけ無制限のカーネルモードで動作することを許される。他の全てのソフトウェアは1つかそれ以上のユーザーモードで実行される。プロセッサがユーザーモードでフォールトや例外を発生しても、多くの場合システムの安定性は影響されない。カーネルモードでフォールトや例外が発生すると、多くのオペレーティングシステムはシステムを停止させる(クラッシュ)。モードの階層があると(リングプロテクション)、ある特権レベルのフォールトや例外は上位特権レベルには影響しないが、下位レベルの方はその限りではない。従って、リング0(最高特権レベルのカーネルモード)でのフォールトはシステム全体のクラッシュを引き起こすが、リング2でのフォールトはリング2以下(リング3など)に影響を与える可能性がある。

走行中スレッドのCPUモードの変更は高い特権レベルから低い特権レベルの場合は自由に行えるが、低い方から高い方への変更はハードウェアが制御するセキュアな「ゲート」を特殊な命令を使って通過することでなされる(または割り込みを受け付けることでも高い特権レベルへのモード変更がなされる)。これがシステムコールである。

マイクロカーネル方式のオペレーティングシステムは特権モードで動作するコード量を最小化することを意図している。それによって性能が低下してもセキュリティは高まると言う人もいる。

脚注

  1. ^ ただし、本記事で説明するモードとはまったく異なる意味の「モード」もありうる。例えばバイエンディアンのプロセッサ(エンディアンの切り替えが可能なプロセッサ)には、モードを持っていて、どちらのエンディアンで動作するかをモード切り替えによって切り替えるものがある。

関連項目


「CPU modes」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CPU modes」の関連用語

CPU modesのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CPU modesのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCPUモード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS