web-dev-qa-db-ja.com

保護リングがリングと呼ばれるのはなぜですか?

保護リングは、ソフトウェアに付与されるさまざまな特権レベルであり、カーネルが最も特権的であり、アプリケーションが最も特権的ではなく、ドライバーがその中間にあります。

私の質問はなぜリングと呼ばれるのですか?(特権レベルとは対照的に)これは歴史的に正当化されているのか、それとも理解を容易にするための類推を通じてですか?

3
LemonPi

警告:この回答には、経験に基づく推測が含まれています。

「リング」は、保護リングの「ネストされたセット」の側面を明確に表現しています。保護リングは、それらを説明する初期の論文では「同心」として説明されていました。

私が見つけることができる最も早いリングの引用は、ロバートM.グラハムによる1967年の論文「 情報処理におけるユーティリティ 」です。それは述べています、

順序付けされるリングを定義し、0から最大値までの番号が付けられたセグメントの互いに素なセット。

Text repeated in the picture because it looks so darn cool

Michael D. SchroederとJerome H. Saltzerによる1972年の論文「 保護リングを実装するためのハードウェアアーキテクチャ 」は、このイメージを強調するより多くの言語を提供します(強調は私のものです):

セグメンテーションをメモリアドレッシングスキームとして使用するシステムでは、アクセス特権を減少させる同心リングを計算に関連付けることにより、保護を部分的に実現できます。

そして

別の言い方をすると、プロセスのさまざまなリングによって表されるアクセス機能のセットは、ネストされたサブセットのコレクションを形成し、リング0が最大のセットおよびリングですr-1コレクション内の最小セット。

同心円のメタファーは、OSI 7レイヤーの「スタック」モデルなどの他のメタファーが行わないように、この「ネストされたサブセット」の概念に明らかに相関しています。

同心円でよりよく機能する他の言語は「ゲート」です。再びシュローダーとサルツァーを引用すると、

特定のドメインでの実行の開始を、ゲートと呼ばれる特定のプログラムの場所に制限すると、[保護]が提供されます...

リング構造では、2つの層の間のゲートが唯一の明確な接続ポイントです。一方、スタックでは、共有接続線の間の線上にゲートが存在する場合がありますが、側面に沿って空白をたどることによって他のアクセス方法が認識される場合があります。 。繰り返しますが、OSIモデルは、レイヤーが「跳躍」されて無視される可能性があるモデルとより密接に一致します。同心リング構造では、アクセスのすべての層が累積的であることが明らかになります(保護リングの場合、一方向)。

門は中世の城の設計であり、その間に門を挟んだ同心壁のデザインにも適していますが、Multicsリングを城と同等にする歴史的な参考資料は見つかりません。概念を説明するために類推を描く現代の参照のみ。

8
gowenfawr

これは質の低い答えになるだろう、私は恐れている…しかし、コメントに写真を入れることはできない。

ロード・オブ・ザ・リングのシティー・オブ・ゴンドールのように、私はいつもそれを想像しました。街の中心にある塔を保護するために、壁は街の周りに同心の輪として作られています。

より高いリングへの入場を得ることは、都市のスチュワードからのより高いレベルの信頼を意味しました。

The city of Gondor and the tower of Minas Tirith from The Lord of the Rings.

3
nbering