KR20020078229A - 임베디드 시스템의 메모리 제어방법 - Google Patents

임베디드 시스템의 메모리 제어방법 Download PDF

Info

Publication number
KR20020078229A
KR20020078229A KR1020010018278A KR20010018278A KR20020078229A KR 20020078229 A KR20020078229 A KR 20020078229A KR 1020010018278 A KR1020010018278 A KR 1020010018278A KR 20010018278 A KR20010018278 A KR 20010018278A KR 20020078229 A KR20020078229 A KR 20020078229A
Authority
KR
South Korea
Prior art keywords
memory
ram
rom
boot
loading
Prior art date
Application number
KR1020010018278A
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 KR1020010018278A priority Critical patent/KR20020078229A/ko
Publication of KR20020078229A publication Critical patent/KR20020078229A/ko

Links

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

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

Abstract

본 발명은 임베디드 시스템의 메모리 제어방법에 관한 것으로, 종래의 임베디드 시스템에 있어서는 그 특성상 시스템의 크기에 제한이 따르기 때문에, 충분한 저장용량을 갖는 저장장치의 구비가 어려워 다양한 응용 프로그램을 적재할 수 없고, 또한 사용자 임의로 부팅 과정을 선택할 수 없는 문제점이 있었다. 따라서, 본 발명은 부트-롬으로 사용되는 롬-메모리 하나에 시스템 운용 프로그램(OS) 및 응용 프로그램 등을 압축하여 저장함으로써, 하드디스크와 같은 대용량 저장장치를 사용하지 않게되어 파워소모가 적어 오랜시간 시스템의 동작이 가능하고, 또한 상기와 같이 파일 시스템을 압축하여 저장함으로써, 적은 용량의 메모리를 사용해서도 많은 데이터를 저장할 수 있으므로 경제적인 효과가 있도록 하고, 사용자에게 부팅 과정에 선택권을 주어 필요한 응용 프로그램들만 선택적으로 로딩할 수 있도록 함으로써, 메모리 공간에 여유가 많아져서 응용 프로그램 수행 속도를 향상시키는 효과가 있다.

Description

