A Fast Booting Technique using Improved Snapshot Boot in Embedded Linux

개선된 스냅샷 부트를 이용한 임베디드 리눅스의 빠른 부팅 기법

  • 박세진 (포항공과대학교 컴퓨터공학과) ;
  • 송재환 (포항공과대학교 정보통신학과) ;
  • 박찬익 (포항공과대학교 컴퓨터공학과)
  • Published : 2008.08.15

Abstract

In this paper we propose a fast booting technique based on Improved snapshot boot in embedded Linux, widely adopted in personal devices such as PDA and mobile phones. The existing Snapshot boot technique tries to create a snapshot image at the time of suspend, and later load the entire snapshot image into the system memory at the predefined location with the help of a bootloader at the time of resume. Since a bootloader has to copy the entire snapshot image into the predefined memory to resume the previous suspended computing state, a little bit long time is required to resume. Improved snapshot boot does not create a snapshot image consisting of whole memory pages at the time of suspend, thus resulting in smaller snapshot image than the existing snapshot boot. The remaining pages are in the swap area. The resulting smaller sized snapshot image enables much faster booting latency. Through the experiment, we can see the booting latency is reduced almost 30% with suspend image of 2982 pages. This result depends on the amount of swap-out pages.

본 논문에서는 임베디드 리눅스를 운영체제로 사용하는 개인용 휴대 임베디드 기기에서 부팅 시간을 단축시키기 위해 기존의 snapshot boot을 개선한 기법을 소개한다. Snapshot boot는 현재 수행중인 컴퓨팅 작업들에 대한 suspend/resume 작업을 기반으로 부팅 시간을 단축하고자 하는 기법인데, resume수행 시 bootloader가 기본적인 device 초기화 작업을 수행하고 직접 snapshot image를 원래 주소로 복사시켜 시스템을 복원함으로써 부팅 시간을 단축시켰다. Snapshot boot 기법의 문제점으로는 resume 동작을 수행할 때 snapshot image를 원래 주소로 복사하는데 많은 시간이 소요된다. Improved snapshot boot 기법은 suspend 작업 수행 시 모든 페이지를 대상으로 snapshot image를 만들지 않고 일부 페이지를 대상으로 snapshot image를 만들고 나머지 페이지들은 별도의 Swap area에 따로 저장함으로써 부팅 시 전체 페이지를 복사하지 않고 snapshot image로 만들어져 있는 일부의 페이지만을 복사하게 되어 전체 부팅 시간을 단축한다. 실험을 통해 suspend image가 2982 페이지일 때 약 30%의 부팅시간이 단축됨을 보였다. 이는 swap-out 시킨 페이지의 양에 비례하여 단축된다.

Keywords

References

  1. CE Linux Forum (CELF) Kernel XIP http://tree.celinuxforum.org/CelfPubWiki/KernelXIP
  2. 박우람, 나윤주, 박찬익, "지연된 장치탐색을 이용한 부팅시간 향상 기법", 정보과학회 2006 추계학술대회
  3. Hiroki Kaminaga, "Imporving Linux Startup Time Using Software Resume," 2006 Linux Symposium
  4. Bovet and Cesati, "Understanding Linux Kernel 3rd Edition," O'REILLY