heap - memory-management - Linux arm64 memory map - スタックとヒープはどこに何があるのか?

Windows 10 address space / memory-management / stack / language-agnostic / dynamic-memory-allocation

プログラミング言語の本では、値型はスタック上に作成され、参照型はヒープ上に作成されると説明されていますが、これら2つのことは説明されていません。私はこれについての明確な説明を読んでいません。スタックとは何かを理解しています。だが、

RajeshKdev



Answer #1

スタックとヒープは、従来、プロセスの仮想アドレス空間の両端に配置されていました。スタックは、アクセスされると、カーネルによって設定されたサイズまで自動的に大きくなります( setrlimit(RLIMIT_STACK, ...) で調整できます)。メモリアロケータが brk() または sbrk() システムコールを呼び出し、物理メモリのより多くのページをプロセスの仮想アドレス空間にマッピングすると、ヒープが大きくなります。