임베디드 시스템의 메모리 제어방법{MEMORY CONTROLLING METHOD FOR EMBEDDED SYSTEM}
본 발명은 임베디드 시스템에 관한 것으로, 특히 임베디드 시스템의 적은 메모리 용량으로 각종 파일 시스템 및 응용 프로그램을 효과적으로 관리할 수 있도록 하고, 부팅 과정을 사용자 임의로 선택할 수 있도록 하여 사용자의 편의성을 증진시키도록 한 임베디드 시스템의 메모리 제어방법에 관한 것이다.
일반적으로, 임베디드(Embedded) 시스템이란 저장수단(1∼4) 및 제어수단(6), 통신수단(5) 등을 하나의 보드 또는 칩 등에 내장하여 구현한 것으로, 특히 상기 저장수단에는 도1에 도시된 바와 같이, 모니터 프로그램 및 플레시 라이트(Write) 프로그램(플레시 메모리에 데이터를 라이트하기 위한 프로그램) 등 시스템 부팅을 위한 기본적인 프로그램 코드를 내장하는 부트(Boot)-롬(1)과; 시스템 운용 프로그램(OS : Operating System)을 내장하기 위한 오에스(OS)-롬(2)과; 기타 해당 임베디드 시스템의 고유한 응용(Application) 프로그램을 내장하기 위한 프로그램-롬(3) 등 각 파일 시스템에 대한 전용 롬-메모리를 구비하고 있다.
이때, 상기 롬은 일반적으로 수시 저장이 가능하고 전원 공급이 없더라도 데이터가 지워지지 않도록 하기 위해 플레시-메모리를 사용한다.
또한, 데스크탑이나 노트북과 같은 컴퓨터 시스템(PC)의 저장매체에는 일반적으로 시스템 부팅을 위한 기본적인 프로그램 코드를 내장하는 롬-메모리(10)와; 시스템 운영에 필요한 각종 데이터 및 응용 프로그램을 로드하여 실행시키기 위한램-메모리(20)와; 시스템 운영 프로그램(OS : Operating System) 및 응용 프로그램 등을 저장하기 위한 주 저장장치(30)를 포함하여 구성된다.
이때, 상기 주 저장장치(30)는 시스템 운영 프로그램(OS)과 응용 프로그램의 용량이 크기 때문에 일반적으로 하드디스크와 같은 대용량 저장매체를 주로 사용한다.
그럼, 상기와 같이 다수의 저장매체로 구성되어 있는 컴퓨터 시스템의 부팅과정을 도2를 참조하여 설명하기로 한다.
일단, 롬-메모리(10)에는 시스템 파워온시 다른 저장장치(30)로부터 오에스(OS) 및 루트파일 시스템(root file system)과 응용 프로그램 등을 램-메모리(20)에 로드시키기 위한 부트로더(Boot Loader)가 적재되어 있고, 그 부트로더에 의해 램 메모리(20)에 루트 파일 시스템과 응용 프로그램이 로드되면 시스템을 동작시키게 된다.
즉, 부트로더에서는 시스템 운영 프로그램(OS)을 램-메모리에 적재한 후 제어권을 시스템 운영 프로그램(OS)으로 넘겨주어 이후의 모든 작업을 시스템 운영 프로그램(OS)에서 처리하도록 한다.
이때, 상기 부팅과정은 생산자가 설정해 놓은 시스템 운영 프로그램(OS)이 부팅되어 응용 프로그램이 수행되는 것으로, 부팅 도중에 사용자 임의로 시스템 운영 프로그램(OS) 및 파일 시스템, 응용 프로그램을 선택하여 원하는 작업을 수행할 수 없는 문제점이 있다.
또한, 임베디드 시스템의 경우에는 시스템의 크기에 제한이 따르기 때문에,충분한 저장용량을 갖는 저장장치의 구비가 어려워 다양한 응용 프로그램을 적재하여 수행시킬 수 없는 문제점이 있다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 임베디드 시스템에 필수적인 루트 파일 시스템과 응용 프로그램들을 주 저장장치에 저장하지 않고 롬 메모리에 압축시켜 저장함으로써, 효율적이고 저비용의 시스템을 개발할 수 있도록 하는 임베디드 시스템의 메모리 제어방법을 제공함에 그 목적이 있다.
또한, 본 발명은 부팅 도중에 사용자 임의로 여러 가지 오에스, 파일 시스템, 응용 프로그램을 선택적으로 로딩할 수 있도록 함으로써, 저장공간을 절약하여 램 메모리를 효율적으로 사용할 수 있도록 하고, 응용 프로그램의 수행속도도 향상시킬 수 있도록 하는 임베디드 시스템의 메모리 제어방법을 제공함에 그 목적이 있다.
도 1은 일반적인 임베디스 시스템 및 컴퓨터 시스템의 내부 구성을 개략적으로 보인 블록도.
도 2는 컴퓨터 시스템의 부팅과정을 설명하기 위해 보인 예시도.
도 3은 본 발명에 의해 임베디드 시스템에서의 롬-메모리 및 램-메모리의 데이터 적재 과정을 설명하기 위한 메모리 맵을 보인 예시도.
도 4는 본 발명에 의해 임베디드 시스템의 롬-메모리에 프로그램이 압축 저장되어 있을 경우의 부팅 과정을 설명하기 위한 흐름도.
도 5는 본 발명에 의해 임베디드 시스템에서 사용자 임의로 부팅 과정을 선택 제어하는 경우의 부팅 과정을 설명하기 위한 흐름도.
이와 같은 목적을 달성하기 위한 본 발명은, 시스템 부팅을 위한 파일 시스템을 저장하기 위한 롬-메모리와; 시스템 실행에 필요한 각종 파일을 로딩하기 위한 램-메모리를 구비하여 구성된 임베디드 시스템에 있어서, 상기 롬-메모리에는 파일 압축 및 압축 해제 루틴과 부트전환을 위한 루틴을 포함하는 부트로더를 적재하고, 시스템 운영 프로그램(OS)과 응용 프로그램에 대해서는 압축 저장하며, 상기 램-메모리에는 부팅시 부트로더에 의해 롬-메모리에 압축 저장되어 있는 프로그램파일을 로딩한 후 압축 해제하도록 이루어진 것을 특징으로 한다.
상기와 같은 기술구성을 갖는 본 발명은 하드디스크와 같은 저장장치를 사용하지 않으므로, 전력소비를 현저하게 줄일 수 있게 되어 시스템의 구동시간을 연장할 수 있도록 하는 특징이 있다.
또한, 본 발명은 루트파일 시스템(root file system)과 응용 프로그램을 압축하여 적재함으로써, 메모리 공간을 적게 차지하도록 하여 저비용으로 시스템을 구성할 수 있도록 하는 특징이 있다.
또한, 본 발명은 사용자에게 부팅 과정에 대한 선택권을 주어 필요한 응용 프로그램들만 선택적으로 로딩할 수 있도록 하여 메모리에 여유 공간이 많아져서 응용 프로그램의 수행 속도를 향상시키는 특징이 있다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
일단, 본 발명에 의한 임베디드 시스템의 저장 수단으로는 시스템 부팅을 위한 부트로더(boot loader) 및 시스템 운영 프로그램(OS)과 응용 프로그램 등을 모두 저장하는 롬-메모리(100)와; 상기 롬-메모리(100)에 저장되어 있는 시스템 운영 프로그램(OS) 또는 응용 프로그램 등을 로드하여 실행시키기 위한 램-메모리(200) 만으로 구성된다.
즉, 종래 임베디스 시스템에서는 각 파일 시스템에 해당하는 전용 롬-메모리를 구비하였고, 데스크탑 컴퓨터(PC)에서는 큰 용량의 시스템 운영 프로그램(OS) 및 응용 프로그램을 저장하기 위해 전력 소비가 많은 대용량 하드디스크를 저장장치로 구비하고 있다.
그러나, 본 발명에서는 롬-메모리(100)에 시스템 운영 프로그램(OS)과 응용 프로그램을 모두 저장하고, 시스템 운영을 위해 부팅시에 필요한 파일 시스템을 램-메모리(200)에 로드하여 실행하도록 하는 것이다.
이때, 상기 롬-메모리(100)는 상기 시스템 운영 프로그램(OS)과 응용 프로그램 등을 모두 적재하기에는 그 용량이 한정되어 있기 때문에, 본 발명에서는 부트로더에 압축 해제 루틴을 더 삽입하고, 상기 시스템 운영 프로그램(OS)과 응용 프로그램 등을 압축하여 저장하는 것이다.
물론, 상기 압축된 파일 시스템들은 램-메모리(200)에 로드시 상기 부트로더에 삽입된 해제 루틴에 의해 해제하게 된다.
즉, 도3에 도시된 바와 같이 임베디드 시스템의 부트-롬으로 사용되는 롬-메모리는 플레시-메모리를 사용하고, 여기에 루트파일 시스템 및 응용 프로그램 등을 압축해서 저장한다. 다음, 상기와 같이 압축된 루트파일 시스템 및 응용 프로그램은 임베디드 시스템의 파워온시 부트로더(boot loader)에 의해 압축이 해제되어 램-메모리(200)에 적재된다.
이때, 상기 루트파일 시스템에는 시스템의 기본 동작을 가능하게 하는 디바이스 및 각종 라이브러리가 설치되는 것은 당연하다.
다시 말해, 본 발명은 시스템 운영 프로그램(OS) 및 루트파일 시스템과 응용 프로그램 등을 압축하여 롬-메모리(100)에 저장하고, 부팅시 부트로더에 의해 도4에 도시된 과정으로 압축을 해제하여 램-메모리(200)에 저장하는 것이다.
즉, 도4에 도시한 바와 같이 시스템이 파워온되어 부트로더가 실행되면(S11) 램-메모리의 시작번지로 점프하여(S12) 시스템 운영 프로그램(OS)을 로딩하고(S13), 그 압축을 해제한다(S14). 다음 루트파일 시스템 및 응용 프로그램을 램-메모리에 로딩하고(S15) 그 압축을 해제한 다음(S16) 동작모드로 전환하여 시스템을 실행시킨다(S17).
또한, 본 발명에서는 도5에 도시한 바와 같이 부팅 과정을 사용자 임의로 선택할 수 있도록 한다.
즉, 시스템이 파워온되면 부트로더(boot loader)가 수행되고(S21), 부팅 과정을 선택하기 위한 특정키 입력 여부를 검출하여(s23) 특정 키의 입력이 없을 경우는, 디폴트(default)로 정해진 순서에 의해 시스템 운영 프로그램(OS)으로 부팅하고(S25), 만약 특정 키가 입력될 경우는 부트로더에 기 설정된 부트전환 루틴이 실행된다(S24).
여기서, 부트전환 루틴이란 램-메모리(200)와 롬-메모리(100)간에 커널(kernel)과 파일 시스템 이미지를 서로 전송할 수 있게 하는 것으로 즉, 롬-메모리(100)의 커널 이미지를 램-메모리(200)의 임의의 위치에 로딩시키거나 반대로 램-메모리의 임의의 위치에 있는 커널 이미지를 롬-메모리(100)에 로딩시키는 것을 의미한다.
한편, 파일 시스템 이미지도 마찬가지로 롬-메모리의 이미지를 램-메모리의 임의의 위치에 로딩시킬 수도 있고, 반대로 램-메모리의 임의의 위치에 있는 파일 시스템 이미지를 롬-메모리에 로딩시킬 수도 있다.
이때 롬-메모리에 사용된 이미지는 압축된 이미지이고, 램-메모리에 사용된 이미지는 압축이 해제되어 바로 수행될 수 있는 이미지이다.
이상에서 설명한 바와 같이 본 발명 임베디드 시스템의 메모리 제어방법은, 부트-롬으로 사용되는 롬-메모리 하나에 시스템 운용 프로그램(OS) 및 응용 프로그램 등을 압축하여 저장함으로써, 하드디스크와 같은 대용량 저장장치를 사용하지 않게되어 파워소모가 적어 오랜시간 시스템의 동작이 가능하고, 파일 시스템을 압축하여 저장함으로써, 적은 용량의 메모리를 사용해서도 많은 데이터를 저장할 수 있으므로 경제적인 효과가 있다.
또한, 본 발명은 사용자에게 부팅 과정에 선택권을 주어 필요한 응용 프로그램들만 선택적으로 로딩할 수 있도록 함으로써, 메모리 공간에 여유가 많아져서 응용 프로그램 수행 속도를 향상시키는 효과가 있다.

