KR20060088755A - Booting method of the embedded operating system - Google Patents

Booting method of the embedded operating system Download PDF

Info

Publication number
KR20060088755A
KR20060088755A KR1020050009711A KR20050009711A KR20060088755A KR 20060088755 A KR20060088755 A KR 20060088755A KR 1020050009711 A KR1020050009711 A KR 1020050009711A KR 20050009711 A KR20050009711 A KR 20050009711A KR 20060088755 A KR20060088755 A KR 20060088755A
Authority
KR
South Korea
Prior art keywords
kernel
boot
operating system
ram
embedded operating
Prior art date
Application number
KR1020050009711A
Other languages
Korean (ko)
Other versions
KR100625167B1 (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 KR1020050009711A priority Critical patent/KR100625167B1/en
Publication of KR20060088755A publication Critical patent/KR20060088755A/en
Application granted granted Critical
Publication of KR100625167B1 publication Critical patent/KR100625167B1/en

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01FADDITIONAL WORK, SUCH AS EQUIPPING ROADS OR THE CONSTRUCTION OF PLATFORMS, HELICOPTER LANDING STAGES, SIGNS, SNOW FENCES, OR THE LIKE
    • E01F9/00Arrangement of road signs or traffic signals; Arrangements for enforcing caution
    • E01F9/50Road surface markings; Kerbs or road edgings, specially adapted for alerting road users
    • E01F9/576Traffic lines
    • E01F9/588Lane delineators for physically separating traffic lanes and discouraging but not preventing crossing
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01FADDITIONAL WORK, SUCH AS EQUIPPING ROADS OR THE CONSTRUCTION OF PLATFORMS, HELICOPTER LANDING STAGES, SIGNS, SNOW FENCES, OR THE LIKE
    • E01F9/00Arrangement of road signs or traffic signals; Arrangements for enforcing caution
    • E01F9/50Road surface markings; Kerbs or road edgings, specially adapted for alerting road users
    • E01F9/576Traffic lines
    • E01F9/582Traffic lines illuminated

Abstract

본 발명은 홈 네트워크를 위한 가정용 전자제품의 임베디드 운영체계에 대한 부팅 속도를 향상시키는 기술에 관한 것이다.The present invention relates to a technique for improving the boot speed for an embedded operating system of a home appliance for a home network.

이 같은 본 발명은, 부트로더에서 실행 코드의 복사가 이루어지는 시점부터 커널코드까지 모두 RAM 영역으로 동시에 복사가 이루어진 상태에서 부팅이 구현되도록 함으로써, 커널 이미지의 검사부분과 복사는 물론 압축해제 동작의 스킵(skip)을 통해 시스템의 부팅 시간을 단축시켜 사용자에게 홈 네트워크를 위한 가정용 가전제품의 사용상 편의성을 향상시키는 임베디드 운영체계의 부팅 방법을 제공한다.In the present invention, booting is implemented in a state where copying of execution code from the boot loader to the kernel code is simultaneously performed in the RAM area. Thus, the inspection part and the copy of the kernel image as well as the decompression operation are skipped. (skip) shortens the boot time of the system, providing users with a method of booting an embedded operating system that improves the ease of use of home appliances for the home network.

임베디드 운영체계, 부트로더, 커널, RAM, 파일시스템Embedded Operating System, Boot Loader, Kernel, RAM, File System

Description

임베디드 운영체계의 부팅방법{Booting method of the embedded operating system}Booting method of the embedded operating system

도 1은 종래 가정용 임베디드 운영체계의 부팅 흐름도.1 is a boot flow diagram of a conventional home embedded operating system.

도 2는 본 발명의 일 실시예로 부팅 속도를 개선한 가정용 임베디드 운영체계의 부팅 흐름도.2 is a boot flow diagram of a home embedded operating system with improved boot speed according to an embodiment of the present invention.

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

10; 비휘발성 메모리 20; RAM10; Nonvolatile memory 20; RAM

본 발명은 홈 네트워크를 위한 가정용 전자제품의 임베디드 운영체계(Embedded Operating System)에 대한 부팅 속도를 향상시키기 위한 기술에 관한 것으로, 보다 상세하게는 비휘발성 메모리(nonvolatile memory)에 저장된 부트로더(bootloader)의 실행 코드 복사가 이루어지는 시점부터 커널(kernel)의 실행코드도 함께 램(RAM)에 복사시켜 커널 이미지의 검사부분과 복사는 물론 압축해제(non-compress) 동작의 스킵(skip)이 가능하도록 하여 홈 네트워크를 위한 가정용 전자 제품의 임베디드 운영체계에 대한 부팅시간을 단축시킬 수 있도록 하는 임베디드 운영체계의 부팅 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for improving the booting speed of an embedded operating system of home appliances for a home network, and more particularly, to a bootloader stored in nonvolatile memory. From the point at which the execution code copy is executed, the kernel's execution code is also copied to RAM so that the inspection and copying of the kernel image as well as the non-compress operation can be skipped. The present invention relates to a method of booting an embedded operating system that can shorten a boot time for an embedded operating system of a home electronic product for a home network.

주지된 바와같이, 홈 네트워크를 위한 가전제품은 일반 가전제품에 홈 네트워크 기능을 추가하여 구현하는 것으로, 이는 미들웨어(middleware) 및 임베디드 운영체계가 적용되며 그 부팅은 일반적인 PC의 부팅방법과는 다르다.As is well known, home appliances for home networks are implemented by adding home network functions to general home appliances, which are applied with middleware and embedded operating systems, and booting is different from that of a normal PC.

이때, 상기 임베디드 운영체계의 부팅방법은 도시하지 않았지만 시스템의 핵심인 중앙처리장치(CPU)와, 도 1에서와 같이 기본적인 부팅에 필요한 실행코드와 파일시스템이 탑재된 비휘발성 메모리(10)는 물론, 파일시스템의 인스트럭션이 실행되면서 운영체계 및 응용프로그램의 작업 공간으로 사용되는 임시 메모리인 RAM(20)의 유기적인 연결로부터 구현된다.At this time, the booting method of the embedded operating system is not shown, but the central processing unit (CPU), which is the core of the system, as shown in FIG. In addition, the file system instructions are executed from the organic connection of the RAM 20, which is a temporary memory used as a working space of an operating system and an application program.

즉, 상기 비휘발성 메모리(10)에 저장된 부트로더의 실행코드 부분에서 중앙처리장치를 초기화하고, 상기의 초기화가 끝나면 비휘발성 메모리(10)에 저장된 커널의 실행코드를 읽어 들이면서 부팅을 시작하였으며, 상기 부팅이라는 것은 사용자에게 쉘(shell)의 형태를 제공하기까지를 말하며, 이때가 되면 커널의 아이들 태스크(idle task)가 생성되고, 이 아이들 태스크의 점유율이 최고가 되어 사용자의 명령 및 조작을 기다리게 되는 것이다.That is, the central processing unit is initialized in the execution code portion of the boot loader stored in the nonvolatile memory 10, and after the initialization is completed, booting is started while reading the execution code of the kernel stored in the nonvolatile memory 10. In this case, the booting refers to providing a form of a shell to the user. At this time, an idle task of the kernel is generated, and the share of the idle task becomes the highest to wait for a user's command and operation. Will be.

이를 보다 구체적으로 살펴보면, 비휘발성 메모리(10)에 저장된 부트로더에서 커널 이미지를 복사한 후, 상기의 이미지를 검사하고, 그 검사한 이미지의 압축을 푼 후에 비압축된 이미지를 RAM(20)상의 실행번지로 복사하여 커널 부팅을 시도하였다.More specifically, after copying the kernel image from the boot loader stored in the nonvolatile memory 10, inspecting the image, and decompressing the inspected image, the uncompressed image is stored on the RAM 20. I tried to boot the kernel by copying it to the execution address.

그리고, 상기 커널 부팅의 마지막 부분에서 비휘발성 메모리(10)에 저장된 파일시스템(file system)을 커널이 요구하고, 이때 압축된 램디스크(ramdisk) 형태의 파일시스템이 압축해제되면서 RAM(20) 영역으로 올라감으로써 홈 네트워크를 위한 가정용 가전제품의 사용이 가능하게 되는 것이다.The kernel requests a file system stored in the nonvolatile memory 10 at the end of the kernel booting, and at this time, the compressed ramdisk type file system is decompressed and the RAM 20 region. This will enable the use of household appliances for home networks.

즉, 종래의 임베디드 운영체계는,In other words, the conventional embedded operating system,

[1] 부트로더 실행[1] running the boot loader

[2] 중앙처리장치의 초기화 후 부트로더의 나머지 실행영역을 RAM으로 복사[2] Copying the remaining execution area of boot loader to RAM after initialization of CPU

[3] 부트로더의 나머지 부분 실행-보드 초기화 & 부팅 변수(arguments) 입력[3] Running the rest of the boot loader-initializing boards & entering boot arguments

[4] 커널 이미지를 RAM영역으로 복사[4] Copy kernel image to RAM

[5] 커널 이미지 복사[5] copying kernel images

[6] 커널 이미지 압축해제[6] kernel image decompression

[7] 부팅 변수를 저장하고 커널 엔트리 포인트로 점프[7] Save boot variables and jump to kernel entry point

[8] 커널 코드 실행[8] kernel code execution

[9] 파일 시스템을 RAM영역으로 복사[9] Copying file system to RAM area

[10] 파일 시스템 검사[10] file system checks

[11] 파일 시스템 압축해제[11] Unpacking a File System

[12] 마운트 파일 시스템[12] mounted file systems

[13] 파일 시스템을 통한 사용자 애플리케이션 실행[13] Running user applications through the file system

의 수순으로 그 부팅이 이루어지도록 하였다.The boot was done in the order of.

이때, 상기의 [1]∼[13] 과정은 전체 코드가 올라가는데 있어서 각 이미지마 다 검사 및 압축을 통한 저용량 사이즈를 구현하는데에는 별다른 지장이 없지만, 전체적인 부팅 과정으로 보았을 경우에는 부팅에 소요되는 시간이 많이 걸리는 단점이 있다.At this time, the above steps [1] to [13] do not interfere with the implementation of the low-capacity size by checking and compressing each image in order to increase the overall code. However, when viewed as the overall booting process, booting is required. It takes a lot of time.

이에따라, 운영체계없이 펌웨어(Firmware) 형태의 코드가 동작하기 때문에 부팅이 매우 짧아 전원을 인가한 후 수 초 이내에 사용이 가능한 형태로 전이가 이루어지는 일반 가전제품의 사용방법에 익숙한 사용자들에게 상기와 같이 임베디드 운영체계의 적용으로 제품에 대한 부팅 시간이 길어질 경우, 사용자들은 시스템의 고장 또는 이상동작을 의심하는 경우가 발생될 수 있으며, 부팅 시간의 지연은 자연히 사용시간의 지연으로 연결되는 등 그 사용상의 불편함이 따를 수 밖에 없었다.Accordingly, since the firmware type code operates without an operating system, the booting is very short, so that users who are familiar with how to use general household appliances, which are transitioned to a form that can be used within a few seconds after applying power, are as described above. If the boot time for a product is extended due to the application of the embedded operating system, users may suspect that the system is malfunctioning or malfunctioning, and the delay of the boot time naturally leads to the delay of use time. Discomfort was bound to follow.

즉, 홈 네트워크의 주 기능 사용시간보다 짧은 부팅 시간을 가져야 하고, 사용자가 가전제품의 이상으로 보지 않을 시간내에 부팅되어야 하며, 기능면에서 풍부한 애플리케이션(application) 및 미들웨어가 지원되는 조건의 임베디드 운영체계를 사용하는 것이 제품 개발에 유연하게 대처할 수 있다.In other words, the embedded operating system should have a boot time that is shorter than the main function usage time of the home network, boot within a time when the user does not view it as an abnormality of the home appliance, and support a rich application and middleware in terms of functions. Can be used flexibly in product development.

그러나, 상기와 같은 풍부한 애플리케이션과 미들웨어가 지원되기 위해서는 어댑테이션 레이어(adaptation layer)를 복잡하게 구성할 수 밖에 없었으며, 이는 곧 운영체계의 크기가 커지면서 부팅 시간이 자연적으로 길어지는 문제를 수반할 수 밖에 없었다.However, in order to support such abundant applications and middleware, an adaptation layer has to be complicated, which is accompanied by a problem in that the boot time increases naturally as the operating system grows in size. There was no.

따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 안출된 것으 로서 본 발명은, 비휘발성 메모리에 저장된 부트로더의 실행 코드 복사가 이루어지는 시점부터 커널의 실행코드도 함께 RAM에 복사함으로써, 커널 이미지의 검사부분과 복사는 물론 압축해제 동작의 스킵(skip)을 통해 홈 네트워크를 위한 가정용 임베디드 운영체계의 부팅시간을 단축시켜 홈 네트워크를 위한 가정용 가전제품에 대한 사용상의 편의성을 향상시킬 수 있도록 하는 임베디드 운영체계의 부팅 방법을 제공하려는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above-described conventional problems, the present invention, by copying the execution code of the kernel to the RAM from the time point at which the execution code copy of the boot loader stored in the nonvolatile memory is made, By reducing the boot time of the home embedded operating system for the home network by skipping the inspection and copying of the image as well as the decompression operation, the user convenience for home appliances for the home network can be improved. Its purpose is to provide a way to boot an embedded operating system.

상기 목적 달성을 위한 본 발명 임베디드 운영체계의 부팅 방법은,The booting method of the present invention embedded operating system for achieving the above object,

부트로더에서 중앙처리장치를 초기화 후 비휘발성 메모리에 저장된 부트로더와 압축되지 않은 커널의 실행코드를 RAM으로 복사하는 단계;After initializing the CPU in the boot loader, copying the boot loader stored in the nonvolatile memory and the executable code of the uncompressed kernel to the RAM;

상기 부트로더 자신이 사용할 하드웨어를 초기화 후 부팅변수를 커널로 입력하여 커널 이미지에 대한 검증 및 압축해제의 동작을 스킵하여 RAM에 복사된 커널의 실행코드를 실행시키는 코드실행단계;A code execution step of initializing hardware to be used by the boot loader and inputting a boot variable into a kernel to skip verification and decompression of a kernel image to execute execution code of a kernel copied to RAM;

상기 커널의 실행코드 실행으로부터 파일시스템을 RAM영역으로 복사한 후 파일시스템을 검사하고 사용자의 애플리케이션 실행이 이루어지도록 파일시스템을 압축 해제하는 애플리케이션 실행단계; 로 진행함을 특징으로 한다.An application execution step of copying a file system from execution of the execution code of the kernel to a RAM area and inspecting the file system and decompressing the file system to execute an application of a user; Characterized in proceeding to.

다른 일면에 따라, 상기 코드실행단계에는,According to another aspect, the code execution step,

부트로더의 이미지를 커널을 포함한 이미지로 만들고, 커널의 동작과 부트로더의 동작 중에 같은 동작을 포함하는 루틴을 삭제하는 단계; 를 더 포함함을 특징으로 한다.Making an image of the boot loader into an image including a kernel, and deleting a routine including the same operation during the operation of the kernel and the operation of the boot loader; It characterized in that it further comprises.

또 다른 일면에 따라, 상기 애플레케이션 실행단계에는,According to yet another aspect, the application execution step,

파일시스템의 일부 기능을 커널에서 구현하도록 RAM으로 복사된 파일시스템의 압축 해제를 스킵하는 단계; 를 더 포함함을 특징으로 한다.Skipping decompression of the filesystem copied to RAM to implement some functions of the filesystem in the kernel; It characterized in that it further comprises.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예로 임베디드 운영체계의 부팅 방법에 대한 흐름도로, 이는 비휘발성 메모리(10), 중앙처리장치(도면에는 도시하지 않음), RAM(20)의 유기적인 연결관계로부터 이루어진다.2 is a flowchart illustrating a booting method of an embedded operating system according to an exemplary embodiment of the present invention, which is based on an organic connection relationship between a nonvolatile memory 10, a central processing unit (not shown), and a RAM 20. Is done.

즉, 도 2를 참조하면, 임베디드 운영체계의 부팅은 비휘발성 메모리(10), 중앙처리장치, RAM(20)의 유기적인 연결에 의해 복사단계, 코드실행단계, 애플리케이션 실행단계로 진행된다.That is, referring to FIG. 2, the booting of the embedded operating system proceeds to a copying step, a code execution step, and an application execution step by an organic connection of the nonvolatile memory 10, the central processing unit, and the RAM 20.

상기 복사단계는, 부트로더의 실행으로 중앙처리장치를 초기화하고, 다음으로 비휘발성 메모리(10)에 저장된 상기 부트로더와 압축되지 않은 커널의 실행코드를 RAM(20)으로 복사하는 수순으로 진행된다.The copying step is performed by initializing the central processing unit by executing a boot loader, and then copying the boot loader stored in the nonvolatile memory 10 and the executable code of the uncompressed kernel to the RAM 20. .

상기 코드실행단계는, 상기 부트로더 자신이 사용할 하드웨어(예; 보드)를 초기화한 후 사용자에 의해 입력되는 부팅변수를 커널로 입력하고, 다음으로 상기 커널의 압축 이미지를 RAM(20)으로 복사하여 검증한 후 그 검증된 압축된 커널 이미지의 압축을 해제하면서 부팅변수를 저장하고 커널 엔트리 포인트로 점프하는 동작을 스킵 즉, 건너뛰는 동작을 수행한 후 RAM(20)에 복사된 커널의 실행코드를 실행시키는 수순으로 진행된다.In the code execution step, after initializing the hardware (eg, a board) to be used by the boot loader itself, a boot variable input by a user is input to the kernel, and then a compressed image of the kernel is copied to the RAM 20. After the verification, the compressed kernel image is decompressed and the boot variable is saved and the jump to the kernel entry point is skipped, that is, the skipped operation is executed. The execution proceeds with the procedure.

이때, 상기 코드실행단계에는 임베디드 운영체계의 부팅 속도가 향상될 수 있도록 부트로더의 이미지를 커널의 이미지를 포함하는 이미지로 만들고, 상기 커널의 동작과 부트로더의 동작 중에 같은 동작을 포함하는 루틴을 삭제하도록 하였다.At this time, in the code execution step, the boot loader image is made into an image including the kernel image to improve the booting speed of the embedded operating system, and a routine including the same operation during the operation of the kernel and the boot loader is executed. It was deleted.

상기 애플리케이션 실행단계는, 커널의 실행코드 실행으로부터 비휘발성 메모리(10)에 저장된 파일시스템을 RAM(20)으로 복사한 후 파일시스템을 검사하여 그 파일시스템의 압축을 해제하는 것으로, 상기의 압축 해제로부터 사용자의 애플리케이션 실행이 이루어지는 것이다.The application execution step is to copy the file system stored in the nonvolatile memory 10 to the RAM 20 from execution of the execution code of the kernel, and then examine the file system and decompress the file system. The user's application execution takes place.

여기서, 상기의 파일시스템에 대한 압축 해제는 파일시스템의 일부 기능을 커널에서 구현하여 임베디드 운영체계의 부팅 속도가 향상되도록 RAM(20)으로 복사된 파일시스템의 압축해제를 스킵하여도 무방하며, 반드시 이러한 것에 한정하는 것은 아니다.Here, the decompression of the file system may be implemented by skipping the decompression of the file system copied to the RAM 20 so as to improve the booting speed of the embedded operating system by implementing some functions of the file system in the kernel. It is not limited to this.

이를 첨부된 도 2를 참조하여 보다 구체적으로 살펴보면 다음과 같다.This will be described in more detail with reference to FIG. 2.

가정용 가전제품의 홈 네트워크를 위해 임베디드 운영체계를 부팅하고자 가정용 전자제품으로 전원을 인가하면, 부트로더(10)의 실행이 이루어지면서 중앙처리장치를 초기화시킨다.When power is applied to the home electronic appliances to boot the embedded operating system for the home network of the home appliances, the boot loader 10 is executed to initialize the central processing unit.

이때, 상기 중앙처리장치의 초기화가 이루어짐과 동시에, 비휘발성 메모리에 저장된 부트로더는 물론 압축되지 않은 커널의 실행코드를 RAM(20)으로 복사한다.At this time, the central processing unit is initialized and at the same time, the boot code stored in the nonvolatile memory as well as the executable code of the uncompressed kernel are copied to the RAM 20.

즉, 상기 부트로더는 자신의 코드 사이즈와 커널의 코드 사이즈를 알고 있으므로, 상기 부트로더는 자기 자신의 실행코드가 RAM(20)으로 복사되는 시점에서 압 축되지 않은 커널의 실행코드도 함께 상기의 RAM(20)으로 복사시키게 되는 것이다.That is, since the boot loader knows its code size and the code size of the kernel, the boot loader also includes the executable code of the uncompressed kernel at the time when its own executable code is copied to the RAM 20. It is copied to the RAM (20).

이후, 상기 부트로더는 자신이 사용할 하드웨어(예; 보드)를 초기화한 후 사용자에 의해 부팅변수가 입력될 때 그 부팅변수를 커널로 입력한다.Thereafter, the boot loader initializes a hardware (eg, a board) to be used and inputs the boot variable into the kernel when the boot variable is input by the user.

그러면, 상기 커널의 압축 이미지를 RAM(20)으로 복사하여 검증하는 단계, 상기 검증된 커널 이미지의 압축을 해제하는 단계, 부팅변수를 저장하는 단계, 커널의 엔트리 포인트로 점프하는 단계의 동작이 스킵됨과 동시에, 상기 RAM(30)에 복사된 커널의 실행코드가 바로 실행된다.Then, the operation of copying and verifying the compressed image of the kernel to RAM 20, decompressing the verified kernel image, storing boot variables, and jumping to an entry point of the kernel are skipped. At the same time, the executable code of the kernel copied to the RAM 30 is executed immediately.

즉, 상기 부트로더는 부팅변수가 입력됨과 동시에 빠른 속도의 부팅이 이루어지도록 쉘(shell)을 뛰워 부팅 시간을 기다리는 루틴을 제거하는 것으로, 이는 부트로더의 이미지를 커널의 이미지를 포함하는 이미지로 만들고, 상기 커널의 동작과 부트로더의 동작 중에 같은 동작을 포함하는 루틴을 삭제하는 것을 의미한다.That is, the boot loader removes a routine that waits for a boot time by running a shell so that a fast booting is performed at the same time as a boot variable is input, which makes the boot loader's image an image including the kernel image. This means deleting a routine including the same operation during the operation of the kernel and the operation of the boot loader.

이에따라, 상기 부트로더는 쉘로 뛰는 시점에서 바로 커널의 엔트리 부분을 호출하게 되며, 이는 상기 부트로더가 이미 커널의 엔트리 부분을 알고 있으므로 해당 커널의 엔트리 주소로 점프하는 것만으로 가능한 것이다.Accordingly, the boot loader immediately calls the entry portion of the kernel at the time of running into the shell, which is possible only by jumping to the entry address of the kernel since the boot loader already knows the entry portion of the kernel.

따라서, 상기와 같이 부트로더가 RAM(20)에 실행코드가 복사된 커널을 호출하는 경우, 상기 커널의 실행코드가 바로 실행되면서 빠른 속도의 부팅이 이루어지고, 이와동시에 비휘발성 메모리(10)에 저장된 파일시스템은 RAM(20)으로 복사된다.Therefore, when the boot loader calls the kernel in which the execution code is copied to the RAM 20 as described above, the booting code of the kernel is executed immediately and a high speed booting is performed, and at the same time, the non-volatile memory 10 The stored file system is copied to the RAM 20.

그러면, 상기 RAM(20)에 복사된 파일시스템을 검사하면서 압축 해제가 이루어짐으로써, 사용자의 애플리케이션 즉, 홈 네트워크를 위한 가정용 가전제품은 그 동작이 신속하게 이루어질 수 있게 되는 것이다.Then, the decompression is performed while inspecting the file system copied to the RAM 20, so that the home appliance for the user's application, that is, the home network, can be quickly operated.

이때, 상기의 파일시스템에 대한 압축 해제는 파일시스템의 일부 기능을 커널에서 구현할 경우, RAM(20)으로 복사된 파일시스템의 압축해제를 스킵할 수 있도록 하였으며, 이 경우 임베디드 운영체계의 부팅 속도는 보다 더 향상될 수 있는 것이다.In this case, the decompression of the file system allows skipping the decompression of the file system copied to the RAM 20 when some functions of the file system are implemented in the kernel. In this case, the boot speed of the embedded operating system is It can be improved further.

이상에서 설명한 바와같이 본 발명은 비휘발성 메모리에 저장된 부트 로더의 실행 코드 복사가 이루어지는 시점부터 커널의 실행코드도 함께 RAM에 복사하는 임베디드 운영체계의 부팅 방법을 통해, 커널 이미지의 검사부분과 복사는 물론 압축해제 동작의 스킵을 통해 시스템의 부팅 시간을 단축시켜 홈 네트워크를 위한 가정용 가전제품의 사용상 편의성을 향상시킴은 물론, 풍부한 애플리케이션 및 미들웨어가 지원되는 조건의 임베디드 운영체계의 사용으로 임베디드 운영체계가 탑재된 가정용 가전제품의 개발 기간을 단축하고, 아울러 가정용 임베디드 운영체계에서 구현하기 어려웠던 미들웨어 및 애플리케이션 사용이 용이하게 이루어지도록 함은 물론, 미들웨어 및 애플리케이션의 구매 비용을 대폭 절감시키는 효과를 제공한다.As described above, the present invention provides a method of inspecting and copying a kernel image through a booting method of an embedded operating system that copies a kernel's executable code to RAM from a time point at which a boot loader's executable code is stored in a nonvolatile memory. Of course, by skipping the decompression operation to reduce the boot time of the system to improve the ease of use of home appliances for the home network, the embedded operating system is supported by the use of an embedded operating system that supports rich applications and middleware It shortens the development period of the embedded home appliances, facilitates the use of middleware and applications that were difficult to implement in the home embedded operating system, and significantly reduces the cost of purchasing middleware and applications.

본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와같은 변경은 청구범위 기재의 범위내에 있게 된다.The present invention is not limited to the above-described specific preferred embodiments, and various modifications can be made by any person having ordinary skill in the art without departing from the gist of the present invention claimed in the claims. Of course, such changes are within the scope of the claims.

Claims (3)

부트로더에서 중앙처리장치를 초기화 후 비휘발성 메모리에 저장된 부트로더와 압축되지 않은 커널의 실행코드를 RAM으로 복사하는 단계;After initializing the CPU in the boot loader, copying the boot loader stored in the nonvolatile memory and the executable code of the uncompressed kernel to the RAM; 상기 부트로더 자신이 사용할 하드웨어를 초기화 후 부팅변수를 커널로 입력하여 커널 이미지에 대한 검증 및 압축해제의 동작을 스킵하여 RAM에 복사된 커널의 실행코드를 실행시키는 코드실행단계;A code execution step of initializing hardware to be used by the boot loader and inputting a boot variable into a kernel to skip verification and decompression of a kernel image to execute execution code of a kernel copied to RAM; 상기 커널의 실행코드 실행으로부터 파일시스템을 RAM영역으로 복사한 후 파일시스템을 검사하고 사용자의 애플리케이션 실행이 이루어지도록 파일시스템을 압축 해제하는 애플리케이션 실행단계; 로 진행함을 특징으로 하는 임베디드 운영체계의 부팅 방법.An application execution step of copying a file system from execution of the execution code of the kernel to a RAM area and inspecting the file system and decompressing the file system to execute an application of a user; Boot method of the embedded operating system, characterized in that proceed to. 제 1 항에 있어서, 상기 코드실행단계에는, 부트로더의 이미지를 커널을 포함한 이미지로 만들고, 커널 동작과 부트로더의 동작 중에 같은 동작을 포함하는 루틴을 삭제하는 단계; 를 더 포함함을 특징으로 하는 임베디드 운영체계의 부팅 방법.The method of claim 1, wherein the executing of the code comprises: making an image of the boot loader into an image including a kernel, and deleting a routine including the same operation during the kernel operation and the operation of the boot loader; Boot method of the embedded operating system characterized in that it further comprises. 제 1 항에 있어서, 상기 애플레케이션 실행단계에는, 파일시스템의 일부 기능을 커널에서 구현하도록 RAM으로 복사된 파일시스템의 압축 해제를 스킵하는 단계; 를 더 포함함을 특징으로 하는 임베디드 운영체계의 부팅방법.The method of claim 1, wherein the executing of the application comprises: skipping decompression of the file system copied to RAM to implement some functions of the file system in the kernel; Boot method of the embedded operating system characterized in that it further comprises.
KR1020050009711A 2005-02-02 2005-02-02 Booting method of the embedded operating system KR100625167B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050009711A KR100625167B1 (en) 2005-02-02 2005-02-02 Booting method of the embedded operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050009711A KR100625167B1 (en) 2005-02-02 2005-02-02 Booting method of the embedded operating system

Publications (2)

Publication Number Publication Date
KR20060088755A true KR20060088755A (en) 2006-08-07
KR100625167B1 KR100625167B1 (en) 2006-09-20

Family

ID=37177088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050009711A KR100625167B1 (en) 2005-02-02 2005-02-02 Booting method of the embedded operating system

Country Status (1)

Country Link
KR (1) KR100625167B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758984B1 (en) * 2005-08-17 2007-09-17 삼성전자주식회사 Embedded system having middleware and a booting method thereof
US8352694B2 (en) 2007-03-30 2013-01-08 Samsung Electronics Co., Ltd. Method of controlling memory access
CN114911533A (en) * 2022-05-19 2022-08-16 长沙金维信息技术有限公司 NorFlash interface-based chip starting method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060430B1 (en) 2013-08-08 2020-02-11 삼성전자주식회사 SYSTEM ON CHIP(SoC) CAPABLE OF REDUCING WAKE-UP TIME, APPLICATION PROCESSOR, AND COMPUTER SYSTEM HAVING SAME

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758984B1 (en) * 2005-08-17 2007-09-17 삼성전자주식회사 Embedded system having middleware and a booting method thereof
US8352694B2 (en) 2007-03-30 2013-01-08 Samsung Electronics Co., Ltd. Method of controlling memory access
US8943288B2 (en) 2007-03-30 2015-01-27 Samsung Electronics Co., Ltd. Method of controlling memory access
CN114911533A (en) * 2022-05-19 2022-08-16 长沙金维信息技术有限公司 NorFlash interface-based chip starting method

Also Published As

Publication number Publication date
KR100625167B1 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
US8972969B2 (en) Out of band services updates
JP5307706B2 (en) Operating system gradual boot process
JP5781497B2 (en) Hosted application platform with extensible media format
US8701104B2 (en) System and method for user agent code patch management
JP2009544072A (en) Method and apparatus for appliance virtualization
JP4294084B2 (en) Method and recording medium for executing software application
JP2013511782A (en) Stream-based software application distribution and activation system
WO2009083785A1 (en) System, method, apparatus, mobile terminal and computer program product for providing secure mixed-language components to a system dynamically
JP2008535117A (en) Software protection
CN104375849A (en) Core loading method and device
JP2005202963A (en) System for improving processing speed of java(r) program and its method
CN113885967B (en) Method, device, equipment and medium for starting applet
CN111443939A (en) Configuration method and device of software development kit and storage medium
KR100725386B1 (en) Method for executing virtual machine application, and the digital broadcast receiver thereof
KR100625167B1 (en) Booting method of the embedded operating system
US7721000B2 (en) Method of compressing and decompressing executable file in mobile communication terminal
CN105740012A (en) Method for updating BIOS (Basic Input Output System) program of computer
CN111338708A (en) Application program processing method, client and system based on android plug-in
CN111475210A (en) Method and system for booting PXE (PCI extensions for instrumentation) by using memory without disk
CN108415737B (en) Method for loading plug-in virtual machine and electronic terminal
Rothman et al. Harnessing the UEFI Shell: Moving the platform beyond DOS
CN111399926A (en) Method and device for downloading starting program
KR100775431B1 (en) Apparatus and Method for System Imbedded System and Firmware Updating Method Therein
WO2017128589A1 (en) Method of generating executable file and art virtual machine execution method and device
Shizukuishi et al. An efficient tinification of the linux kernel for minimizing resource consumption

Legal Events

Date Code Title Description
A201 Request for 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: 20090902

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee