KR100775887B1 - Method of loading and updating os by hdd in embedded system - Google Patents

Method of loading and updating os by hdd in embedded system Download PDF

Info

Publication number
KR100775887B1
KR100775887B1 KR1020070076958A KR20070076958A KR100775887B1 KR 100775887 B1 KR100775887 B1 KR 100775887B1 KR 1020070076958 A KR1020070076958 A KR 1020070076958A KR 20070076958 A KR20070076958 A KR 20070076958A KR 100775887 B1 KR100775887 B1 KR 100775887B1
Authority
KR
South Korea
Prior art keywords
operating system
hard disk
disk drive
original
loading
Prior art date
Application number
KR1020070076958A
Other languages
Korean (ko)
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 KR1020070076958A priority Critical patent/KR100775887B1/en
Application granted granted Critical
Publication of KR100775887B1 publication Critical patent/KR100775887B1/en

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/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3802Harddisk connected to a computer port

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

A method of loading and updating OS(Operating System) by an HDD(Hard Disk Drive) in an embedded system is provided to restore the OS at the time of occurrence of power-off or a fault during updating and to decrease a time taken to update the OS. A method of loading and updating an OS by an HDD(150) in an embedded system includes: a first step in which a CPU(110) executes a boot loader by transferring the boot loader stored in a flash memory(130) to a main memory(120) when a power is on; a second step in which the boot loader loads an original OS stored in the HDD to the main memory; a third step in which the original OS loaded to the main memory is executed; a fourth step in which the boot loader loads a back-up OS stored in the HDD when loading the original OS is failed in the second step; and a fifth step in which the back-up OS loaded to the main memory is executed.

Description

임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법{METHOD OF LOADING AND UPDATING OS BY HDD IN EMBEDDED SYSTEM}How to load and update operating system using hard disk in embedded system {METHOD OF LOADING AND UPDATING OS BY HDD IN EMBEDDED SYSTEM}

본 발명은 임베디드시스템의 부팅방법에 관한 것으로, 더욱 상세하게는 임베디드 시스템에서 하드디스크(HDD)를 이용한 운영체계 로딩 및 업데이트 방법에 관한 것이다.The present invention relates to a booting method of an embedded system, and more particularly, to an operating system loading and updating method using a hard disk (HDD) in the embedded system.

일반적으로, 임베디드 시스템이란 특정한 제품이나 솔루션에서 주어진 작업을 수행할 수 있도록 추가로 탑재되는 솔루션이나 시스템을 의미한다. 즉, 어떤 제품이나 솔루션에 추가로 탑재되어 그 제품 안에서 특정한 작업을 수행하도록 하는 솔루션을 말한다. 예를 들어 주된 용도가 전화인 휴대폰에 텔레비전 기능이 들어가 있다면, 텔레비전 기능(시스템)이 바로 임베디드 시스템이다. 첨단 기능이 들어 있는 가전제품, 휴대폰, 셋탑박스 등 현대의 각종 전자·정보·통신 기기는 대부분 임베디드시스템을 갖추고 있는데, 이러한 임베디드 시스템은 특정 임베디드 응용 프로그램을 수행할 수 있도록 해주는 마이크로프로세서(예컨대, ARM 프로세 서)와 운영체계(RTOS 등)에 의해 구현된다.In general, an embedded system is a solution or system that is additionally mounted to perform a given task in a particular product or solution. In other words, it is a solution that is added to a product or solution and allows you to perform specific tasks within that product. For example, if a cell phone whose primary use is a telephone includes a television function, the television function (system) is an embedded system. Most modern electronic, information and communication devices such as home appliances, mobile phones, and set-top boxes with advanced functions have embedded systems. These embedded systems are microprocessors (eg, ARM) that enable specific embedded applications to be executed. It is implemented by the processor) and operating system (RTOS, etc.).