Claims (3)

  1. 시스템 부팅을 위한 파일 시스템을 저장하기 위한 롬-메모리와; 시스템 실행에 필요한 각종 파일을 로딩하기 위한 램-메모리를 구비하여 구성된 임베디드 시스템에 있어서, 상기 롬-메모리에는 파일 압축 및 압축 해제 루틴과 부트전환을 위한 루틴을 포함하는 부트로더를 적재하고, 시스템 운영 프로그램(OS)과 응용 프로그램에 대해서는 압축 저장하며, 상기 램-메모리에는 부팅시 부트로더에 의해 롬-메모리에 압축 저장되어 있는 프로그램 파일을 로딩한 후 압축 해제하도록 이루어진 것을 특징으로 하는 임베디드 시스템의 메모리 제어방법.
  2. 제1항에 있어서, 상기 부트로더는 시스템이 부팅되면 램-메모리의 시작번지로 점프하는 제1단계와; 롬-메모리에 압축 적재되어 있는 시스템 운영 프로그램(OS)을 로딩시킨 후 압축을 해제하는 제2단계와; 다음, 부트로더에 프로그램된 순서에 의해 루트파일 시스템 및 응용 프로그램을 램-메모리에 순차 로딩시킨 후 압축을 해제하는 제3단계와; 상기 과정에 의해 시스템 실행에 필요한 모든 프로그램이 로딩되면 시스템의 동작모드를 부트로더에서 시스템 운영 프로그램으로 전환하는 제4단계로 이루어진 것을 특징으로 하는 임베디드 시스템의 메모리 제어방법.
  3. 제1항에 있어서, 상기 부트로더는 시스템이 파워온되면 부팅과정 선택을 위한 특정키 입력 여부를 검출하는 제1단계와; 상기 단계에서 특정키 입력이 없을 경우, 디폴트(default)로 설정된 운영시스템(OS)으로 부팅이 이루어지는 제2단계와; 상기 제1단계에서 특정키 입력이 있을 경우, 부트로더에 포함되어 있는 부트전환 루틴에 의해 커널 이지미 및 루트파일 시스템을 램-메모리에 로딩하고 사용자가 선택한 응용 프로그램을 로딩시키는 제3단계로 이루어진 것을 특징으로 하는 임베디드 시스템의 메모리 제어방법.
