In high-level programming language systems such as object-oriented programming language systems and functional language systems, dynamic memory allocation and garbage collection mechanism are usually used. Those memory management facilities have made implementation of the language systems harder. Furthermore, there has been an unsolved problem that the garbage collector causes too much page-faults during its execution.
We thought that operating systems should provide support for application-level memory management, to reduce the cost of implementation of language systems, and to make the memory management mechanism more efficient by implementing it with deep concern to operating system level memory management mechanism such as paging.
In this paper, we consider some problems in providing application-level memory management by the operating system, and show a solution to it. We must separate information and mechanism for memory management, so we must have communication mechanism between those parts. Also, as an example of our approach, we show the way to implement a new garbage collector that causes few page-faults during its execution.
本研究ではアプリケーション内部のメモリ管理機構を OS側で提供することを考えている。 これにより、処理系実装にかかる労力を軽減し、 ページフォルト回数の削減などのきめの細かい効率化をすることが 可能になる。
本稿では、OSがアプリケーション内メモリ管理を支援する際の問題点を挙げ、 その解決方法を述べる。 さらに、OS支援の機構を利用して効率化を図るための手法のひとつとして、 GC中のページフォルトの回数を削減するための具体的な方法を示す。