最終更新:
author_nari 2008年11月03日(月) 13:12:29履歴
Hans J. Boehmらによって考案された、Mark&Sweepを基本とするアルゴリズムである。
ヒープ領域をページ単位で管理し、ハードウェアのメモリ管理機能を利用する。
- GC開始時にルートから直接参照できるセルに印をつける。
- 1が終わると、ヒープ全体を書込み禁止にしておく。
- マーク操作をミューテータの実行と交互に少しずつ進めていく。ミューテータにより、セルへの書き込みが行われた場合にはページ保護違反が起きる。これをキャッチし、書き込みが起こったページを記録しておく。また、そのページには書き込みができるようにしておく。
- マーク操作が終わると、書き込みがあったページのみをスキャンし、再度マーク操作を行う(これは、ミューテータの操作とは並行できない)。
- スイープ操作を行う。ミューテータの操作と交互に行うため、一度にn(定数)ページずつスイープする。
- カテゴリ:
- パソコン
- ガーベッジコレクタ(GC)
コメントをかく