歴史を振り返ると、初期のシステム(例えば DOS)では誰でも直接ハードウェアを操作でき、さらにはオペレーティングシステム自体を破壊することもできました。このような状況で「マルチタスク」を実現することはほぼ不可能でした。その後、この「プログラムの反乱」を防ぐために、CPUに権限管理が追加されました。これが私たちが一般的に言う「リング」です。



簡単に言うと、Ringは四層の塔のようなものです。

最底层 Ring 0 はシステムカーネルの領域であり、OS の「特権モード」です

最上面 Ring 3 は普通のユーザーがプログラムを実行する場所、つまり「ユーザーモード」です。

プログラムは普段Ring 3にしか滞在できず、Ring 0のものに権限を越えて触れることは許可されていません。たとえば、ハードディスクに直接データを書き込むことや、直接シャットダウンすることはできません。これらはすべてシステムコール(syscall)を通じて間接的に完了する必要があります。

こうなれば、エラーのあるプログラムは自分だけをクラッシュさせ、システム全体は影響を受けません。これが、今のスマートフォンやコンピューターが何十個ものアプリを開いても問題が起きない理由でもあり、みんなが「自分の小さな黒い部屋」を持っていて、お互いに干渉しないのです。

このメカニズムは後に仮想マシン(VM)でも使用されました。これは、コンピュータの中で別の「仮想コンピュータ」が動いていると理解できます。しかし、問題は元のシステムが自分自身を親だとデフォルトで思っていることです。Ring 0 で動いていますが、今やそれは仮想マシンの「小弟」に過ぎません。どうすればいいのでしょうか?

そして「ソフトウェア仮想化」が誕生しました:動的に命令を変更することで、仮想システムが「自分がすべてを制御している」と思わせ、実際の制御権はホストシステム(ハイパーバイザーとも呼ばれる)の手の中にあります。
RING0.54%
原文表示
post-image
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)