Development of a Garbage Collector for an Embedded Java Virtual Machine

임베디드 자바 가상머신을 위한 가비지 컬렉터 개발

  • Cha Chang-Il (Division of Information and Communications, Hanyang University) ;
  • Kim Hyung-Jun (Division of Information and Communications, Hanyang University) ;
  • Hwang Gyu-Jeong (Division of Information and Communications, Hanyang University) ;
  • Kim Sang-Wook (Division of Information and Communications, Hanyang University) ;
  • Lee Sang-Yun (Electronics and Telecommunications Research Institute) ;
  • One Hui-Seon (Electronics and Telecommunications Research Institute)
  • Published : 2006.05.01

Abstract

자바 언어는 그 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 임베디드 환경에서 역시 자바는 강세를 나타내고 있으며 임베디드 환경의 특성을 반영한 가상 머신과 가비지 컬렉션 기법이 요구되고 있다. 본 논문에서는 힙이라고 불리는 메모리 영역을 크게 젊은 세대와 늙은 세대의 두 부분으로 나누어서 관리하며 각 세대는 그 특성과 요구사항에 적합하도록 각기 다른 기법을 적용한 가비지 컬렉터를 제안한다. 더불어 효과적인 가비지의 식별을 위한 쓰기 장벽과 2중 필터링 기법을 제안하고 있으며, 일반적인 방법으로 회수가 불가능한 순환적 구조의 가비지를 검출하여 회수하기 위한 이중 검사 기법을 제안한다. 제안하는 기법은 임베디드 환경의 요구사항인 객체의 빠른 할당, 동작의 실시간성, 모든 가비지의 회수, 단편화 제거, 높은 지역성 등을 모두 만족한다.

Keywords