物理メモリと物理メモリはページに分割されています。ページが有効かどうかを確認するには、ページテーブルエントリに有効なビットがあるかどうかを確認します。しかし、ページ内で、MMUはアドレスが有効かどうかをどのように知ることができますか?たとえば、ヒープの一部に属するページ。そのページのすべてのアドレスが有効であるわけではありませんので、MMUはどのようにアドレスを確認してその有効なアドレスを確認できますか?ページ内のアドレスが有効かどうかを確認する方法
答えて
ページは、MMUが情報を格納するメモリの最小単位です。これは基本的に「ページ」の定義です。したがって、ページ内のすべてのアドレスが等しく有効であるかどうかはわかりません。ページの一部がアクセス可能ではない(おそらく割り当てられたオブジェクトの外にある)ものであれば、それはMMUが検出できるものではありません。
論理メモリはPAGESに分割されます。物理メモリはPAGE FRAMESに分割されています。ページテーブル:
- 識別する論理ページがプロセスのアドレス空間
- 仮想メモリの場合、ページ
- から物理ページへのマッピングのための保護(または全くマッピングの一部でありますページアウトされます)。
メモリアクセスの有効性は、アクセスの種類、現在のプロセッサモード、およびページテーブルの状態によって異なります。論理
、メモリアクセスがプロセッサ起こる:
- 論理ページにアドレスを分解し、論理ページ(すなわち、ページ・サイズに依存する)へのオフセット。
論理ページのページテーブルエントリをルックアップします。ページテーブルエントリが存在しない可能性があります。線形ページテーブルでは、テーブルのサイズが制限されることがあります。マルチレベルのページテーブルでは、ページのネストされたテーブルが存在しない可能性があります。対応するエントリ=>アクセス違反がある場合。
ページテーブルエントリが有効なページを示しているかどうかを確認します。これは通常有効なビットで行われますが、それを行う他の方法があります。ページが無効な場合=>アクセス違反。
現在のプロセッサモードのページでアクセスのタイプ(読み取り/書き込み/実行)が許可されているかどうかを確認します。そうでない場合=>アクセス違反
論理ページが物理ページフレームにマップされているかどうかを確認します(これは、多くの場合、手順3の一部として実行されます)。そうでない場合=>ページフォールト
"ヒープ"は単なるメモリです。プロセスは複数のヒープを同時に持つことができます。ヒープマネージャはページを論理アドレス空間にマッピングし、それらのページを管理します。ヒープは連続したメモリに存在する必要もありません。
通常、ハイレベルのメモリダイアグラムでは「ヒープ」が表示されますが、これは何が起こっているのかを全体的に単純化したものです。
- 1. ポインタが有効かどうかを確認する方法?
- 2. 角スピナーが有効かどうかを確認する方法
- 3. CArchiveが有効かどうかを確認する方法
- 4. wifiオプションが有効かどうかを確認する方法
- 5. SQL Server:CLRが有効かどうかを確認する方法?
- 6. ページがJavaScript - ASP.NETで有効かどうかを確認
- 7. セルに有効なIPv6アドレスが含まれているかどうかを確認する方法は?
- 8. IDataErrorInfo:すべてのプロパティが有効かどうかを確認する方法?
- 9. Androidサービスから、画面が有効かどうかを確認する方法
- 10. enumの値が有効かどうかを確認する方法は?
- 11. Kik/Snapchatのユーザー名が有効かどうかを確認する方法
- 12. データベースへのURLが有効かどうかを確認する方法?
- 13. OpenGLテクスチャ名が有効かどうかを確認する方法
- 14. Node.jsでMongoDB接続が有効かどうかを確認する方法
- 15. WCF net.pipeエンドポイントアドレスがC#で有効かどうかを確認する方法
- 16. jQuery:href属性が有効かどうかを確認する簡単な方法
- 17. wordpress W3トータルキャッシュプラグインが有効かどうかを確認する方法?
- 18. 自動コミットが有効かどうかを確認する方法postgres 'psql
- 19. ユーザ名がsshサーバで有効かどうかを確認する方法
- 20. 変更追跡が有効かどうかを確認する方法
- 21. 電子メールが有効かどうかを確認する
- 22. 制御値が有効かどうかを確認するXPath
- 23. AndroidでWi-Fiが有効かどうかを確認する
- 24. aspセッションが有効かどうかを確認するには?
- 25. コアデータが有効かどうかを確認するXcode
- 26. SSIS - URLが有効かどうかを確認する
- 27. アクセストークンが有効かどうかを確認する - Identity Server
- 28. Swiftジェネリックタイプが無効かどうかを確認する方法?
- 29. セッションが無効かどうかを確認する方法
- 30. Web APIのトークンを確認する方法は、anglejsで有効かどうか