KR1020010018278A 2001-04-06 2001-04-06 임베디드 시스템의 메모리 제어방법 KR20020078229A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010018278A KR20020078229A (ko) 2001-04-06 2001-04-06 임베디드 시스템의 메모리 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010018278A KR20020078229A (ko) 2001-04-06 2001-04-06 임베디드 시스템의 메모리 제어방법

Publications (1)

Publication Number Publication Date
KR20020078229A true KR20020078229A (ko) 2002-10-18

Family

ID=27700064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010018278A KR20020078229A (ko) 2001-04-06 2001-04-06 임베디드 시스템의 메모리 제어방법

Country Status (1)

Country Link
KR (1) KR20020078229A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708466B1 (ko) * 2005-06-17 2007-04-18 삼성전자주식회사 선택적 통합 시스템으로 구현이 가능한 임베디드 시스템 및그 선택적 통합 시스템으로의 구현방법
WO2008058469A1 (fr) * 2006-11-17 2008-05-22 Maipu (Sichuan) Communication Technology Co., Ltd. Procédé pour démarrer un dispositif embarqué
US8468321B2 (en) 2009-04-06 2013-06-18 Seagate Technology International Method relocating code objects and disc drive using same
CN112416886A (zh) * 2019-08-21 2021-02-26 普天信息技术有限公司 Linux系统启动方法及装置
CN114185606A (zh) * 2021-12-14 2022-03-15 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708466B1 (ko) * 2005-06-17 2007-04-18 삼성전자주식회사 선택적 통합 시스템으로 구현이 가능한 임베디드 시스템 및그 선택적 통합 시스템으로의 구현방법
WO2008058469A1 (fr) * 2006-11-17 2008-05-22 Maipu (Sichuan) Communication Technology Co., Ltd. Procédé pour démarrer un dispositif embarqué
US8468321B2 (en) 2009-04-06 2013-06-18 Seagate Technology International Method relocating code objects and disc drive using same
CN112416886A (zh) * 2019-08-21 2021-02-26 普天信息技术有限公司 Linux系统启动方法及装置
CN114185606A (zh) * 2021-12-14 2022-03-15 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置
CN114185606B (zh) * 2021-12-14 2023-11-28 上海华信长安网络科技有限公司 一种基于嵌入式系统提高系统运行可靠性的方法和装置