임베디드 시스템에서 부트로더(Bootloader)는 특정 시스템이 기동할 때 처음으로 수행되는 코드로서, 시스템의 초기화 및 디바이스의 초기화 등을 담당한다. 따라서 시스템의 초기화를 위한 여러 가지 코드들로 구성되어 있고 코드의 초기에는 주로 저급언어인 어셈블리로 작성되어 있다. 부트로더의 종류로는 각 플랫폼 별로 여러 가지가 존재한다. 먼저 PowerPC 계열의 부트로더로는 오픈소스 프로젝트의 일환으로 만들어진 ppcboot를 들 수 있다. 그리고 IBM의 stb 계열의 부트로더로 openbios가 있다. 또한 ARM 계열의 Intel StrongArm 플랫폼을 지원하는 bootldr과 angelboot, blob 등이 있고, MIPS를 지원하는 부트로더로 pmon과 yamon 등이 있다. In an embedded system, a bootloader is a code that is executed for the first time when a specific system starts up. The bootloader is responsible for system initialization and device initialization. Therefore, it is composed of various codes for initializing the system. Initially, the code is written in low-level assembly. There are various types of boot loaders for each platform. First, the PowerPC family of boot loaders is ppcboot, which was created as part of an open source project. IBM's stb family of bootloaders is openbios. In addition, there are bootldr, angelboot, and blob that support ARM-based Intel StrongArm platform, and pmon and yamon are MIPS-supported boot loaders.

도 2는 플래시 메모리를 이용한 부트로딩 개념을 설명하기 위해 도시한 도면이다.2 is a diagram illustrating a bootloading concept using a flash memory.

도 2를 참조하면, 종래에는 플래시(flash) 메모리(130)가 부트로더(bootloader)(132), OS 커널(kernel)(134), 리드/라이트(R/W) 영역(136)으로 구성되고, 플래시 메모리의 부트로더(132)가 플래시 메모리(130)에 저장된 OS 커널(Kernel)로부터 부팅에 필요한 부분을 램(RAM)(120)으로 로딩하여 부팅을 수행하였다.Referring to FIG. 2, a conventional flash memory 130 includes a bootloader 132, an OS kernel 134, and a read / write region 136. The boot loader 132 of the flash memory loads a portion necessary for booting from the OS kernel stored in the flash memory 130 into the RAM 120 to perform booting.

여기서, 플래시 메모리(130)의 맵(4Mb)은 다음 표1과 같다.Here, the map 4Mb of the flash memory 130 is shown in Table 1 below.

1) Bootloader : 128kb 2) Yamon : 128kb 3) os kernel : 3Mb 4 )기타 : 750kb1) Bootloader: 128kb 2) Yamon: 128kb 3) os kernel: 3Mb 4) Others: 750kb

임베디드 시스템에서 플래시 메모리에 운영체계를 저장할 경우에는 플래시 메모리가 하드디스크드라이브(HDD)에 비하여 기록(write) 속도가 1/100 수준으로 낮으므로 운영체계 업데이트시에 업데이트 속도가 떨어지고, OS 업데이트 중 전원차단 등으로 인해 OS가 손상되는 경우 백업 본이 없어 이후 부팅할 수 없는 문제점이 있다.When the operating system is stored in the flash memory in the embedded system, the flash memory write speed is 1 / 100th lower than that of the hard disk drive (HDD). If the OS is damaged due to blocking, there is a problem that you cannot boot afterward because there is no backup.

이러한 문제점을 해결하기 위해 OS 백업본을 플래시 메모리에 저장할 경우에는 고가의 플래시 메모리의 용량을 늘리거나 듀얼 플래시를 구성해야 하므로 단가가 크게 올라가는 문제점이 있다.In order to solve this problem, when the OS backup copy is stored in the flash memory, the cost of the expensive flash memory needs to be increased or the dual flash must be configured.

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 임베디드 시스템에서 하드디스크드라이브를 이용한 운영체계 로딩 및 업데이트 방법을 제공하는 것이다.The present invention has been proposed to solve the above problems, and an object of the present invention is to provide an operating system loading and updating method using a hard disk drive in an embedded system.

상기와 같은 목적을 달성하기 위하여 본 발명의 로딩방법은 CPU와 메인 메모리와 플래시 메모리와 하드디스크드라이브가 구비된 임베디드 시스템에 있어서, 전원이 온되면 상기 CPU가 상기 플래시 메모리에 저장된 부트로더를 상기 메인 메모리로 가져와 부트로더를 실행하는 제1 단계; 상기 부트로더가 상기 하드디스크드라이브에 저장된 원본 운영체계를 상기 메인 메모리로 로딩하는 제2 단계; 상기 제2 단계에서 로딩에 실패하면 부트로더가 상기 하드디스크드라이브에 저장된 백업 운영체계를 상기 메인 메모리로 로딩하는 제3 단계; 및 상기 운영체계 로딩에 성공하면, 상기 운영체계를 실행하는 제4 단계를 구비한 것을 특징으로 한다.In order to achieve the above object, the loading method of the present invention is an embedded system including a CPU, a main memory, a flash memory, and a hard disk drive. When the power is turned on, the CPU loads the boot loader stored in the flash memory. A first step of bringing it into memory and executing a boot loader; A second step of the boot loader loading the original operating system stored in the hard disk drive into the main memory; A third step of loading, by the boot loader, the backup operating system stored in the hard disk drive into the main memory when the loading fails in the second step; And a fourth step of executing the operating system upon successful loading of the operating system.

