Abstract
As the size of embedded system software increase bigger and bigger, and it's complexity is grower and grower, the usage of dynamic memory management scheme such collector also has been increased. Using the garbage collector, however, inherently lead us performance degradation. In order to resolve this kind of performance problem in the Java based embedded system. we introduce an explicit dynamic memory free method to the automated dynamic memory management environment. which can be performed by a programmer. In the worst case, the prosed scheme shows the same performance as the case of that only garbage collector is working, since the unclaimed garbage objects will eventually be collected later by the garbage collector. In the best case. our method is free from any runtime overhead because the applications can be implemented without any intervention of the garbage collector. Although the proposed method can be facilitated with all the existing garbage collection algorithms, it shows an outperform in the case of mark-and-sweep algorithm.
내장형 시스템 소프트웨어의 규모가 커지고 복잡해짐에 따라 동적 메모리 사용이많아지고, 자동화된 동적 메모리 관리를 수행할 수 있는 쓰레기 수집기의 사용이 보편화 되어가고 있다. 그러나, 쓰레기수집기의 실행 시 오버헤드로 인하여 발생되는 시스템의 성능저하 문제는 피할 수 없게된다. 본 논문에서는 쓰레기 수집기 사용하는 자바기반의 내장형 시스템에서 실행시간에 쓰레기수집기로 인한 오버헤드를 줄이기 위한 방안으로 프로그래머가 명시적으로 동적 메모리를 자유화할 수 있는 기법을 소개한다. 제안된 기법은 최상의 경우쓰레기수집기가 한 번도 수행되지 않은 채 어플리케이션의 수행이 가능하므로 기존의 쓰레기수집기로 인한 오버헤드가 전혀 발생되지 않을 수 있다. 반면, 최악의 경우 어떤 쓰레기 객체가 명시적으로 수거되지 않더라도 그것은 추후 쓰레기 수집기에 의해 수거될 수 있기 때문에 쓰레기 수집기를 사용하는 경우와 동일한 오버헤드를 가진다. 제안된 기법은 기존의 모든 쓰레기 수집 알고리즘에 사용될 수 있지만 성능평가 결과 마크-수거 알고리즘에 잘 적용됨을 보여 주었다.