リングプロテクション
ランクによって命令できることが変わるよ
CPUの話で出てくるよ
仮想化の話でもたまに出てくるよ
簡単に書くよ
リングプロテクション(英:Ring Protection)とは
Ring0からRing3までの4つのランク分けがされていて、ランクが高くなるほど(数字が0に近づくほど)CPU
(コンピュータの脳みそに相当する部品)に対する命令の自由度が高くなる仕組み
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「CPU」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
CPUは「実際に計算したり、あれやこれやの処理を実行するパソコンの部品」です。
CPUはパソコンさんの脳みそに相当する部品です。
パソコンさんが お仕事をしているときは、CPUさんが一生懸命 働いています。
なお、話を単純化するために「パソコン」と表現しましたが、スマホや その他のコンピュータ類でも同じです。
以上を踏まえて、本題に入ります。
まず、CPUさんとやり取りするやつに対してランク付けをします。
ランクは「Ring0」「Ring1」「Ring2」「Ring3」の4つです。
ここでは、ピヨ子さんがRing0、ピヨ太ママがRing1、アクマ君がRing2、ピヨ太君がRing3だったとしましょう。
そして、ランクごとにできることを変えます。
Ring0は一番高いランクです。
Ring0の人はCPUさんに対して好き勝手に命令できます。
「パン買ってこい」でも「空を飛べ」でも命令して かまいません。
Ring0のピヨ子さんは、CPUに対して支配者のように振る舞えるのです。
その後、Ring1、Ring2と数字が大きくなるにつれてランクは下がっていきます。
最弱のRing3になった場合は、CPUさんに対して、ある程度の命令しかできません。
Ring3のピヨ太君には「パン買ってこい」なんて偉そうな命令は許されていないのです。
このような仕組みにすることによって、上位ランクの邪魔ができなくなります。
仮にRing3のピヨ太君が「パン買ってこい」と言ってもCPUさんは無視しますからね。
Ring0のピヨ子さんが「パン買ってこい」と言ったときにすでにCPUさんはお買い物に行っている、といった事態が回避できます。
このような
CPUに命令するやつに対してランク付けをして、そのランクによって出せる命令の自由度が変わる仕組み
が「リングプロテクション」です。
以下のような輪っか構造のイメージ図を使って説明されることが多いです。
個人的には、別に輪っかで考える必要もないと思いますけどね。
名前が名前なので輪っか構造で説明されることが多いのでしょうか。
なんで輪っかなのかは分かりませんでした。
例えば、パソコンさんの中には「カーネル」と呼ばれるソフトが入っています。
カーネルは「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でしょうか?
それとも、それ以外のランクになっちゃったりしますかね?
興味がある方は頑張って勉強してください。
一言でまとめるよ
まぁ「リングプロテクション」って単語が出てきたら「ランクによってCPU
(コンピュータの脳みそに相当する部品)に命令できることが変わる仕組みなんだな~」と お考えください。
おまけ
■訳してみるよ
「ring(リング)」の意味は「輪」とか「環」とか「指輪」とか「鳴る」とか「鳴らす」とかです。
「protection(プロテクション)」の意味は「保護」とか「防御」とか「保護するもの」とかです。
何となく くっつけると
輪になっている保護
となります。






