Abstract
Systems such as military inspection equipment which it is important to acquire and evaluate data in real-time should be able to real-time processing at the operating system level. As technology advances, there is a demand for replacing existing equipment with mobile device, but mobile devices with Android are not suitable for systems requiring real-time performance. On Android, garbage collection ensures free memory, while other tasks are interrupted while this task is performed, which cannot guarantee periodicity of particular tasks. In this paper, we designed and implemented a structure to control execution garbage collection of Android to solve this problem. Real-time performance is ensured by controlling garbage collection during the time required for real-time operation, and RTiK(Real-Time implanted Kernel) is applied to ensure real-time performance on Android. In order to evaluate the performance, we measured the call period of the 5ms period task, and, only 34.31% of the task was guaranteed before the control, but the task period of 98.18% was satisfied through control, providing real-time performance to Android.
실시간으로 데이터를 획득하고 평가하는 것이 중요한 군용 점검 장비와 같은 시스템에서는 운영체제 레벨에서 실시간 처리가 가능해야 한다. 기술의 발전으로 기존 장비를 휴대용 단말로 대체하려는 요구가 있으나, 안드로이드가 적용된 휴대용 단말은 실시간성이 요구되는 시스템에 적합하지 않다. 안드로이드에서는 가비지 컬렉션을 통해 가용 메모리를 확보하는데, 이 작업이 수행되는 동안 다른 태스크가 중단되어 특정 태스크의 주기성을 보장할 수 없다. 본 논문에서는 이를 해결하기 위해 안드로이드의 가비지 컬렉션 실행을 제어하는 구조를 설계 및 구현하였다. 실시간 작업이 필요한 시간 동안 가비지 컬렉션을 제어하여 실시간 성능을 보장하며, 안드로이드에 실시간 성능 보장을 위한 RTiK을 적용하였다. 성능 평가를 위해 5ms 주기 태스크의 호출 주기를 측정하였으며, 제어 이전에는 태스크의 34.31%만 주기가 보장되었으나, 제어를 통해 98.18%의 태스크 주기가 만족되어 안드로이드에 실시간성을 제공하였다.