상기 부트로더는 야몬(Yamon)을 포함하고, 상기 운영체계는 리눅스나 WinCE 이다.The boot loader includes Yamon, and the operating system is Linux or WinCE.

또한 상기와 같은 종래의 목적을 달성하기 위하여 본 발명의 업데이트방법은 CPU와 메인 메모리와 플래시 메모리와 하드디스크드라이브가 구비된 임베디드 시스템에 있어서, 업데이트가 요청되면, 상기 CPU가 상기 하드디스크드라이브의 원본 운영체계를 업데이트하는 단계; 상기 원본 운영체계의 업데이트에 성공하면, 상기 하드디스크드라이브의 원본을 복사하여 상기 하드디스크드라이브의 백업본을 업데이트하는 단계; 및 상기 원본 운영체계의 업데이트에 실패하면, 상기 하드디스크드라이브의 백업본을 상기 하드디스크드라이브의 원본으로 복사하여 상기 하드디스크드라이브의 원본을 복구하는 단계를 구비한다.In addition, the update method of the present invention in order to achieve the above-described conventional object in the embedded system provided with a CPU, main memory, flash memory and hard disk drive, when the update is requested, the CPU is the original of the hard disk drive Updating the operating system; Updating the backup copy of the hard disk drive by copying the original of the hard disk drive if the update of the original operating system is successful; And restoring an original copy of the hard disk drive by copying a backup copy of the hard disk drive to an original copy of the hard disk drive if the original operating system fails to update.

본 발명에 따르면 임베디드 시스템에서 운영체계를 플래시 메모리에 저장하지 않고 저가의 하드디스크드라이브에 저장함으로써 적어도 2개의 백업본을 저장하여 비용을 거의 들이지 않고서도 백업본의 운영이 가능하여 운영체계 업데이트 중에 전원이 꺼지거나 장애가 발생하더라도 복구가 가능하며, 하드디스크드라이브가 플래시 메모리에 비해 기록(write) 속도가 월등히 빠르므로 운영체계의 업데이트에 걸리는 시간을 줄일 수 있다.According to the present invention, by storing the operating system in an inexpensive hard disk drive without storing the operating system in the flash memory in the embedded system, at least two backup copies can be stored so that the operation of the backup copy can be performed at almost no cost. Recovery is possible even in the event of a failure or failure, and the write time of the hard disk drive is much faster than that of flash memory, reducing the time required to update the operating system.

본 발명과 본 발명의 실시에 의해 달성되는 기술적 과제는 다음에서 설명하는 본 발명의 바람직한 실시예들에 의하여 보다 명확해질 것이다. 다음의 실시예들은 단지 본 발명을 설명하기 위하여 예시된 것에 불과하며, 본 발명의 범위를 제한하기 위한 것은 아니다. The technical problems achieved by the present invention and the practice of the present invention will be more clearly understood by the preferred embodiments of the present invention described below. The following examples are merely illustrated to illustrate the present invention and are not intended to limit the scope of the present invention.

도 1은 본 발명이 적용되는 임베디드 시스템의 하드웨어 구성 블럭도이고, 도 3은 임베디드 시스템에서 본 발명에 따라 OS 커널을 로딩하는 개념을 도시한 개략도이다.1 is a block diagram illustrating a hardware configuration of an embedded system to which the present invention is applied. FIG. 3 is a schematic diagram illustrating a concept of loading an OS kernel according to the present invention in an embedded system.