Similar Documents

Publication Publication Date Title
US8732446B2 (en) Selectively compressing blocks of a bootable snapshot image during booting
JP5284946B2 (ja) Nandフラッシュメモリを用いた直接ブート構成
US9075629B2 (en) Multi-phase resume from hibernate
EP1658562B1 (en) A method of accessing data in a computing device
US8996795B2 (en) Storage device for mounting to a host
EP2555110A1 (en) Smart mobile phone system and boot method thereof
CN100538641C (zh) 操作计算装置的方法
US20050210476A1 (en) Architecture and method for sharing application programs between multiple operating systems with feature of electricity saving
US8195930B2 (en) Computer system with reduced storage device and associated booting method
US20120102314A1 (en) Smart phone system and booting method thereof
US6055631A (en) Method and apparatus for booting a portable computing device
EP1324198A3 (en) Processor and method of booting same
KR20090121105A (ko) 마스터 부트 레코드가 저장되어 있는 저장매체, 이를포함하는 컴퓨터 시스템 및 그 부팅방법
KR100883655B1 (ko) 재구성 가능한 프로세서를 갖는 문맥 교환 시스템 및 방법
US7900197B2 (en) Program initiation methods and embedded systems utilizing the same
US7240190B2 (en) Resource compatible system for computer system reads compressed filed stored in legacy BIOS and decompresses file using legacy support operating system driver
KR20130068630A (ko) 임베디드 디바이스의 초기화 방법 및 장치
KR20020078229A (ko) 임베디드 시스템의 메모리 제어방법
US20070283130A1 (en) Compact Storage Of Program Code On Mobile Terminals
CN1183451C (zh) 计算机系统中的bios更新方法
US20060168440A1 (en) OS selection methods and computer systems utilizing the same
US20020143844A1 (en) Computer system with two operating systems
GB2400194A (en) Upgrading software in a consumer product
JP4357271B2 (ja) ブート用プログラム,情報処理装置
RU2390823C2 (ru) Компактное хранение программного кода на мобильных терминалах

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application