VAS(仮想アドレス空間)について学び始めましたが、いくつかの質問があります。
- アーキテクチャ(32ビットおよび64ビット)によって、各プロセスに対していくつのVASが作成されますか?
- プロセス固有のVASはハードディスクに作成されますか?では、スペースが足りないとどうなりますか?
- VASにはテキスト、データ、BSSなど、どのようなコンテンツが保存されますか?
ベストアンサー1
各プロセスは、アーキテクチャと構成ごとの最大値まで必要な数の仮想アドレススペースを確保します。割り当てられたメモリ量は、次のコマンドを使用して調整できます。
brk
そしてsbrk
とmmap
。現在x86-64で利用可能な最大値は次のとおりです。128TiB 4レベルページテーブル、64PiB 5レベルページテーブル。 32ビットx86で使用可能な最大値は、次の点で異なります。VM分割の構成各プロセスのサイズは1GiBから3GiBの間です。
いいえ。
各プロセスのアドレス空間には、プロセスがメモリにアクセスするために必要なすべてが含まれています。物理メモリにマッピングせずにアドレス空間を割り当てることができます。