셋탑박스나 가전제품 등에 탑재되는 임베디드 시스템은 도 1에 도시된 바와 같이, CPU(110)와 메인 메모리(120), NOR 플래시메모리(130), 입출력 컨트롤러(140)가 시스템 버스(102)를 통해 직접 연결되어 있고 하드디스크드라이브(150)와 같은 보조기억장치가 입출력컨트롤러(140)를 통해 연결되어 있다.As shown in FIG. 1, an embedded system installed in a set-top box or home appliance includes a CPU 110, a main memory 120, a NOR flash memory 130, and an input / output controller 140 via a system bus 102. Directly connected and a secondary storage device such as a hard disk drive 150 is connected via the input and output controller 140.

도 1을 참조하면, 임베디드 시스템에 사용되는 CPU(110)는 ARM 프로세서나 MIPS 계열의 프로세서이고, 메인 메모리(120)는 RAM으로 이루어진다. NOR 플래시 메모리(130)는 도 3에 도시된 바와 같이, 부트로더(132)가 저장되어 있고, 리드/라이트 영역(136)이 할당되어 있다. 하드디스크드라이브(150)에는 원본 운영체계(A영역, 이하 동일)와 2개의 백업 운영체계(B,C영역, 이하 동일)가 저장되어 있다. Referring to FIG. 1, the CPU 110 used in the embedded system is an ARM processor or a MIPS series processor, and the main memory 120 is formed of RAM. In the NOR flash memory 130, as shown in FIG. 3, a boot loader 132 is stored and a lead / write area 136 is allocated. The hard disk drive 150 stores an original operating system (area A, hereinafter same) and two backup operating systems (areas B, C, hereinafter).

이와 같이 HDD를 이용할 경우에 각 저장장치에 저장된 데이터는 다음 표2와 같다.In this way, when the HDD is used, the data stored in each storage device is shown in Table 2 below.

1) Bootloader : 128kb 2) Yamon : 128kb 3) HDD OS 원본 (4M) 4) HDD OS 복사본 1 (4M) 5) HDD OS 복사본 2 (4M)1) Bootloader: 128kb 2) Yamon: 128kb 3) HDD OS original (4M) 4) HDD OS copy 1 (4M) 5) HDD OS copy 2 (4M)

본 발명에서는 부트로더(132)가 간단한 파일 시스템을 구성하여 HDD(150)에 저장된 OS를 로딩하도록 구성한다. 즉, 플래시 메모리(130)에 부트로더만을 구성하고, HDD(150)에 OS 커널의 원본(A 영역)과 복사본(B, C 영역)을 저장한 후 플래시 메모리(130)의 부트로더(132)가 HDD(150)의 A 영역의 OS 커널로부터 부팅에 필요한 부분을 메인 메모리(120)로 로딩하여 부팅을 수행한다. 따라서 종래의 플래시 메모리(130)에서 OS 커널에 할당되었던 영역은 다른 용도로 활용할 수 있다.In the present invention, the boot loader 132 configures a simple file system to load the OS stored in the HDD 150. That is, only the boot loader is configured in the flash memory 130, and the boot loader 132 of the flash memory 130 is stored in the HDD 150 after storing the original (area A) and the copies (areas B and C) of the OS kernel. Loads a portion necessary for booting from the OS kernel of region A of the HDD 150 to the main memory 120 to perform booting. Therefore, the area allocated to the OS kernel in the conventional flash memory 130 may be used for other purposes.

또한, 본 발명을 셋탑박스(STB)에 적용할 경우에 기존의 셋탑박스(STB)가 HDD를 이미 포함하고 있으므로, 추가로 HDD를 장착할 필요 없이 기존의 STB HDD에 OS를 위한 영역을 할당함으로써 제조비용을 절감할 수 있다.In addition, when the present invention is applied to a set-top box (STB), since the existing set-top box (STB) already includes the HDD, by allocating an area for the OS to the existing STB HDD without additional HDD installation The manufacturing cost can be reduced.

또한, HDD(150)가 플래시 메모리(130)에 비해 기록(WRITE) 속도가 빠르므로 OS 업데이트 속도를 크게 향상시킬 수 있고, 플래시 메모리(130)에 비해 HDD(150)의 가격이 저가이므로 OS 저장을 위한 공간을 여유있게 할당할 수 있다. 즉, 본 발명에 따라 HDD(150)를 이용할 경우 플래시 메모리(130)에 비해 백업용 OS를 위한 공간 할당에 비용상의 제한이 적으므로, 원본 OS 외에 복사본 OS 영역을 할당 및 저장함으로써 OS 업데이트 중 전원차단 등으로 인해 원본 OS가 손상되었을 때 백업용 OS를 이용하여 정상적으로 부팅할 수 있다.In addition, since the HDD 150 has a faster write speed than the flash memory 130, the OS update speed can be greatly improved, and the OS 150 is cheaper than the flash memory 130. You can allocate space for them. That is, in the case of using the HDD 150 according to the present invention, since there is less cost limit in allocating space for the backup OS than the flash memory 130, power is cut off during OS update by allocating and storing a copy OS area in addition to the original OS. When the original OS is damaged due to a problem, the OS can be booted normally using the backup OS.

