特権レベル(DPLとCPLとRPL)
特権レベル
CPUやOSの入門書には、特権レベルが説明されていますが、実は特権レベルって3種類あるんです。(IntelのCPUの場合)
ややこしい・・・
具体的には、
RPLや、CPLや、DPL
が特権レベルです。
これらがどう関係してくるかを簡単に説明します。
特権レベルの値について
とにかく、知っててほしいのが、
特権レベルって0~3の値のどれか1つもつということです。
これは、RPL、CPL、DPLすべて同じことが言えます。
0が一番権利が強くて、3が弱いということだけはとりあえず覚えてください。
DPLとは
DPLが最も基本となる特権レベルです。
各セグメントは、必ずDPLを持ちます。
これは、どういうものかというと、
他のセグメントにアクセスされた際に、使われるものです。
とりあえず、DPLというのは、他のコードセグメントにアクセスされた際に、利用する特権レベルなんだなという認識でいいと思います。
CPL
CPLとは、実行しているコードセグメントの特権レベルのことを言います。
CPLは、DPLと全く同じ値を持ちます。
そして、このCPLが、他のセグメントにアクセスしようとしたときに
そのセグメントのDPLと今実行しているコードセグメントのCPLを比較します。
例えば、
アクセスしようとしているコードセグメント CPL=0
アクセスされるセグメント DPL=3
のとき、
0のほうが特権レベルは強いので、この場合
アクセスできます。
実行中のコードセグメント CPL=3
アクセスされるセグメント DPL=0
この場合、CPUは、一部保護例外を起こします。
つまり、アクセスできないのです。
RPLとは
RPLはどういう特権レベルかというと
CPLを書き換えることができる特権レベルです。
これは割り込みやコールゲートで、元のコードの特権レベルを引き上げる(権力としては下げるという意味。)役割を持っています。
Author And Source
この問題について(特権レベル(DPLとCPLとRPL)), 我々は、より多くの情報をここで見つけました https://qiita.com/niwaka_dev/items/cebdccf0d2fd64983db8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .