KR20130068630A - 임베디드 디바이스의 초기화 방법 및 장치 - Google Patents

임베디드 디바이스의 초기화 방법 및 장치 Download PDF

Info

Publication number
KR20130068630A
KR20130068630A KR20110135925A KR20110135925A KR20130068630A KR 20130068630 A KR20130068630 A KR 20130068630A KR 20110135925 A KR20110135925 A KR 20110135925A KR 20110135925 A KR20110135925 A KR 20110135925A KR 20130068630 A KR20130068630 A KR 20130068630A
Authority
KR
South Korea
Prior art keywords
initialization
module
state
function
program
Prior art date
Application number
KR20110135925A
Other languages
English (en)
Inventor
박호준
임채덕
강동욱
천한성
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR20110135925A priority Critical patent/KR20130068630A/ko
Priority to US13/545,308 priority patent/US20130159689A1/en
Publication of KR20130068630A publication Critical patent/KR20130068630A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/1097Boot, Start, Initialise, Power

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 임베디드 디바이스(embedded device)에 탑재되는 운영체제에 적용되는 방법 및 장치에 관한 것으로, 부트로더가 실행되어 커널이 로드되면, 초기화 프로그램을 실행하고, 부트 프로세스의 동작 순서에 대한 정보를 포함하는 부팅 시퀀스를 로드한 후, 상기 임베디드 디바이스의 스크립트 대체 기능 모듈에 포함된 초기화 기능들을 수행하여 임베디드 디바이스를 이용 가능 상태로 설정함으로써, 모바일(mobile) 디바이스 및 고성능 임베디드 디바이스에서 필연적으로 대두되는 운영체제 초기화의 복잡성을 해결하기 위해 사용되는 초기화 프로그램과, 상이한 특성을 가지는 다양한 디바이스 상에서 유연하게 초기화 프로그램을 구동시키기 위해 작동되는 초기화 스크립트의 동작을 효율적으로 수행하는 임베디드 디바이스의 초기화 방법 및 장치에 관한 발명이다.

Description