그리고 본 발명은 Yamon(bootloader에 포함되는 구성)을 사용하는 전제하에, 리눅스(Linux) 뿐만 아니라 윈 시이(WinCE)에도 적용 가능하며, CPU 코어가 MIPS 계열인 경우에도 적용 가능하다.In addition, the present invention is applicable to Linux as well as WinCE under the premise of using Yamon (configuration included in the bootloader), and is applicable to a case where the CPU core is a MIPS series.

이와 같은 구성의 임베디드 시스템에서 OS 커널을 로딩하는 절차는 도 4에 도시된 바와 같고, OS 커널을 업데이트하는 절차는 도 5에 도시된 바와 같다.The procedure for loading the OS kernel in the embedded system having such a configuration is as shown in FIG. 4, and the procedure for updating the OS kernel is as shown in FIG. 5.

도 4를 참조하면, 전원이 온되거나 리셋이 되면 CPU(110)에 따라 정해진 특정 번지(예컨대, 0번지)의 코드를 실행하여 하드웨어 초기화를 실행한 후 플래시 메모리(130)의 부트로더(132)를 메인 메모리(120)로 로딩하여 부트로더를 실행한다(S1~S3). 이에 따라 부트로더(132)는 하드디스크드라이브(150)의 원본 운영체계(A영역)를 메인 메모리(120)로 로딩하여 실행한다(S4 내지 S6). 한편, 원본 운영체계의 로딩에 실패할 경우, 부트로더(132)는 하드디스크드라이브(150)에 있는 백업 운영체계(B,C영역)를 순차적으로 로딩하여 로딩에 성공하면 이후 운영체계를 실행한다(S5,S6,S7).Referring to FIG. 4, when the power is turned on or reset, the boot loader 132 of the flash memory 130 is executed after executing hardware initialization by executing a code of a specific address (eg, 0) determined according to the CPU 110. To load the main memory 120 to execute a boot loader (S1 ~ S3). Accordingly, the boot loader 132 loads and executes the original operating system (area A) of the hard disk drive 150 into the main memory 120 (S4 to S6). On the other hand, if the loading of the original operating system fails, the boot loader 132 sequentially loads the backup operating system (B, C area) in the hard disk drive 150 and executes the subsequent operating system if the loading is successful. (S5, S6, S7).

한편, 운영체계의 업그레이드가 필요하면, 도 5에 도시된 바와 같이 하드디스크드라이브(150)의 원본 운영체계(A)를 갱신하고, 갱신에 성공하면 업데이트된 원본 운영체계를 복사하여 백업 운영체계도 업그레이드한다(S11~S14). 만일, 원본 운영체계를 업그레이드하는 중에 전원이 아웃되거나 하여 문제가 발생되면 백업 운영체계(B,C)로 원본 운영체계(A)를 복구하여 원본 운영체계(A)를 계속 사용할 수 있게 한다(S15).Meanwhile, if the operating system needs to be upgraded, the original operating system A of the hard disk drive 150 is updated as shown in FIG. 5, and if the update is successful, the backup operating system is copied by copying the updated original operating system. Upgrade (S11 ~ S14). If a problem occurs when the power is turned off during the upgrade of the original operating system, the original operating system (A) can be restored to the backup operating system (B, C) to continue using the original operating system (A) (S15). ).

이와 같이 본 발명에 따르면 임베디드 시스템에서 운영체계를 플래시 메모리(130)에 저장하지 않고 하드디스크드라이브(150)에 저장함으로써 별도의 제조비용 증가없이 백업본의 저장 및 운영이 가능하여 운영체계 업데이트 중에 전원이 꺼지거나 장애가 발생하여 운영체계가 손상되더라도 복구 및 백업본을 통한 부팅이 가능하다. 또한, 플래시 메모리에 비해 하드디스크드라이브가 기록(write)속도가 월등히 빠르므로 운영체계의 업데이트에 걸리는 시간을 줄일 수 있다.As described above, according to the present invention, since the operating system is stored in the hard disk drive 150 without storing the operating system in the flash memory 130, the backup copy can be stored and operated without increasing the manufacturing cost. Even if the operating system is damaged due to power off or failure, recovery and booting from backup are possible. In addition, since the write speed of the hard disk drive is much faster than that of the flash memory, the time required for updating the operating system can be reduced.

