[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

リングプロテクション (Ring Protection)

pointこの用語のポイント

pointランクによって命令できることが変わるよ

pointCPUの話で出てくるよ

point仮想化の話でもたまに出てくるよ

スポンサーリンク

簡単に書くよ

リングプロテクション (Ring Protection)とは

Ring0からRing3までの4つのランク分けがされていて、ランクが高くなるほど(数字が0に近づくほど)CPUに対する命令の自由度が高くなる仕組み
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

CPUは「実際に計算したりあれやこれやの処理を実行するパソコンの部品」ね。

リングプロテクション

パソコンさんの脳みそに相当する部品です。

リングプロテクション2

このCPUさんとやり取りするやつに対して、ランク付けをします。
ランクは「Ring0」「Ring1」「Ring2」「Ring3」の4つです。
ここでは、ピヨ子さんがRing0、ピヨ太ママがRing1、アクマ君がRing2、ピヨ太君がRing3だったとしましょう。

リングプロテクション3

Ring0は一番高いランクです。
Ring0の人は、CPUさんに対して好き勝手に命令できます。
「パン買ってこい」でも「空を飛べ」でも命令して構いません。
Ring0のピヨ子さんは、CPUに対して、支配者のように振る舞うことができるのです。

リングプロテクション4

その後、Ring1、Ring2と数字が大きくなるにつれてランクは下がっていきます。
最弱のRing3になった場合は、CPUさんに対して、ある程度の命令しかできません。
Ring3のピヨ太君には「パン買ってこい」なんて偉そうな命令は許されていないのです。

リングプロテクション5

このような仕組みにすることによって、上位ランクの邪魔ができなくなります。

仮にRing3のピヨ太君が「パン買ってこい」と言っても、CPUさんは無視しますからね。
Ring0のピヨ子さんが「パン買ってこい」と言ったときに、既にCPUさんはお買い物に行っている、といった事態が回避できます。

このように、CPUに命令するやつに対してランク付けをして、そのランクによって出せる命令の自由度が変わる仕組みが「リングプロテクション」です。
以下のような輪っか構造のイメージ図を使って説明されることが多いです。

リングプロテクション6

個人的には、別に輪っかで考える必要もないと思いますけどね。
名前が名前なので、輪っか構造で説明されることが多いのでしょうか。
なんで輪っかなのかは分かりませんでした。

例えば、パソコンさんの中には「カーネル」と呼ばれるソフトが入っています。

リングプロテクション7

カーネルは「OSの中核部分として頑張っているソフトウェア」です。
OSは「パソコンさんの人格に相当するソフト」ね。

このカーネルのランクはRing0です。
カーネルはOSの中核なので「OSのランクはRing0です」と言っても良いでしょう。
Ring0は一番高いランクです。
OSはCPUさんに対して支配者のごとく振る舞えます。

それに対して、普通のソフトはRing3です。
CPUさんに対しては、Ring3に許されている範囲で命令できます。

そうです。
普通のソフトがCPUさんに対してできる命令は、あくまで「Ring3に許されている範囲」なのです。
どんなに無茶を言おうとしても、制限があります。

この制限によって、普通のソフトがOSに迷惑をかけないで済んでいるのです。

仮に普通のソフトがOSと同じRing0だったとしましょう。
そうすると、CPUさんに対して偉そうな命令ができてしまいます。
その結果、普通のソフトがCPUさんに無茶な命令をしたことによって、OSのお仕事を邪魔してしまうかもしれません。
場合によっては、OSがお仕事を続行できない事態になってしまう可能性が出てきます。

普通のソフトのせいでパソコンが動かなくなってしまう、悪夢ですね。
新発売のソフトとか、怖くて入れられません。

リングプロテクションの考え方によって、そのような悪夢を避けることができます。
ランクによって命令できる範囲、つまりは影響範囲が違いますからね。

ちなみに「リングプロテクション」という用語は、仮想化の話で出てくることもあります。
細かいことは「自分で頑張って勉強してください」ですけどね。
ヒントを兼ねてクイズを出しておきましょう。

OSはRing0です。
それ以外のソフトはRing3です。

それでは、仮想マシン(コンピュータの中に作られた、なんちゃってコンピュータ)の中にあるOS(ゲストOS)はRing0でしょうか?それともRing3でしょうか?

OSだからRing0ですかね?
やっぱり「なんちゃって」だからRing3でしょうか?
それとも、それ以外のランクになっちゃったりしますかね?

興味がある方は、頑張って勉強してください。

image piyo2

一言でまとめるよ

まぁ「リングプロテクション」って単語が出てきたら「ランクによってCPUに命令できることが変わる仕組みなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク