최근 반도체 제조 기술의 향상에 의해 프로세서의 동작 속도는 빠르게 증가하였지만 이에 반해 보조 저장 장치로 사용되는 하드디스크나 SD카드, USB 메모리의 전송 속도는 상대적으로 느리게 발전하고 있다. 응용 프로그램의 실행을 위해서는 보조 저장 장치로부터 주 기억 장치인 메모리로의 적재 과정이 필요한데 이때에 전송 속도 차이에 의해 병목 현상이 발생하게 된다.
본 논문에서는 퍼스널 컴퓨터에서 사용하는 실행 압축 파일 기법을 임베디드 시스템 환경에 적용하여 응용 프로그램의 초기 실행을 위해 주 메모리로 적재하는 과정에서 발생하는 속도 저하에 의한 병목 현상을 줄이고자 하였다. 이를 위하여 압축 알고리즘에 대해 조사하고 임베디드 환경에서 사용하기에 적합한 렘펠-지브 압축 알고리즘 기반의 Lempel-Ziv-Overhumer 압축 라이브러리와 디플레이트 압축 알고리즘 기반의 ZLIB 압축 라이브러리를 이용하여 실행 압축 파일을 설계하였다. 실행 압축 파일을 생성하는 과정은 퍼스널 컴퓨터에서 컴파일 과정에 연달아 수행할 수 있는 작업으로 보고 있다. 따라서 이 과정에 소요되는 시간에 대한 부분은 별도로 고려하지 않았다.
두 압축 알고리즘을 이용하여 설계한 실행 압축 파일을 이용해서 초기 실행을 위해 소요되는 시간의 감소를 측정한 결과 파일크기가 크면서 압축률이 좋은 경우 최대 40%의 성능 향상이 있음을 알 수 있었다. 하지만 파일의 크기가 실행 압축 해제 모듈에 비해 너무 작거나 압축률이 낮은 경우에는 오히려 성능 저하가 발생하였다. 이 문제를 보완하기 위하여 실행 압축 파일 생성기의 기능에 옵션 플래그를 이용하여 수정하였다. 이를 통하여 실행 압축 파일을 적용하였을 때 성능 저하가 예상 되는 경우는 실행 압축을 진행하지 않도록 하였고, 성능 향상이 기대될 경우에만 실행 압축을 진행하도록 생성기의 기능을 개선하였다.
본 논문에서 구현한 실행 압축 파일을 이용하게 될 경우 보조 저장 장치의 사용 용량을 줄이고 초기 실행 속도 향상을 기대할 수 있다. 또한 보조 저장 장치를 이용하지 않는 독립형 시스템에서도 보드에 장착된 프로그램 저장 메모리의 사용량 절약 효과가 있다. 특히, 네트워크로 연결된 서버를 통해 실행 파일을 내려 받아 실행하는 경우 데이터 전송을 위한 시간을 줄일 수 있다는 장점을 갖는다.
아직 남아있는 과제는 압축 해제를 위한 모듈의 최적화를 통한 성능 향상 부분과 압축 알고리즘의 개선을 통한 응용 프로그램에 적합한 압축 해제 알고리즘의 적용이다. 이와 관련하여 추가 연구가 진행 될 경우 임베디드 시스템에서 사용하는 프로그램에 대해 보다 높은 성능 향상 효과를 기대할 수 있을 것이다.