8
brk()システムコールは何をしますか?
Linuxプログラマのマニュアルによると: brk()およびsbrk()は、プロセスのデータセグメントの終わりを定義するプログラムブレークの場所を変更します。 ここでデータセグメントはどういう意味ですか?それは単なるデータセグメントですか、それともデータ、BSS、およびヒープの組み合わせですか? wikiによると: データ、BSS、およびヒープ領域は、まとめて「データセグメント」と呼ばれることがあります。 データセグメントのみのサイズを変更する理由はわかりません。それがデータ、BSS、およびヒープの場合は、ヒープがより多くのスペースを取得するため、理にかなっています。 それでは、2つ目の質問をさせていただきます。これまでに読んだすべての記事で、著者はヒープが上向きに成長し、スタックが下向きに成長すると言っています。しかし、彼らが説明していないのは、ヒープがスタックとスタックの間のすべてのスペースを占有するときに何が起こるかです。
184
c
linux
unix
memory-management
brk