예컨대, 종래와 같이 플래시 메모리에 운영체계를 저장하는 경우 OS를 업데이트하는데 약 3분 정도 소요되었다면, 본 발명에 따르면 OS를 업데이트하는데 약 6초 정도의 사간만이 소요된다. 또한, 종래에는 OS의 업데이트 도중 전원이 차단될 경우 OS의 손상으로 인해 이후 부팅을 할 수 없었으나, 본 발명의 경우에는 OS의 업데이트 도중 전원이 차단되어 원본 OS가 손상되더라도 백업본 OS를 통해 정상적으로 부팅하고 손상된 원본 OS는 백업본 OS를 이용하여 복구할 수 있게 된다.For example, when storing an operating system in a flash memory as in the prior art, if it takes about 3 minutes to update the OS, it takes only about 6 seconds to update the OS according to the present invention. In addition, in the prior art, when the power was cut off during the update of the OS, booting could not be performed later due to the damage of the OS. However, in the present invention, even if the power is cut off during the updating of the OS, the original OS is damaged, the booting is normally performed through the backup OS. The original, corrupted OS can be recovered using the backup OS.

이상에서 본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. The present invention has been described above with reference to one embodiment shown in the drawings, but those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom.

도 1은 본 발명이 적용되는 임베디드 시스템의 하드웨어 구성 블럭도,1 is a block diagram illustrating a hardware configuration of an embedded system to which the present invention is applied.

도 2는 임베디드시스템에서 종래에 OS 커널을 로딩하는 개념을 도시한 개략도,2 is a schematic diagram illustrating a concept of conventionally loading an OS kernel in an embedded system;

도 3은 임베디드시스템에서 본 발명에 따라 OS 커널을 로딩하는 개념을 도시한 개략도,3 is a schematic diagram illustrating a concept of loading an OS kernel in accordance with the present invention in an embedded system;

도 4는 본 발명에 따라 OS 커널을 로딩하는 절차를 도시한 순서도,4 is a flowchart illustrating a procedure for loading an OS kernel according to the present invention;

도 5는 본 발명에 따라 OS 커널을 업데이트하는 절차를 도시한 순서도.5 is a flowchart illustrating a procedure for updating an OS kernel in accordance with the present invention.

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

110: CPU 120: 메인 메모리110: CPU 120: main memory

130: 플래시 메모리 140: 입출력 컨트롤러130: flash memory 140: input / output controller

150: 하드디스크드라이브150: hard disk drive

Claims (4)

CPU, 메인 메모리, 부트로더가 저장된 플래시 메모리 및 원본 운영체계를 저장하는 저장영역과 상기 원본 운영체계의 복사본인 하나 이상의 백업 운영체계를 저장하는 저장영역이 할당되는 하드디스크드라이브가 구비된 임베디드 시스템에 있어서,An embedded system having a CPU, a main memory, a flash memory in which a boot loader is stored, and a hard disk drive having a storage area for storing an original operating system and a storage area for storing one or more backup operating systems that are copies of the original operating system. In 전원이 온되면 상기 CPU가 상기 플래시 메모리에 저장된 부트로더를 상기 메인 메모리로 가져와 부트로더를 실행하는 제 1 단계;A first step of the CPU fetching a boot loader stored in the flash memory into the main memory and executing a boot loader when the power is turned on; 상기 부트로더가 상기 하드디스크드라이브에 저장된 원본 운영체계를 상기 메인 메모리로 로딩하는 제 2 단계;A second step of the boot loader loading the original operating system stored in the hard disk drive into the main memory; 메인 메모리에 로딩된 원본 운영체계를 실행하는 제 3 단계;A third step of executing an original operating system loaded in the main memory; 상기 제2 단계에서 상기 원본 운영체계의 로딩이 실패하면 부트로더가 상기 하드디스크드라이브에 저장된 백업 운영체계를 상기 메인 메모리로 로딩하는 제 4 단계; 및A fourth step in which a boot loader loads a backup operating system stored in the hard disk drive into the main memory when the original operating system fails to load in the second step; And 메인 메모리에 로딩된 백업 운영체계를 실행하는 제 5 단계를 구비한 것을 특징으로 하는 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법.A method of loading and updating an operating system using a hard disk in an embedded system, comprising a fifth step of executing a backup operating system loaded in main memory. 제1항에 있어서,The method of claim 1, 상기 부트로더는 야몬(Yamon)을 포함하고,The boot loader includes Yamon, 상기 운영체계는 리눅스 및 WinCE 중 선택된 어느 하나인 것을 특징으로 하는 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법.The operating system is a method of loading and updating the operating system using a hard disk in an embedded system, characterized in that any one selected from Linux and WinCE. 제1항에 있어서,The method of claim 1, 상기 CPU의 코어가 MIPS 계열인 것을 특징으로 하는 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법.Operating system loading and updating method using a hard disk in the embedded system, characterized in that the core of the CPU is MIPS series. 제1항에 있어서,The method of claim 1, 상기 원본 운영체계의 업데이트가 요청되면, 상기 CPU가 상기 하드디스크드라이브의 원본 운영체계를 업데이트하는 제 6 단계;A sixth step of updating, by the CPU, the original operating system of the hard disk drive when an update of the original operating system is requested; 상기 제 6 단계에서 상기 원본 운영체계의 업데이트에 성공하면, 상기 하드디스크드라이브의 원본 운영체계를 복사하여 상기 하드디스크드라이브의 각 백업 운영체계를 업데이트하는 제 7 단계; 및A seventh step of updating each backup operating system of the hard disk drive by copying the original operating system of the hard disk drive when the update of the original operating system is successful in the sixth step; And 상기 제 6 단계에서 상기 원본 운영체계의 업데이트에 실패하면, 상기 하드디스크드라이브의 백업 운영체계를 이용하여 부팅한 후 상기 백업 운영체계를 상기 하드디스크드라이브의 원본 운영체계에 할당된 저장영역에 복사하여 상기 하드디스크드라이브의 원본 운영체계를 복구하는 제 8 단계를 더 구비한 것을 특징으로 하는 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및 업데이트 방법.If the update of the original operating system fails in the sixth step, booting using the backup operating system of the hard disk drive and copying the backup operating system to a storage area allocated to the original operating system of the hard disk drive. Operating system loading and updating method using a hard disk in the embedded system, characterized in that it further comprises an eighth step of recovering the original operating system of the hard disk drive.
KR1020070076958A 2007-07-31 2007-07-31 Method of loading and updating os by hdd in embedded system KR100775887B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070076958A KR100775887B1 (en) 2007-07-31 2007-07-31 Method of loading and updating os by hdd in embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070076958A KR100775887B1 (en) 2007-07-31 2007-07-31 Method of loading and updating os by hdd in embedded system

Publications (1)

Publication Number Publication Date
KR100775887B1 true KR100775887B1 (en) 2007-11-13

Family

ID=39061876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070076958A KR100775887B1 (en) 2007-07-31 2007-07-31 Method of loading and updating os by hdd in embedded system

Country Status (1)