임베디드 디바이스의 초기화 방법 및 장치{METHOD FOR INITIALIZING EMBEDDED DEVICE AND APPARATUS THEREOF}
본 발명은 임베디드 디바이스(embedded device)에 탑재되는 운영체제에 적용되는 방법 및 장치에 관한 것으로, 상세하게는 모바일(mobile) 디바이스 및 고성능 임베디드 디바이스에서 필연적으로 대두되는 운영체제 초기화의 복잡성을 해결하기 위해 사용되는 초기화 프로그램과, 상이한 특성을 가지는 다양한 디바이스 상에서 유연하게 초기화 프로그램을 구동시키기 위해 작동되는 초기화 스크립트의 동작을 효율적으로 수행하는 임베디드 디바이스의 초기화 방법 및 장치에 관한 발명이다.
임베디드 디바이스(embedded device)는, 범용 컴퓨터와 달리 용도 및 사용처가 제한된 컴퓨터 시스템으로 정의될 수 있다. 다만 임베디드 디바이스 역시 하나의 컴퓨터에 해당하므로, 컴퓨터의 활용을 위한 운영체제의 실행은 필수적인 요소에 해당한다.
또한, 임베디드 디바이스에 탑재되는 운영체제는, 스마트폰(smartphone)과 같은 개인용 컴퓨터에 상응하는 정도의 고성능 임베디드 디바이스를 지원하기 위하여, 개인용 컴퓨터에 탑재되는 운영체제만큼 높은 성능 및 활용성을 요구하고 있다. 또한, 개인용 컴퓨터와 동일한 운영체제를 탑재하는 임베디드 디바이스도 등장하고 있다.
또한, 임베디드 디바이스나 개인용 컴퓨터의 운영체제가 동작되려면 초기화 과정이 필수적으로 수행되어야 하고, 고성능 디바이스일수록 그 과정 및 체계가 복잡하게 구성된다.
이러한 초기화 과정을 부팅(booting) 과정이라고 하며, 일반적인 임베디드 디바이스에서는, 장치의 유연성을 높이기 위하여, 초기화 프로그램 및 초기화 스크립트를 사용한다. 즉, 임베디드 디바이스 개발자는 적은 노력으로 초기화 스크립트를 수정하여 같은 운영체제를 다른 제품에 적용할 수도 있고, 필요에 따라 같은 제품에 다른 초기화 스크립트를 사용하여 용도를 변경할 수 있다. 이는 스크립트가 응용 프로그램처럼 별도의 호스트 컴퓨터에서 크로스 컴파일되어 만들어진 이진 프로그램이 아니고 텍스트 형식으로 개발자 및 사용자가 임베디드 디바이스에 탑재된 초기화 스크립트를 직접 읽고 수정하는 것이 가능하기 때문이다.
다만, 이런 유연성 이면에는 부팅 성능을 저해하는 요소가 존재한다. 일반적으로, 임베디드 디바이스의 부팅과정에서는 제품이 출시된 이후 사용자에게는 제품을 사용하는데 준비하는 시간으로 오히려 방해가 된다. 따라서 상품 가치를 높이기 위해서는 부팅 시간은 최소화하여 제품을 출시하는 것이 부가가치를 높이는 일이 된다.
즉, 초기화 프로그램 및 초기화 스크립트는 개발자에게는 유연성을 제공하고 쉽게 기술 및 설정을 반영할 수 있는 강력한 도구가 되지만, 제품을 구입한 사용자는 이러한 유연성이 필요 없으므로 상품 가치를 높이는데 방해 요소가 된다.
또한, 초기화 프로그램 및 초기화 스크립트가 부팅 성능을 저해하는 이유는 전체 부팅 시간 중 상당히 많은 부분을 점유하고 있기 때문이다. 그 이유들을 나열하면 아래와 같다.
첫째, 인터프리터(interpreter) 방식의 처리이다. 스크립트의 코드가 개발자가 직접 읽을 수 있어야 하기 때문에 이를 실행하기 위해선 해석기가 필요하다. 또한, 텍스트 기반의 코드들은 상당히 복잡한 형식의 문장 분석을 통해 실행되므로, 부팅 성능을 높이는데 방해 요소가 된다.
둘째, 스크립트를 처리하기 위한 별도의 프로그램 코드가 필요하다. 임베디드 디바이스는 개인용 컴퓨터와는 달리 하드웨어 구성이 제품 단가와 밀접한 관계가 있다. 스크립트를 처리하기 위해서는 이를 위한 기억장치와 파일들이 필요하므로 이것들을 실행하는데도 시간이 걸리지만 제품 단가를 낮추지 못해 상품가치가 떨어지는 문제점이 존재한다.
셋째, 파일 시스템을 과다하게 사용한다. 초기화 프로그램이 사용하는 초기화 스크립트는 최소 1개 이상 파일 시스템 안에 내장되어 있다. 기억 장치의 성능에 비해 파일 시스템의 성능은 작게는 수십에서 크게는 수백배 이상 느리게 동작하므로 초기화 프로그램은 초기화 스크립트를 수행하기 위해 여러 번 파일 시스템에 접근해야 하고, 일반적인 임베디드 디바이스는 대략 십수개의 스크립트로 부팅 과정을 구성한다.
넷째, 프로세스 제어 블록(Process Control Block) 복사 문제이다. 상기 프로세스는 커널이 작업을 수행하기 위한 하나의 작업의 단위이다. 이를 제어하기 위해서 커널은 매 프로세스마다 프로세스 제어 블록을 구성하고 관리한다. 커널 내에서 수행되는 과정으로 운영체제에서 새로운 프로그램을 생성하려면 커널 내에서 사용되는 프로세스 컨트롤 블록을 복사해야 한다. 스크립트가 복잡할수록 부팅 과정에서 이러한 일이 빈번하게 일어나며, 일반적인 임베디드 운영체제는 부팅이 완료될 때까지 약 700여회 정도의 복사가 발생한다.
다섯째, 심볼릭 링크(Symbolic Link) 추적 문제이다. 이는 일부 임베디드 운영체제에서 문제가 된다. 초기화 프로그램의 효율성을 높이기 위해 초기화 스크립트가 사용하는 여러 기능들을 하나의 프로그램에 저장하고 이를 각각의 기능들에 대한 링크로 표현하여 실행하는 방식이 이용된다. 다만, 이러한 링크도 파일 시스템 안에 존재하며 초기화 프로그램은 이를 읽는데 상기 두번째 문제점과 같이 여러분 파일 시스템에 접근해야 한다.
여섯째, 기억장치 점유 문제이다. 다섯째 방법처럼 초기화 스크립트가 사용하는 여러 기능들을 하나의 프로그램에 저장함에 있어서 발생하는 문제로, 하나의 운영체제에서 사용하는 기능들만 사용하면 문제가 없으나, 여러 기능들을 한군데에 넣다 보니 필요 없는 기능도 포함이 되게 된다. 물론 하나의 프로그램으로 여러 임베디드 디바이스에서 사용할 수 있는 장점을 살리다 보니 발생된 문제이다. 이와 같은 덩치 큰 프로그램은 기억장치에 내장되어야 하므로 이를 탑재하기 위해 더 큰 기억 장치를 넣어야 하고 이는 제품 단가 및 상품 가치를 떨어뜨린다.
마지막으로 보안 문제이다. 상기 다섯번째와 상기 여섯번째의 기능 통합형 프로그램은 개발자에게 많은 유용성을 제공하지만 제품 출시가 되었을 경우 사용자도 이런 기능을 쓸 수 있는 가능성을 지니고 있다. 따라서, 제품 가치를 떨어뜨리고 나아가서 보안성에 문제가 생겨 큰 사회 이슈가 될 수도 있다.
즉, 상기와 같이 초기화 프로그램 및 초기화 스크립트가 임베디드 디바이스에서 일으킬 수 있는 많은 문제점들이 존재한다.
이에 따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 임베디드 디바이스의 초기화 프로그램과 초기화 스크립트를 하나의 프로그램으로 구성함으로써, 기억공간을 절약하고, 복사 문제를 해결하며, 부팅 성능을 개선하도록 할 수 있는 임베디드 디바이스의 초기화 방법 및 장치를 제공함에 목적이 있다.
본 발명의 목적을 달성하기 위한, 본 발명의 실시 예에 따른 임베디드 디바이스의 초기화 방법은, 부트로더가 실행되어 커널이 로드되면, 초기화 프로그램을 실행하는 단계, 부트 프로세스의 동작 순서에 대한 정보를 포함하는 부팅 시퀀스를 로드하는 단계, 상기 로드된 부팅 시퀀스에 기초하여, 상기 임베디드 디바이스의 스크립트 대체 기능 모듈에 포함된, 파일시스템 초기화 기능, 커널 모듈 초기화 기능, 네트워크 초기화 기능, 응용 프로그램 초기화 기능, 및 환경 변수 초기화 기능 중 어느 하나를 실행하는 단계, 및 상기 임베디드 디바이스가 이용 가능 상태로 설정되는 단계를 포함한다.
또한, 본 발명의 다른 실시 예에 따른 임베디드 디바이스의 초기화 장치는, 파일시스템 초기화 기능 실행 모듈, 커널 모듈 초기화 기능 실행 모듈, 네트워크 초기화 기능 실행 모듈, 응용 프로그램 초기화 기능 실행 모듈, 및 환경 변수 초기화 기능 실행 모듈 중 적어도 하나의 실행 모듈을 초기화 스크립트 대체 기능으로 포함하는 초기화 모듈, 부트 프로세스의 동작 순서에 대한 정보를 포함하는 부팅 시퀀스를 로드하고, 상기 로드된 부팅 스퀀스에 기초하여 상기 초기화 모듈이 초기화 스크립트 대체 기능을 수행을 수행하도록 제어하는 부팅 시퀀스 제어 모듈, 및 부트로더가 실행되어 커널이 로드되면, 상기 부팅 시퀀스 제어 모듈을 통하여 상기 초기화 모듈의 기능을 실행하고, 임베디드 시스템을 이용 가능 상태로 설정하는 초기화 프로그램 모듈을 포함한다.
본 발명에 따른 임베디드 디바이스의 초기화 방법 및 장치를 이용하면, 임베디드 디바이스의 탑재된 운영체제의 초기화 과정을 신속히 수행할 수 있고, 상품가치를 높일 수 있으며, 제품 생산비용을 줄일 수 있다. 또한 초기화 스크립트를 사용하지 않으므로 보안 성을 높일 수 있다.
또한, 개발 과정에서 부팅 과정 처리에 대한 과정이 기존보다 단순화될 수 있으므로, 인건비 및 기회비용의 절감을 도모할 수 있다.
도 1은 임베디드 디바이스의 초기화 과정을 도시한 순서도이다.
도 2는 본 발명의 실시 예에 따른 임베디드 디바이스의 초기화 방법을 도시한 순서도이다.
도 3은 도 2의 초기화 스크립트의 대체기능을 수행하는 단계를 상세히 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 임베디스 시스템의 초기화 장치의 구성을 도시한 도면이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 여러 가지 실시 예들을 보다 상세히 설명하도록 하겠다. 나아가, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "부", “모듈” 및 "장치"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "부", “모듈” 및 "장치"는 서로 혼용되어 사용될 수 있으며, 하드웨어 또는 소프트웨어로 설계 가능하다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.
도 1은 임베디드 디바이스의 초기화 과정을 도시한 순서도이다.
임베디드 디바이스의 초기화 과정을 부팅(Booting) 과정이라고 하며, 일반적인 임베디드 디바이스에서는, 도 1에 도시된 바와 같이, 전원인가(S101)가 되면 부트로더(Boot Loader) 단계(S102), 커널(Kernel) 단계(S103), 초기화 스크립트(Initial Script) 단계(S104), 응용 프로그램(Application Program) 초기화(S105)의 단계로 부팅과정이 수행될 수 있다.
각각의 기능을 살펴 보면, 먼저 부트로더 단계(S102)는, 임베디드 디바이스에 전원인가 후 가장 처음 실행되는 프로그램으로, 단순한 코드로 구성되어 있으며 이후에 초기화될 커널을 기억장치로 읽어내는 역할을 수행할 수 있다. 또한, 커널 단계(S103)은, 운영체제의 핵심적인 부분으로, 기억장치에서 상주하며 이후 운영체제의 역할을 시스템이 유지될 때까지 지속적으로 수행된다. 커널은, 주로 스케줄링, 기억장치 관리, 파일 관리 등에 필요한 동작을 수행할 수 있다.
또한, 대부분의 임베디드 디바이스는 이전인 부트로더, 커널의 초기화 과정은 같지만 초기화 스크립트 단계(S104)는 임베디드 디바이스의 용도 및 사용 여부에 따라 다르게 된다. 초기화 스크립트 단계(S104)에서는, 파일 시스템 마운트, 커널 모듈 업로드, 환경 변수 설정 및 이후의 응용프로그램 로드에 필요한 동작이 수행될 수 있다. 상기 응용프로그램 로드에 필요한 동작은, 응용프로그램의 실행이 가능하도록 파일에서 기억장치로 응용 프로그램을 읽어 들이는 것을 포함할 수 있다.
다음으로, 응용 프로그램 초기화(S105)는, 해당 임베디드 디바이스의 실제 용도로서 사용자가 사용 가능한 프로그램을 말하며, 이 과정이 종료되면 부팅 과정이 완료되어 정상적으로 임베디드 디바이스를 사용할 수 있게 된다.
본 발명에서는, 상기 초기화 스크립트 단계 및 상기 응용 프로그램 초기화 단계를 수행하는 주체를 초기화 프로그램 모듈로 정의하며, 초기화 프로그램이 응용 프로그램을 초기화하는데 필요한 파일 시스템 마운트, 커널 모듈 업로드, 환경 변수 설정, 응용 프로그램 로드를 진행하는 방법을 초기화 스크립트라고 정의한다.
도 2는 본 발명의 실시 예에 따른 임베디드 디바이스의 초기화 방법을 도시한 순서도이다.
먼저, 프로그램 초기화를 실행한다(S201).
실시 예에 따라, 초기화 프로그램 모듈이 커널로부터 제어권을 인계받아 시작되며, 프로그램 초기화로 이어진다. 또한, 프로그램 초기화는 프로세스 초기화 모듈을 이용해 진행되며, 콘솔 출력 초기화 및 기타 프로그램 초기화가 수행될 수 있다.
다음으로, 부팅 시퀀스를 로드한다(S202).
즉, 초기화 프로그램은 부팅 과정 제어기능을 이용하여 배열로 구성된 부트 절차를 로드(load)한다.
다음으로, 초기화 스크립트 대체 기능을 수행한다(S203).
실시 예에 따라, 상기 로드된 부팅 시퀀스에 기초하여, 상기 임베디드 디바이스의 스크립트 대체 기능 모듈에 포함된, 파일시스템 초기화 기능, 커널 모듈 초기화 기능, 네트워크 초기화 기능, 응용 프로그램 초기화 기능, 및 환경 변수 초기화 기능 중 어느 하나를 실행함으로써, 상기 임베디드 디바이스가 이용 가능 상태로 설정되도록 할 수 있다.
다음으로, 초기화 프로그램은 상태제어기를 구동시키고(S204), 상기 상태제어기는 시스템 상태가 변경되었는지를 확인한다(S205). 또한, 변화가 없을 시는 일정 시간 대기 한 후(S206) 다시 상태를 확인하고, 상태가 변경되면 초기화 프로그램을 종료한다. 초기화 프로그램은 모든 응용 프로그램 위에 실행되어야 하므로 초기화 프로그램이 종료되면 시스템은 더 이상 사용할 수 없는 상태가 된다.
즉, 도 2에 도시된 바와 같이 초기화 프로그램 및 초기화 스크립트를 하나의 프로그램으로 묶어 기존의 초기화 프로그램을 대체함으로써, 초기화 스크립트가 따로 없으므로 파일 시스템 접근을 최소화할 수 있게 된다.
또한, 초기화 스크립트가 사용자에게 공개되지 않으므로 보안을 강화할 수 있으며, 기억 장치의 공간을 적게 차지하고, 제품 단가를 낮출 수 있다.
또한, 커널이 초기화 스크립트를 위해 별도의 프로세스를 만들 필요가 없으므로 초기화가 빠르며, 이는 부팅 성능이 개선될 수 있고, 파일 시스템의 대부분의 내용은 응용 프로그램을 제외하면 부팅 과정을 위한 것이므로 이들을 생략하여 프로세스의 복잡도를 낮추고 제품 생산에 필요한 인건비 및 기술료와 같은 기회 비용 감소를 통하여 상품 가치를 높일 수 있다.
도 3은 도 2의 초기화 스크립트의 대체기능을 수행하는 단계를 상세히 도시한 도면이다.
실시 예에 따라, 초기화 스크립트 대체 기능을 수행함에 있어서, 부팅 시퀀스 정보에 기초하여, 임베디드 디바이스의 스크립트 대체 기능 모듈에 포함된, 파일시스템 초기화 기능(S301), 커널 모듈 초기화 기능(S302), 네트워크 초기화 기능(S303), 응용 프로그램 초기화 기능(S304), 및 환경 변수 초기화 기능(S305)을 실행할 수 있다.
또한, 도 3에 도시된 기능 실행의 순서는 일 실시 예에 불과하며, 임베디드 디바이스의 목적과 기능에 따라 순서가 변경될 수 있다.
도 4는 본 발명의 실시 예에 따른 임베디스 시스템의 초기화 장치의 구성을 도시한 도면이다.
실시 예에 따라, 초기화 장치(400)는, 초기화 프로그램 모듈(401)과 초기화 스크립트 대체 기능 모듈(402)을 포함할 수 있다.
초기화 프로그램 모듈은, 내부 기능으로서 프로세스 초기화 및 종료 지원 모듈(Process Cleanup Module, 403)과 시스템 상태 제어기(State Controller, 404)를 포함할 수 있다. 시스템 상태 제어기는 내부 상태로 기본 상태(Normal State), 전원 차단 상태(Power Off State), 재시작 상태(Reboot State)로 구분되는 상태에 대한 제어가 가능하다.
또한, 초기화 프로그램 모듈은, 커널로부터 제어권을 인계받은 직후 초기화 스크립트 대체 기능 모듈을 이용하여 초기화 모듈(Startup Module, 406)을 구동시켜 부팅 과정을 진행한다.
초기화 스크립트 대체 기능 모듈은 서비스 매니저 모듈(405) 및 초기화 모듈(406)을 포함할 수 있고, 서비스 매니저 모듈(405)는, 기능에 따라 단독형(Standalone Type), 지속형(Super Daemon Style), 재발생형(Respawn Style)으로 세분하여 부팅 과정을 진행할 수 있다.
또한, 초기화 모듈(406)은 세부 구성으로 커널 모듈 초기화 기능(Kernel Module Initialization, 407), 파일 시스템 초기화 기능(File System Initialization, 409), 네트워크 초기화 기능(Network Configuration, 411), 응용 프로그램 초기화 기능(Application Startup, 408), 환경 변수 초기화 기능(Environment Variable Setup, 412), 마지막으로 부팅 시퀀스 제어 기능(Sequence Control, 410)을 포함할 수 있다.
부팅 시퀀스 제어기능(410)는 기존의 초기화 스크립트의 본체에 해당하는 기능으로 초기화 프로그램은 해당 모듈을 통하여 나머지 5개(407, 408, 409, 411, 412)의 기능을 이용하여 부팅 과정을 진행할 수 있다.
또한, 모든 부트 절차가 완료되면 초기화 프로그램은 상태제어기(404)를 구동시킬 수 있고, 상기 상태제어기는 시스템 상태가 변경되었는지를 확인하여, 변화가 없을 시는 일정 시간 대기한 후, 다시 상태를 확인하고, 상태가 변경되면 초기화 프로그램을 종료한다. 초기화 프로그램은 모든 응용 프로그램 위에 실행되어야 하므로 초기화 프로그램이 종료되면 시스템은 더 이상 사용할 수 없는 상태가 된다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
400: 임베디드 시스템 초기화 장치
401: 초기화 프로그램 모듈
402: 스크립트 대체 기능 모듈
403: 프로세스 클린업 모듈
404: 상태 제어기
405: 서비스 매니저 모듈
406: 초기화 모듈
407: 커널 모듈 초기화 기능
408: 응용 프로그램 초기화 기능
409: 파일 시스템 초기화 기능
410: 시퀀스 제어 기능
411: 네트워크 구성 기능
412: 환경변수 초기화 기능

Claims (10)

  1. 임베디드 디바이스의 초기화 방법에 있어서,
    부트로더가 실행되어 커널이 로드되면, 초기화 프로그램을 실행하는 단계;
    부트 프로세스의 동작 순서에 대한 정보를 포함하는 부팅 시퀀스를 로드하는 단계;
    상기 로드된 부팅 시퀀스에 기초하여, 상기 임베디드 디바이스의 스크립트 대체 기능 모듈에 포함된, 파일시스템 초기화 기능, 커널 모듈 초기화 기능, 네트워크 초기화 기능, 응용 프로그램 초기화 기능, 및 환경 변수 초기화 기능 중 어느 하나를 실행하는 단계; 및
    상기 임베디드 디바이스가 이용 가능 상태로 설정되는 단계
    를 포함하는 것을 특징으로 하는 초기화 방법.
  2. 청구항 1에 있어서,
    상기 임베디드 디바이스가 이용 가능 상태로 설정되는 단계는,
    상기 초기화 프로그램의 파일 시스템에 대한 액세스 동작 없이 상기 임베디드 디바이스가 이용 가능 상태로 설정되는 것을 특징으로 하는 초기화 방법.
  3. 청구항 1에 있어서,
    상태 제어기를 구동 시키는 단계; 및
    상기 구동된 상태 제어기를 통하여 상기 임베디드 시스템의 시스템 상태 변경을 감지하고, 시스템 상태 변경이 감지되는 경우, 초기화 프로그램을 종료시키는 단계
    를 더 포함하는 것을 특징으로 하는 초기화 방법.
  4. 청구항 3에 있어서,
    상기 상태 제어기는, 기본 상태, 전원 차단 상태, 및 재시작 상태 중 어느 하나의 상태의 상태변화를 감지하는 것을 특징으로 하는 초기화 방법.
  5. 청구항 3에 있어서,
    상기 초기화 프로그램을 종료시키는 단계는,
    시스템 상태 변경이 감지되지 않는 경우, 소정 시간 대기 후, 다시 상기 임베디드 시스템의 시스템 상태 변경을 감지하는 단계
    를 포함하는 것을 특징으로 하는 초기화 방법.
  6. 파일시스템 초기화 기능 실행 모듈, 커널 모듈 초기화 기능 실행 모듈, 네트워크 초기화 기능 실행 모듈, 응용 프로그램 초기화 기능 실행 모듈, 및 환경 변수 초기화 기능 실행 모듈 중 적어도 하나의 실행 모듈을 초기화 스크립트 대체 기능으로 포함하는 초기화 모듈;
    부트 프로세스의 동작 순서에 대한 정보를 포함하는 부팅 시퀀스를 로드하고, 상기 로드된 부팅 스퀀스에 기초하여 상기 초기화 모듈이 초기화 스크립트 대체 기능을 수행을 수행하도록 제어하는 부팅 시퀀스 제어 모듈; 및
    부트로더가 실행되어 커널이 로드되면, 상기 부팅 시퀀스 제어 모듈을 통하여 상기 초기화 모듈의 기능을 실행하고, 임베디드 시스템을 이용 가능 상태로 설정하는 초기화 프로그램 모듈
    을 포함하는 것을 특징으로 하는 임베디드 시스템의 초기화 장치.
  7. 청구항 6에 있어서,
    상기 초기화 프로그램 모듈은,
    초기화 프로그램의 실행 이후, 파일 시스템에 액세스 없이 임베디드 시스템을 이용 가능 상태로 설정하는 것을 특징으로 하는 임베디드 시스템의 초기화 장치.
  8. 청구항 6에 있어서,
    상기 임베디드 시스템의 초기화 장치는,
    상기 구동된 상태 제어기를 통하여 상기 임베디드 시스템의 시스템 상태 변변경을 감지하고, 시스템 상태 변경이 감지되는 경우, 초기화 프로그램을 종료시키는 상태제어기를 더 포함하는 것을 특징으로 하는 임베디드 시스템의 초기화 장치.
  9. 청구항 8에 있어서,
    상기 상태제어기는,
    상기 임베디드 시스템의 기본 상태, 전원 차단 상태, 및 재시작 상태 중 어느 하나의 상태가 변경되는 경우에 상태 변경을 감지하는 것을 특징으로 하는 임베디드 시스템의 초기화 방법.
  10. 청구항 8에 있어서,
    상기 상태제어기는,
    시스템 상태 변경이 감지되지 않는 경우, 소정 시간 대기 후, 다시 상기 임베디드 시스템의 시스템 상태 변경을 감지하는 것을 특징으로 하는 임베디드 시스템의 초기화 장치.

KR20110135925A 2011-12-15 2011-12-15 임베디드 디바이스의 초기화 방법 및 장치 KR20130068630A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20110135925A KR20130068630A (ko) 2011-12-15 2011-12-15 임베디드 디바이스의 초기화 방법 및 장치
US13/545,308 US20130159689A1 (en) 2011-12-15 2012-07-10 Method and apparatus for initializing embedded device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20110135925A KR20130068630A (ko) 2011-12-15 2011-12-15 임베디드 디바이스의 초기화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130068630A true KR20130068630A (ko) 2013-06-26

Family

ID=48611454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20110135925A KR20130068630A (ko) 2011-12-15 2011-12-15 임베디드 디바이스의 초기화 방법 및 장치

Country Status (2)

Country Link
US (1) US20130159689A1 (ko)
KR (1) KR20130068630A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101504431B1 (ko) * 2013-10-10 2015-03-19 주식회사 엘지씨엔에스 금융기기 및 그 환경설정방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304209B (zh) * 2018-02-28 2021-01-15 联想(北京)有限公司 固件升级方法及固件升级***
CN110286953B (zh) * 2019-07-03 2023-12-19 迈普通信技术股份有限公司 嵌入式***的启动方法、装置、嵌入式设备及存储介质
CN110688136B (zh) * 2019-09-25 2023-12-22 北京经纬恒润科技股份有限公司 一种应用程序更新方法及装置
CN112256347B (zh) * 2020-10-22 2024-06-14 超越科技股份有限公司 一种减少嵌入式Linux***启动时间的方法
CN116755865B (zh) * 2023-08-15 2023-11-10 北京理工大学 一种基于汽车嵌入式平台的混合关键***部署方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736374A (en) * 1986-05-14 1988-04-05 Grumman Aerospace Corporation Automated test apparatus for use with multiple equipment
US6760907B2 (en) * 1998-06-30 2004-07-06 Sun Microsystems, Inc. Code generation for a bytecode compiler
US6687897B2 (en) * 2000-12-01 2004-02-03 Microsoft Corporation XML based script automation
US7584283B2 (en) * 2001-03-28 2009-09-01 Siebel Systems, Inc. Method and apparatus to save and resume a session associated with a logical structure
US7590979B2 (en) * 2002-01-15 2009-09-15 Sharp Laboratories Of America, Inc. Systems and methods for reducing memory usage in an embedded system by loading individual software components
US20060282658A1 (en) * 2005-06-08 2006-12-14 Mediatek Incorporation Boot systems and methods and related devices
TWI264673B (en) * 2005-06-27 2006-10-21 Lite On Technology Corp Methods and computers for presenting graphical user interface during a boot operation
US20070180509A1 (en) * 2005-12-07 2007-08-02 Swartz Alon R Practical platform for high risk applications
US7895427B2 (en) * 2006-09-26 2011-02-22 Freescale Semiconductor, Inc. Method and system of executing a software application in highly constrained memory situation
US8082431B2 (en) * 2006-09-29 2011-12-20 Intel Corporation System and method for increasing platform boot efficiency
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches
US8082435B2 (en) * 2008-05-07 2011-12-20 Micron Technology, Inc. Memory device initiate and terminate boot commands
EP2310941A1 (fr) * 2008-06-02 2011-04-20 Awox Procede et dispositif de mise a jour d'application informatique
US8767957B1 (en) * 2008-10-29 2014-07-01 Purdue Research Foundation Communication encryption method and device
US8522218B2 (en) * 2010-03-12 2013-08-27 Microsoft Corporation Cross-module inlining candidate identification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101504431B1 (ko) * 2013-10-10 2015-03-19 주식회사 엘지씨엔에스 금융기기 및 그 환경설정방법

