私は仮想メモリについて読みました。私には疑問があります.PとQの2つのプロセスがあるとします。どちらも同じ仮想メモリアドレッシングを持ちます。彼らはどちらもページテーブルを持っています。システム全体のページテーブルを使用する場合、これらの2つのプロセスはRAM上でどのように区別されますか?仮想メモリ内の2つのプロセス
0
A
答えて
1
各プロセスには、物理メモリへのマッピングを持つ仮想アドレス空間がありますが、通常はディスクに仮想化することもできます。
0
システムワイドページテーブルが常に使用されている場合は、仮想マッピングが1つしかないため、2つのプロセスが互いのメモリを処理するため、動作できません。
* nixシステムただし、プロセスごとに1つのページテーブル(単純に言います)を保持し、カーネルがプロセスの実行をスケジュールするときにそれらを切り替えます。そうすれば、各プロセスは異なる物理アドレスにマッピングされた同じ仮想アドレスを持つことができ、問題はありません。
1
仮想アドレスがユーザーとカーネル空間に分割されているためです。起動プロセスが開始されると、ページングユニットが有効になり、突然カーネル空間の仮想アドレスにジャンプし、最後に制御をユーザ空間に渡します。システムワイドページテーブルはカーネル用で、各プロセスには独自のページテーブルがあります。
カーネルに実行されるとき、カーネルページテーブルを使用し、ユーザーにスイッチバックされると、ユーザープロセスページテーブルを使用します。
各プロセスには独自のページテーブルがあり、したがって2つのプロセスを区別します。
関連する問題
- 1. プロセスのアドレス空間と仮想メモリ
- 2. 仮想メモリ、ページサイズ、最大仮想アドレス
- 3. プロセスの仮想メモリサイズのulimit
- 4. のjava - 仮想マシンのメモリ
- 5. iOSのプロセスで使用される仮想メモリですか?
- 6. 仮想メモリとリロケータブルコード
- 7. ポインタと仮想メモリ
- 8. Pytablesと仮想メモリ
- 9. 仮想メモリとsbrk
- 10. ノンオペレーションプログラム用のJava仮想メモリ?
- 11. Excel仮想メモリの問題
- 12. Redisの仮想メモリは2.6
- 13. iOSのメモリスワッピングと仮想メモリ
- 14. 1つの仮想ディスクを2つの異なる仮想マシンで使用仮想マシン
- 15. 仮想メモリと各項目のサイズ
- 16. アクションスクリプト仮想マシン1 - メモリの検査
- 17. Node.js高い仮想メモリの使用
- 18. Androidで仮想シリアル通信を使用して2つのプロセス(アプリケーション)内のバイトを読み書きする
- 19. 私のプロセスは仮想メモリに比べて常駐メモリの方が高いのはなぜですか?
- 20. 物理メモリと仮想メモリのデータ割り当ての動作
- 21. (仮想)サブフォルダ内のhtaccessミラールート
- 22. モデル内の仮想列
- 23. 2台の仮想マシンをAzure仮想ネットワークに接続する
- 24. 仮想(メモリ内)SDカードを作成するには?
- 25. C++のサイクリングには(3つのクラス、2つの仮想)
- 26. 仮想アドレスはプロセス固有ですか?
- 27. IIS内のASP.NETコアアプリケーション内の仮想ディレクトリ
- 28. スワップパーティションを持たない仮想メモリ
- 29. ソフト仮想メモリ制限(ulimit -v)
- 30. 2つのプロセス間の共有メモリ内のデータへの同期アクセス
仮想アドレス空間を意味しますか? –
google for MMU! –
プロセスIDは? – Kevin