Country Link
KR (1) KR100775887B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011075484A2 (en) 2009-12-14 2011-06-23 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
US8627456B2 (en) 2009-12-14 2014-01-07 Citrix Systems, Inc. Methods and systems for preventing access to display graphics generated by a trusted virtual machine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040034540A (en) * 2002-10-21 2004-04-28 피닉스 테크놀로지 리미티드 Reliable and secure updating and recovery of firmware from a mass storage device
KR20040053659A (en) * 2002-12-17 2004-06-24 엘지전자 주식회사 Method for upgrade and backup in mobile terminal
KR20060131296A (en) * 2005-06-15 2006-12-20 엘지전자 주식회사 Computer system capable of supporting multi-operating systems and method for supporting multi-os in the same system
KR20070052110A (en) * 2005-11-16 2007-05-21 엠텍비젼 주식회사 Method and apparatus for providing emulation pc-based for developing program of embedded system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040034540A (en) * 2002-10-21 2004-04-28 피닉스 테크놀로지 리미티드 Reliable and secure updating and recovery of firmware from a mass storage device
KR20040053659A (en) * 2002-12-17 2004-06-24 엘지전자 주식회사 Method for upgrade and backup in mobile terminal
KR20060131296A (en) * 2005-06-15 2006-12-20 엘지전자 주식회사 Computer system capable of supporting multi-operating systems and method for supporting multi-os in the same system
KR20070052110A (en) * 2005-11-16 2007-05-21 엠텍비젼 주식회사 Method and apparatus for providing emulation pc-based for developing program of embedded system

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011075484A2 (en) 2009-12-14 2011-06-23 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
WO2011075484A3 (en) * 2009-12-14 2011-10-27 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
US8560826B2 (en) 2009-12-14 2013-10-15 Citrix Systems, Inc. Secure virtualization environment bootable from an external media device
US8627456B2 (en) 2009-12-14 2014-01-07 Citrix Systems, Inc. Methods and systems for preventing access to display graphics generated by a trusted virtual machine
US8646028B2 (en) 2009-12-14 2014-02-04 Citrix Systems, Inc. Methods and systems for allocating a USB device to a trusted virtual machine or a non-trusted virtual machine
US8650565B2 (en) 2009-12-14 2014-02-11 Citrix Systems, Inc. Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware
US8661436B2 (en) 2009-12-14 2014-02-25 Citrix Systems, Inc. Dynamically controlling virtual machine access to optical disc drive by selective locking to a transacting virtual machine determined from a transaction stream of the drive
US8689213B2 (en) 2009-12-14 2014-04-01 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US20140101754A1 (en) * 2009-12-14 2014-04-10 Citrix Systems, Inc. Methods and systems for allocating a usb device to a trusted virtual machine or a non-trusted virtual machine
US8869144B2 (en) 2009-12-14 2014-10-21 Citrix Systems, Inc. Managing forwarding of input events in a virtualization environment to prevent keylogging attacks
US8924571B2 (en) 2009-12-14 2014-12-30 Citrix Systems, Imc. Methods and systems for providing to virtual machines, via a designated wireless local area network driver, access to data associated with a connection to a wireless local area network
US8924703B2 (en) 2009-12-14 2014-12-30 Citrix Systems, Inc. Secure virtualization environment bootable from an external media device
US9110700B2 (en) 2009-12-14 2015-08-18 Citrix Systems, Inc. Methods and systems for preventing access to display graphics generated by a trusted virtual machine
EP2513789A4 (en) * 2009-12-14 2016-09-14 Citrix Systems Inc A secure virtualization environment bootable from an external media device
US9507615B2 (en) 2009-12-14 2016-11-29 Citrix Systems, Inc. Methods and systems for allocating a USB device to a trusted virtual machine or a non-trusted virtual machine
US9804866B2 (en) 2009-12-14 2017-10-31 Citrix Systems, Inc. Methods and systems for securing sensitive information using a hypervisor-trusted client

Similar Documents

Publication Publication Date Title
US10701084B2 (en) Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices
US10114655B2 (en) Rapid start up method for electronic equipment
JP5113700B2 (en) Firmware update apparatus and method
CN102216905B (en) Method and system for creating application restore point for application operated in computer system
US20040030877A1 (en) Using system BIOS to update embedded controller firmware
US20110283274A1 (en) Firmware image update and management
US20070055969A1 (en) System and method for updating firmware
US7512777B2 (en) Method and system for maintaining system management BIOS
US20140304497A1 (en) Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium
CN102334100A (en) Program update device, program update method, and information processing device
CN103299276A (en) Software updating process for an embedded device
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
CN110874237A (en) Software upgrading method, device, terminal and readable storage medium
CN111045712A (en) Single system upgrading method and system with backup function
US11144299B2 (en) Firmware updating method
CN110018881B (en) Method and system for rapidly recovering virtual machine fault
TWI764454B (en) Firmware corruption recovery
KR100775887B1 (en) Method of loading and updating os by hdd in embedded system
EP3028141B1 (en) Generating a second code from a first code
CN113032183A (en) System management method, device, computer equipment and storage medium
CN111522690A (en) Data storage device and method for maintaining normal startup operation of data storage device
KR20130040636A (en) Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same
TWI839587B (en) Method and device for managing software updates , and non-transitory computer readable storage medium
Smejkal et al. Application live-upgrading and error-recovery using code-data decoupling
CN114237721A (en) Software protection method, system, device and storage medium for mainboard double-boot

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131106

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141106

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161206

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171206

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181106

Year of fee payment: 12