Also Published As

Publication number Publication date
US20130159689A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
CN106445576B (zh) 主机板及其计算机实现方法及非暂态计算机可读储存装置
EP3491519B1 (en) Optimized uefi reboot process
RU2568280C2 (ru) Быстрый запуск компьютера
CN106293880B (zh) 在Windows***上运行Android应用程序的方法及装置
KR102269452B1 (ko) 컨텐츠 변환 없는 컴퓨팅 디바이스에서의 다중 운영 체제 환경들의 지원
KR102136906B1 (ko) Bpram을 이용한 운영체제의 레이아웃 및 실행
US20150081829A1 (en) Out-of-band replicating bios setting data across computers
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
KR101673299B1 (ko) 운영 시스템 복구 방법 및 장치, 그리고 단말기기
CN102165418A (zh) 涡轮引导***和方法
KR20060047766A (ko) 가상 기계 환경에서 에뮬레이트된 장치들을 개발하기 위한시스템 및 방법
JP2015526827A (ja) Bpramを使用したソフトウェア・アプリケーションのレイアウトおよび実行
KR20130068630A (ko) 임베디드 디바이스의 초기화 방법 및 장치
CN102369510A (zh) 使用存储器分段和基于acpi的上下文切换加载操作***
US8335891B2 (en) Method and system for configuring a storage array
CN102135893A (zh) 将操作***集成到bios芯片及启动服务器上操作***的方法
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和***
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
CN113326105B (zh) 基于主机迁移的硬件设备配置方法、装置及设备
KR20060131296A (ko) 다중 운영체제 지원이 가능한 컴퓨터 시스템 및 그러한시스템에서의 다중 운영체제 지원 방법
US20070214345A1 (en) System and method for porting an operating system
CN113342365A (zh) 操作***部署方法、装置、设备及计算机可读存储介质
US11340882B2 (en) Systems and methods for enforcing update policies while applying updates from bootable image file
US20140136777A1 (en) Method and system for configuring a storage array
KR20100041518A (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid