Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linux Memory Management Knowledge

Linux Memory Management Knowledge

  

Q1。プロセスのアドレス空間を「カーネル空間」と「ユーザー空間」に分けたのはなぜですか。

A:Linuxの仮想アドレス空間のサイズは4GBですが、カーネルは4GBの空間を2つの部分に分け、上位の1GB(仮想アドレス0xC0000000〜0xFFFFFFFF)をカーネルが使用します。 ';および各プロセスの下位3GB(仮想アドレス0x00000000〜0xBFFFFFFF)は、各プロセスがシステムコールを通じてカーネルに入ることができるので、カーネルスペースはシステム内のすべてのプロセスです。共有、つまりプロセスの観点からは、各プロセスは4GBの仮想アドレス空間(仮想メモリとも呼ばれる)を持つことができます。


Q2。Linuxはどのようにリクエストページングを実装していますか?

A:

1)アクセスされているページがメモリ内にない、つまりそのページがどの物理ページにも保存されていない場合、カーネルは新しいページを割り当てます。正しく初期化すると、このテクニックは "リクエストページング"と呼ばれます。

2)リクエストページングは​​、ページの割り当てを遅らせる動的メモリ割り当てテクノロジです。遅延後、つまりプロセスがアクセスするページが物理メモリになくなり、ページフォルト例外が発生するまで、このテクノロジの導入は主に、プロセスの実行時にプロセスがそのアドレス空間のすべてにアクセスしないためです。住所

Copyright © Windowsの知識 All Rights Reserved