KR20040052305A - System and method for loading operating system for embedded system - Google Patents

System and method for loading operating system for embedded system Download PDF

Info

Publication number
KR20040052305A
KR20040052305A KR1020020080158A KR20020080158A KR20040052305A KR 20040052305 A KR20040052305 A KR 20040052305A KR 1020020080158 A KR1020020080158 A KR 1020020080158A KR 20020080158 A KR20020080158 A KR 20020080158A KR 20040052305 A KR20040052305 A KR 20040052305A
Authority
KR
South Korea
Prior art keywords
operating system
version information
server
client
image
Prior art date
Application number
KR1020020080158A
Other languages
Korean (ko)
Other versions
KR100487717B1 (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 KR10-2002-0080158A priority Critical patent/KR100487717B1/en
Publication of KR20040052305A publication Critical patent/KR20040052305A/en
Application granted granted Critical
Publication of KR100487717B1 publication Critical patent/KR100487717B1/en

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

PURPOSE: A system and a method for loading an OS(Operating System) for an embedded system are provided to reduce an expense for developing a bootloader and remove troublesomeness for downloading the OS every time by making the OS perform the functions to be executed in the bootloader. CONSTITUTION: A client(200) transits the OS version information to the server before the application is started after the OS(240) is executed, and executes an application program(260) in case that the OS version information of the client is identical with the OS version information stored in a server(100). The server compares the OS version information transmitted from the client with the OS version information stored in the server, and loads an OS image stored in the server to the client when two OS version information are different. The OS includes a driving part(250) transmitting the OS version information to the server, and storing the OS image downloaded from the server and the OS version information matched with the OS image to a bootable nonvolatile memory.

Description

내장형 시스템을 위한 운영체제 로딩 시스템 및 방법{System and method for loading operating system for embedded system}System and method for loading operating system for embedded system

본 발명은 내장형 시스템(embedded system)을 위한 운영체제 로딩 시스템 및 방법에 관한 것으로, 업그레이드시 운영체제의 버전 관리가 용이한 운영체제 로딩 시스템 및 방법에 관한 것이다.The present invention relates to an operating system loading system and method for an embedded system, and to an operating system loading system and method for easy version management of the operating system when upgrading.

도 1은 종래 기술에 따른 내장형 시스템(20)의 구성을 보여주는 블록도로서, 기존의 통신용 내장형 시스템(20)에서 수행되는 운영체제 로딩 방법을 설명하기 위한 도면이다.FIG. 1 is a block diagram illustrating a configuration of an embedded system 20 according to the related art, and illustrates a method of loading an operating system performed by an existing embedded system 20 for communication.

도 1을 참조하면, 내장형 시스템(20)에는 부트 로더(boot loader ; 122)(또는, 부우터(booter)라고도 칭함)라는 프로그램이 구비되어 있어, 시스템의 파워 온(power-on)시 서버 시스템(10)의 로딩부(12)로부터 운영체제(operating system ; 124)를 다운로드받아 이를 메모리에 복사한다. 그리고, 시스템(20)의 제어를 운영체제(24)로 넘겨줌으로써 운영체제(24)와 응용 프로그램들(26)이 수행되도록 한다.Referring to FIG. 1, the embedded system 20 includes a program called a boot loader 122 (or also referred to as a booter), so that the server system at power-on of the system is provided. An operating system 124 is downloaded from the loading unit 12 of 10 and copied to the memory. Then, the control of the system 20 is transferred to the operating system 24 so that the operating system 24 and the application programs 26 may be executed.

이처럼 부트 로더(22)를 이용하여 운영체제(24)를 로딩하는 경우에는, 통신용 내장형 시스템(20)의 운영체제(24)의 기본 기능이라 할 수 있는 통신 기능을 부트 로더(22)에 포함시켜야 하며, 향후 부트 로더(22)의 변경이 발생할 경우를 대비하여 부트 로더(22)의 버전을 갱신하기 위한 방안이 강구되어야만 한다.When the operating system 24 is loaded using the boot loader 22 as described above, the boot loader 22 should include a communication function, which is a basic function of the operating system 24 of the embedded system 20 for communication, In case a change of the boot loader 22 occurs in the future, a method for updating the version of the boot loader 22 should be devised.

부트 로더(22)의 버전을 갱신하는 방법으로는, 파워 오프(power-off) 후 새로운 버전이 실장된 ROM(read only memory)을 교체하는 방법과, 외부 툴 혹은 부트 로더(22) 자체에 프로그래밍 기능을 구비하여 프로그래밍 가능한 비휘발성 메모리(non-volatile memory)에 새로운 버전의 부트 로더(22)를 기록하는 방법 등이 있다.The method of updating the version of the boot loader 22 includes a method of replacing a read only memory (ROM) in which a new version is mounted after power-off, and programming in an external tool or the boot loader 22 itself. And writing a new version of the boot loader 22 into a programmable non-volatile memory having a function.

그러나, 이러한 방법들을 구현하기 위해서는 운영체제(24)의 일부 기능을 수행할 수 있는 특화된 부트 로더(22)를 개발하기 위한 비용이 소요될 뿐만 아니라, 운영체제(24)의 변경 여부와 상관없이 매 부팅(booting)시 마다 서버 시스템(10)으로부터 운영체제(24)를 다운로드(download) 받아야 하기 때문에, 네트워크 자원 및 시간의 낭비가 발생하게 된다. 그리고, 부트 로더(22)의 변경으로 인해 내장형 시스템(20)의 서비스 불가(out of service) 시간이 길어지는 문제점이 발생하게 된다.However, implementing these methods not only costs the development of a specialized boot loader 22 that can perform some functions of the operating system 24, but also boots every time the operating system 24 is changed. Since the operating system 24 must be downloaded from the server system 10 every time, a waste of network resources and time occurs. In addition, a change in the boot loader 22 causes a problem in that the out of service time of the embedded system 20 becomes long.

본 발명이 이루고자 하는 기술적 과제는, 부트 로더가 수행해야 할 기능들을 운영체제에서 수행시킴으로써, 부트 로더 개발에 드는 비용을 줄이고 매번 운영체제를 다운로드 하여야 하는 번거로움을 없앨 수 있는 내장형 시스템을 위한 운영체제 로딩 시스템 및 방법을 제공하는데 있다.The present invention provides an operating system loading system for an embedded system capable of reducing the cost of boot loader development and eliminating the need to download the operating system every time by performing functions to be performed by the boot loader in an operating system. To provide a method.

본 발명이 이루고자 하는 다른 기술적 과제는, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.Another object of the present invention is to provide a computer-readable recording medium having recorded thereon a program for executing the method on a computer.

도 1은 종래 기술에 따른 내장형 시스템의 구성을 보여주는 블록도이다.1 is a block diagram showing the configuration of an embedded system according to the prior art.

도 2는 본 발명의 바람직한 실시예에 따른 운영체제 로딩 시스템의 구성을 보여주는 블록도이다.2 is a block diagram showing the configuration of an operating system loading system according to a preferred embodiment of the present invention.

도 3은 본 발명의 바람직한 실시예에 따른 내장형 시스템을 위한 운영체제 로딩 방법을 보여주는 흐름도이다.3 is a flowchart illustrating an operating system loading method for an embedded system according to a preferred embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

10, 100 : 서버 시스템 12, 120, 250 : 로딩부10, 100: server system 12, 120, 250: loading unit

20, 200 : 통신 시스템 22 : 부트 로더20, 200: communication system 22: boot loader

24, 240 : 운영체제 26, 260 : 응용 프로그램24, 240: operating system 26, 260: application

상기의 과제를 이루기 위하여 본 발명에 의한 운영체제 로딩 시스템은, 운영체제의 구동 후 응용 프로그램이 시작되기 전에 자신의 운영체제 버전 정보를 서버에게 전송하되, 상기 버전 정보와 상기 서버에 저장되어 있는 운영체제의 버전 정보가 일치할 경우 상기 응용 프로그램을 구동하는 클라이언트; 및 상기 클라이언트로부터 전송된 운영체제 버전 정보와 상기 서버 내에 저장되어 있는 상기 운영체제의 버전 정보를 비교하고, 상기 두 버전의 불일치시 상기 서버 내에 저장되어 있는 상기 운영체제 이미지를 상기 클라이언트에게 로딩하는 서버를 포함하는 것을 특징으로 한다.In order to achieve the above object, the operating system loading system according to the present invention transmits its operating system version information to a server after the operating system is started and before the application is started, the version information and version information of the operating system stored in the server. A client that runs the application if the match is found; And a server for comparing operating system version information transmitted from the client with version information of the operating system stored in the server, and loading the operating system image stored in the server to the client when the two versions are inconsistent. It is characterized by.

상기의 과제를 이루기 위하여 본 발명에 의한 운영체제 로딩 방법은, (a) 클라이언트 자신의 현재 운영체제 이미지를 이용하여 부팅을 수행하는 단계; (b) 상기 클라이언트의 운영체제 버전 정보를 서버에게 전달하는 단계; (c) 상기 클라이언트로부터 전송된 상기 운영체제 버전 정보와 상기 서버에 저장되어 있는 클라이언트의 운영체제의 버전 정보를 비교하는 단계; (d) 상기 (c) 단계에서의 비교 결과, 상기 두 버전이 일치하면 상기 클라이언트에 구비된 응용 프로그램을 수행하는 단계; 및 (e) 상기 (c) 단계에서의 비교 결과, 상기 두 버전이 일치하지 않으면 상기 서버에 저장되어 있는 상기 운영체제 이미지를 상기 클라이언트에게 다운로드하고, 다운로드 된 상기 운영체제 이미지 및 상기 운영체제의 버전 정보를 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, an operating system loading method according to the present invention comprises the steps of: (a) performing a boot using the current operating system image of the client itself; (b) delivering operating system version information of the client to a server; (c) comparing the operating system version information transmitted from the client with version information of the operating system of the client stored in the server; (d) executing the application provided in the client if the two versions match as a result of the comparison in step (c); And (e) if the two versions do not match, downloading the operating system image stored in the server to the client, and comparing the downloaded operating system image and version information of the operating system if the two versions do not match. Characterized in that it comprises a step of storing in.

이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 운영체제 로딩 시스템의 구성을 보여주는 블록도이다. 도 2를 참조하면, 본 발명에 따른 로딩 시스템은 운영체제(240)를 로딩하기 위해 도 1의 경우와 같이 별도의 부트 로더를 두는 대신, 내장형 시스템(200)의 운영체제(240) 내에 새로운 버전에 대한 로딩 기능을 부여한다(참조번호 250). 또한, 운영체제(240)에게 자신의 운영체제 이미지 및 버전 정보를 비휘발성 메모리에 기록할 수 있는 기능을 부여함으로써, 동적인 버전 업그레이드가 가능하도록 한다.2 is a block diagram showing the configuration of an operating system loading system according to a preferred embodiment of the present invention. Referring to FIG. 2, the loading system according to the present invention is not equipped with a separate boot loader as in the case of FIG. 1 to load the operating system 240, but for a new version in the operating system 240 of the embedded system 200. Give the loading function (reference number 250). In addition, by giving the operating system 240 a function of recording its operating system image and version information in the nonvolatile memory, a dynamic version upgrade is possible.

내장형 시스템(200)의 운영체제(240)는, 운영체제와, 파일 시스템, 및 장치 드라이버를 포함하는 자신의 운영체제 이미지를 이용하여 부팅을 수행한다. 내장형 시스템(200)은, 부팅이 가능한 비휘발성 메모리에 기록된 운영체제 이미지를 이용하여 부팅을 수행한다. 그리고, 파워 온시 자신의 맨 처음 실행 이미지를 RAM(random access memory)에 복사한 후, 복사된 RAM 영역에서 운영체제(240) 기능을 수행한다. 이상과 같은 기능을 수행하기 위해 운영체제(240)는 그 내부에 로딩부(250)를 구비한다.The operating system 240 of the embedded system 200 performs booting using its operating system image including an operating system, a file system, and a device driver. The embedded system 200 performs booting using an operating system image recorded in a bootable nonvolatile memory. After copying the first execution image thereof to the random access memory (RAM) at power on, the operating system 240 functions in the copied RAM area. In order to perform the above functions, the operating system 240 includes a loading unit 250 therein.

로딩부(250)는, 파워 온 후 응용 프로그램(260)이 수행되기 전에 자신의 운영체제 버전 정보를 서버 시스템(100)의 로딩부(120)에게 전송하고, 서버 시스템(100)으로부터 내장형 시스템(200)의 운영체제 버전과 서버 시스템(100)에 존재하고 있는 내장형 시스템(200)의 운영체제 버전 정보의 일치 여부를 나타내는 버전 응답 정보를 받아들인다. 그리고, 획득된 버전 응답 정보에 응답해서 서버 시스템(100)의 로딩부(120)로부터 새로운 버전의 운영체제 이미지를 다운로드받을 것인지, 또는 현재의 운영체제 버전을 이용하여 내장형 시스템(200)에 구비되어 있는 응용 프로그램들(260)을 수행시킬 것인지 여부를 판별한다. 예를 들어, 서버 시스템(100)으로부터 전송된 버전 응답 정보가 두 운영체제 버전(즉, 내장형 시스템(200)의 현재 운영체제 버전과, 서버에 저장되어 있는 내장형 시스템(200)의 운영체제 버전)이 일치하지 않음을 나타내는 경우, 서버 시스템(100)의 로딩부(120)로부터 새로운 버전의 운영체제 이미지를 다운로드받는다. 그리고, 상기 버전 응답 정보가 두 운영체제 버전이 일치함을 나타내는 경우, 내장형시스템(200)에 구비되어 있는 응용 프로그램들(260)을 수행시킨다.The loading unit 250 transmits its operating system version information to the loading unit 120 of the server system 100 after the power-on and before the application program 260 is executed, and the embedded system 200 from the server system 100. ) Accepts version response information indicating whether the operating system version of the i) and the operating system version information of the embedded system 200 existing in the server system 100 match. Then, in response to the obtained version response information, whether to download a new version of the operating system image from the loading unit 120 of the server system 100, or an application provided in the embedded system 200 using the current operating system version. It is determined whether to execute the programs 260. For example, the version response information sent from the server system 100 does not match the two operating system versions (ie, the current operating system version of the embedded system 200 and the operating system version of the embedded system 200 stored in the server). If not, the new version of the operating system image is downloaded from the loading unit 120 of the server system 100. When the version response information indicates that the two operating system versions match, the application programs 260 included in the embedded system 200 are executed.

예를 들어, 내장형 시스템(200)의 두 운영체제 버전이 서로 일치하지 않아 운영체제 이미지의 다운로드가 수행되면, 상기 로딩부(250)는 다운로드 된 운영체제 이미지 및 상기 운영체제의 버전 정보를 내장형 시스템(200)에 구비되어 있는 비휘발성 메모리의 일 영역에 저장한다. 그리고 나서, 시스템 운용 정책(Policy)에 따라 응용 프로그램(260)을 수행하거나 새 버전의 운영체제 이미지로 재부팅(rebooting)을 수행하게 된다. 내장형 시스템(200)이 새로운 운영체제 이미지에 의해 재부팅된 경우에는 내장형 시스템(200)의 운영체제의 버전은 서버 시스템(100)에서 보유하고 있는 내장형 시스템의 운영체제 이미지와 동일한 버전이 된다.For example, when two operating system versions of the embedded system 200 do not coincide with each other and a download of an operating system image is performed, the loading unit 250 stores the downloaded operating system image and version information of the operating system on the embedded system 200. It is stored in one area of the provided nonvolatile memory. Then, the application 260 may be executed according to the system operation policy or the new operating system image may be rebooted. When the embedded system 200 is rebooted by the new operating system image, the version of the operating system of the embedded system 200 becomes the same version as the operating system image of the embedded system possessed by the server system 100.

이 때, 서버 시스템(100)과, 서버 시스템(100)의 로딩부(120), 및 통신 환경이 정상적일 경우, 운영체제의 로딩이 완료되었다는 정보가 내장형 시스템(200)에게 송신되어, 응용 프로그램(260)이 새로운 버전의 운영체제(240) 상에서 수행될 수 있게 된다.At this time, when the server system 100, the loading unit 120 of the server system 100, and the communication environment are normal, information indicating that the loading of the operating system is completed is transmitted to the embedded system 200, and the application program ( 260 may be performed on a new version of the operating system 240.

한편, 본 발명에 따른 내장형 시스템(200)은, 내장형 시스템(200)의 운영체제(240) 버전과 서버 시스템(100)에서 보유하고 있는 내장형 시스템의 운영체제의 버전이 다를 경우 시스템의 운용 정책에 따라 로딩부(120, 250)를 계속 동작시킬 수도 있고, 로딩부(120, 250)의 동작을 멈추게 할 수도 있다. 본 발명에서는, 만일 내장형 시스템(200)의 운용 중에 운영체제(240)의 버전이 변경되었을 경우, 변경된 버전을 바로 적용하고 싶을 때에는 로딩부(120, 250)를 계속해서 수행 대기 상태로두었다가 서버 시스템(100)으로부터 새로운 운영체제 이미지를 다운로드받아 비휘발성 메모리에 기록한 후, 시스템 운용 정책에 따라 계속 운영하거나 재부팅하는 과정을 거칠 수 있다.On the other hand, the embedded system 200 according to the present invention, when the operating system 240 version of the embedded system 200 and the version of the operating system of the embedded system possessed by the server system 100 is different according to the operating policy of the system The parts 120 and 250 may be continuously operated or the operations of the loading parts 120 and 250 may be stopped. In the present invention, if the version of the operating system 240 is changed during the operation of the embedded system 200, if you want to apply the changed version immediately, the loading unit (120, 250) to continue to put the server system ( After the new operating system image is downloaded from the 100) and recorded in the nonvolatile memory, it may be continuously operated or rebooted according to the system operation policy.

그리고, 상기 로딩부(250)는, 서버 시스템(100), 서버 시스템(100)의 로딩부(120), 또는 통신 경로가 정상적으로 동작하지 않을 경우에 대비하여, 전송 시간이 소정의 값을 초과할 경우에는 재시도 횟수에 대한 임계값을 지정함으로써, 제한된 횟수 안에 정확한 응답을 받지 못한 경우에는 내장형 시스템(200)의 운영체제(240) 버전과 서버 시스템(100)에서 보유하고 있는 내장형 시스템의 운영체제의 버전이 동일한 것으로 간주하고, 내장형 시스템(200)이 자신의 운영체제 이미지로 계속 구동되도록 한다. 이와 같은 특성을 가지는 본 발명에 따른 운영체제(240)의 로딩 과정을 단계적으로 살펴보면 다음과 같다.In addition, the loading unit 250 may have a transmission time exceeding a predetermined value in preparation for the server system 100, the loading unit 120 of the server system 100, or a communication path not operating normally. In this case, by specifying a threshold for the number of retries, if the correct response is not received within a limited number of times, the operating system 240 version of the embedded system 200 and the version of the operating system of the embedded system possessed by the server system 100 are retained. Consider this the same, and allow the embedded system 200 to continue running with its operating system image. Looking at the loading process of the operating system 240 according to the present invention having such a characteristic step by step as follows.

도 3은 본 발명의 바람직한 실시예에 따른 내장형 시스템(200)을 위한 운영체제 로딩 방법을 보여주는 흐름도이다. 도 3을 참조하면, 통신용 내장형 시스템인 클라이언트(200)는, 먼저 자신의 운영체제 이미지로 부팅을 수행한다(2000 단계). 이어서, 운영체제(240)에 구비된 로딩부(250)를 통해서 비휘발성 메모리에 저장된 자신의 운영체제 버전 정보를 서버 시스템(100)의 로딩부(120)에게 송신한다(2100 단계).3 is a flowchart illustrating a method of loading an operating system for an embedded system 200 according to a preferred embodiment of the present invention. Referring to FIG. 3, the client 200, which is an embedded system for communication, first performs booting with its operating system image (step 2000). Subsequently, the operating system version information stored in the nonvolatile memory is transmitted to the loading unit 120 of the server system 100 through the loading unit 250 provided in the operating system 240 (step 2100).

서버 시스템(100)의 로딩부(120)는, 클라이언트(200)로부터 수신된 버전 정보와, 서버 시스템(100) 내에 존재하는 운영체제의 버전 정보를 비교하고, 비교 결과에 해당되는 버전 응답 정보를 클라이언트(200)에게 전송하여, 클라이언트(200)로 하여금 서버(100)에 존재하는 클라이언트의 운영체제 버전 정보를 획득하도록 한다(2200 단계).The loading unit 120 of the server system 100 compares the version information received from the client 200 with the version information of the operating system existing in the server system 100, and compares the version response information corresponding to the comparison result with the client. In step 2200, the client 200 acquires operating system version information of the client existing in the server 100.

2200 단계에서 서버(100)에 존재하는 클라이언트의 운영체제 정보가 획득되고 나면, 클라이언트(200)는 자신이 보유하고 있는 운영체제의 버전 정보와, 서버(100) 상에 존재하는 운영체제의 버전 정보가 동일한지 여부를 판별한다(2300 단계). 2300 단계에서의 판별 결과, 두 버전 정보가 동일하면, 클라이언트(200) 상에 존재하는 응용 프로그램(260)을 수행하고(2700 단계), 두 버전 정보가 동일하지 않으면, 클라이언트(200)는 상호 약속된 통신 규약(protocol)을 통해 서버 시스템(100)으로부터 새로운 버전의 운영체제 이미지를 다운로드받는다(2400 단계). 그리고, 다운로드받은 이미지 및 버전 정보를 비휘발성 메모리의 일 영역에 기록한다(2500 단계).After the operating system information of the client existing in the server 100 is acquired in step 2200, the client 200 determines whether the version information of the operating system owned by the client and the version information of the operating system existing on the server 100 are the same. It is determined whether or not (step 2300). As a result of the determination in step 2300, if the two version information is the same, the application 260 existing on the client 200 is executed (step 2700), and if the two version information is not the same, the client 200 mutually promises The new version of the operating system image is downloaded from the server system 100 through the established communication protocol (step 2400). The downloaded image and the version information are recorded in one area of the nonvolatile memory (step 2500).

이어서, 새로 다운로드받은 운영체제 이미지 정보에 따라 재부팅(rebooting)을 수행할지의 여부(즉, 통신 시스템(200)이 운용 도중에 새로운 운영체제 이미지에 의해 운용되기를 바라는지의 여부)가 판별된다(2600 단계). 2600 단계에서의 판별 결과, 새로운 운영체제 이미지로 재부팅을 수행하지 않을 경우, 클라이언트(200)는 자신에게 구비된 응용 프로그램(260)을 수행한다(2700 단계). 그리고, 2600 단계에서의 판단 결과, 재부팅을 수행하는 경우, 2000 단계로 되돌아간다.Subsequently, whether to reboot (ie, whether the communication system 200 is to be operated by the new operating system image during operation) is determined according to the newly downloaded operating system image information (step 2600). As a result of the determination in operation 2600, when the reboot is not performed with the new operating system image, the client 200 executes the application program 260 provided to the client 200 (operation 2700). As a result of the determination in step 2600, when the reboot is performed, the process returns to step 2000.

이상에서, 본 발명의 실시예로서 통신 시스템을 위한 운영체제 로딩 방법에 대해 구체적으로 예시되었으나, 그밖에도 클라이언트/서버 환경 하에서 운영체제를사용하는 다양한 종류의 시스템들에도 본 발명을 적용할 수 있다.In the above, the operating system loading method for the communication system is specifically illustrated as an embodiment of the present invention, but the present invention may be applied to various kinds of systems using the operating system under a client / server environment.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에 설명한 바와 같이, 본 발명에 의한 운영체제 로딩 방법에 의하면, 부트 로더가 수행해야 할 작업을 운영체제에서 대신 수행함으로써 부트 로더를 개발하여야 하는 비용과 시간을 절약할 수 있다. 따라서, 새로운 운영체제 이미지로 버전을 업그레이드 할 필요성이 발생할 경우에도 내장형 시스템의 업그레이드가 동적으로 수행될 수 있으므로, 내장형 시스템의 서비스 불가 시간을 줄일 수 있다. 특히, 커널과 장치 드라이버, 파일 시스템, 응용 프로그램 등이 하나의 운영체제 이미지로 생성될 경우, 보다 손쉬운 버전 관리가 가능해 진다.As described above, according to the operating system loading method according to the present invention, it is possible to save the cost and time to develop a boot loader by performing the task to be performed by the boot loader in the operating system instead. Therefore, even when the need to upgrade the version to a new operating system image, the upgrade of the embedded system can be performed dynamically, thereby reducing the unserviceable time of the embedded system. In particular, when a kernel, device driver, file system, and application program are generated as one operating system image, version management becomes easier.

Claims (15)

운영체제의 구동 후 응용 프로그램이 시작되기 전에 자신의 운영체제 버전정보를 서버에게 전송하되, 상기 버전 정보와 상기 서버에 저장되어 있는 운영체제의 버전 정보가 일치할 경우 상기 응용 프로그램을 구동하는 클라이언트; 및A client which transmits its operating system version information to a server after the operating system is started but before the application is started, when the version information matches the version information of the operating system stored in the server; And 상기 클라이언트로부터 전송된 운영체제 버전 정보와 상기 서버 내에 저장되어 있는 상기 운영체제의 버전 정보를 비교하고, 상기 두 버전의 불일치시 상기 서버 내에 저장되어 있는 상기 운영체제 이미지를 상기 클라이언트에게 로딩하는 서버를 포함하는 것을 특징으로 하는 운영체제 로딩 시스템.A server for comparing operating system version information transmitted from the client with version information of the operating system stored in the server, and loading the operating system image stored in the server to the client when the two versions are inconsistent; Operating system loading system. 제 1 항에 있어서,The method of claim 1, 상기 운영체제는 상기 운영체제 버전 정보를 서버에게 전송하고, 상기 서버로부터 다운로드 된 상기 운영체제 이미지와, 상기 운영체제 이미지에 대응되는 운영체제 버전 정보를 부팅이 가능한 비휘발성 메모리에 저장하는 구동부를 포함하는 것을 특징으로 하는 운영체제 로딩 시스템.The operating system may include a driving unit which transmits the operating system version information to a server and stores the operating system image downloaded from the server and operating system version information corresponding to the operating system image in a bootable nonvolatile memory. Operating system loading system. 제 2 항에 있어서,The method of claim 2, 상기 구동부는, 소정의 임계 값을 초과하는 통신 실패시 상기 클라이언트의 상기 운영체제 버전 정보와 상기 서버에 저장되어 있는 상기 운영체제의 버전 정보가 일치하는 것으로 판단하는 것을 특징으로 하는 운영체제 로딩 시스템.The driver may determine that the operating system version information of the client and the version information of the operating system stored in the server coincide with each other when a communication failure exceeds a predetermined threshold value. 제 2 항에 있어서,The method of claim 2, 상기 구동부는, 상기 운영체제의 상시 업그레이드가 가능하도록 상기 시스템의 운용 정책을 따라 운용되며, 상기 두 운영체제의 버전 정보의 일치시 수행이 종료되는 것을 특징으로 하는 운영체제 로딩 시스템.The driving unit is operated according to the operating policy of the system to enable the always-upgrade of the operating system, the operating system loading system, characterized in that the execution is terminated when the version information of the two operating systems match. 제 1 항에 있어서,The method of claim 1, 상기 운영체제 이미지는, 운영체제, 파일 시스템, 및 장치 드라이버를 포함하는 것을 특징으로 하는 운영체제 로딩 시스템.The operating system image includes an operating system, a file system, and a device driver. 제 1 항에 있어서,The method of claim 1, 상기 운영체제는 상기 운영체제 이미지를 이용하여 부팅을 수행하고, 자신의 실행 이미지를 RAM(random access image)에 복사한 후, 상기 RAM 영역에서 상기 운영체제 기능을 수행하는 것을 특징으로 하는 운영체제 로딩 시스템.And the operating system performs booting using the operating system image, copies its execution image to a random access image (RAM), and performs the operating system function in the RAM area. 제 1 항에 있어서,The method of claim 1, 상기 클라이언트는 상기 서버와 통신을 수행하는 통신용 내장형 시스템인 것을 특징으로 하는 운영체제 로딩 시스템.And the client is an embedded system for communicating with the server. (a) 클라이언트 자신의 현재 운영체제 이미지를 이용하여 부팅을 수행하는 단계;(a) performing booting using the current operating system image of the client itself; (b) 상기 클라이언트의 운영체제 버전 정보를 서버에게 전달하는 단계;(b) delivering operating system version information of the client to a server; (c) 상기 클라이언트로부터 전송된 상기 운영체제 버전 정보와 상기 서버에저장되어 있는 클라이언트의 운영체제의 버전 정보를 비교하는 단계;(c) comparing the operating system version information transmitted from the client and version information of the operating system of the client stored in the server; (d) 상기 (c) 단계에서의 비교 결과, 상기 두 버전이 일치하면 상기 클라이언트에 구비된 응용 프로그램을 수행하는 단계; 및(d) executing the application provided in the client if the two versions match as a result of the comparison in step (c); And (e) 상기 (c) 단계에서의 비교 결과, 상기 두 버전이 일치하지 않으면 상기 서버에 저장되어 있는 상기 운영체제 이미지를 상기 클라이언트에게 다운로드하고, 다운로드 된 상기 운영체제 이미지 및 상기 운영체제의 버전 정보를 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 운영체제 로딩 방법.(e) As a result of the comparison in step (c), if the two versions do not match, the operating system image stored in the server is downloaded to the client, and the downloaded operating system image and version information of the operating system are stored in a memory. Operating system loading method comprising the step of storing. 제 8 항에 있어서,The method of claim 8, 상기 운영체제 로딩 방법은, (f) 상기 (e) 단계에서 다운로드 된 상기 운영체제 이미지로 재부팅을 수행하여, 상기 응용 프로그램이 상기 새로운 운영체제 이미지에 의해 운용되도록 하는 단계를 더 포함하는 것을 특징으로 하는 운영체제 로딩 방법.The operating system loading method further includes the step of (f) rebooting the operating system image downloaded in the step (e) to allow the application to be operated by the new operating system image. Way. 제 8 항에 있어서, 상기 (a) 단계는,The method of claim 8, wherein step (a) comprises: (a-1) 상기 운영체제 이미지를 이용하여 부팅을 수행하는 단계; 및(a-1) performing booting using the operating system image; And (a-2) 상기 운영체제 자신의 실행 이미지를 RAM에 복사한 후, 상기 RAM 영역에서 상기 운영체제 기능을 수행하는 단계를 포함하는 것을 특징으로 하는 운영체제 로딩 방법.(a-2) copying the execution image of the operating system itself to the RAM, and performing the operating system function in the RAM area. 제 8 항에 있어서,The method of claim 8, 상기 (c) 단계는, 소정의 임계 값을 초과하는 통신 실패시 상기 클라이언트의 상기 운영체제 버전 정보와 상기 서버에 저장되어 있는 상기 운영체제의 버전 정보가 일치하는 것으로 판단하는 것을 특징으로 하는 운영체제 로딩 방법.In the step (c), when the communication failure exceeds a predetermined threshold, the operating system loading method of the client determines that the version information of the operating system stored in the server and the version information is determined to match. 제 8 항에 있어서,The method of claim 8, 상기 (e) 단계는, 다운로드 된 상기 운영체제 이미지 및 상기 운영체제의 버전 정보를 부팅 가능한 비휘발성 메모리에 저장하는 것을 특징으로 하는 운영체제 로딩 방법.The step (e), the operating system loading method, characterized in that for storing the downloaded operating system image and the version information of the operating system in a bootable nonvolatile memory. 제 8 항에 있어서,The method of claim 8, 상기 운영체제 이미지는, 운영체제, 파일 시스템, 및 장치 드라이버를 포함하는 것을 특징으로 하는 운영체제 로딩 방법.The operating system image includes an operating system, a file system, and a device driver. 제 8 항에 있어서,The method of claim 8, 상기 클라이언트는 상기 서버와 통신을 수행하는 통신용 내장형 시스템인 것을 특징으로 하는 운영체제 로딩 방법.And the client is an embedded system for communicating with the server. 제 8 항 내지 제 14 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 8 on a computer.
KR10-2002-0080158A 2002-12-16 2002-12-16 System and method for loading operating system for embedded system KR100487717B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0080158A KR100487717B1 (en) 2002-12-16 2002-12-16 System and method for loading operating system for embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0080158A KR100487717B1 (en) 2002-12-16 2002-12-16 System and method for loading operating system for embedded system

Publications (2)

Publication Number Publication Date
KR20040052305A true KR20040052305A (en) 2004-06-23
KR100487717B1 KR100487717B1 (en) 2005-05-03

Family

ID=37345983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0080158A KR100487717B1 (en) 2002-12-16 2002-12-16 System and method for loading operating system for embedded system

Country Status (1)

Country Link
KR (1) KR100487717B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100343808C (en) * 2005-12-15 2007-10-17 北京中星微电子有限公司 Method for realizing embedded system run based on start loading programme
CN100412796C (en) * 2005-05-29 2008-08-20 鸿富锦精密工业(深圳)有限公司 Built-in system and safety opening terminal method
KR101461319B1 (en) * 2013-05-28 2014-11-12 주식회사 이노피아테크 Methods and device for upgrading firmware of set-top box

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100412796C (en) * 2005-05-29 2008-08-20 鸿富锦精密工业(深圳)有限公司 Built-in system and safety opening terminal method
CN100343808C (en) * 2005-12-15 2007-10-17 北京中星微电子有限公司 Method for realizing embedded system run based on start loading programme
KR101461319B1 (en) * 2013-05-28 2014-11-12 주식회사 이노피아테크 Methods and device for upgrading firmware of set-top box

Also Published As

Publication number Publication date
KR100487717B1 (en) 2005-05-03

Similar Documents

Publication Publication Date Title
US11474829B2 (en) Customizing program logic for booting a system
KR100506203B1 (en) Booting and boot code update method and system thereof
US8601581B2 (en) Malware automated removal system and method
RU2495481C2 (en) Software deployment in large-scale network systems
JP4842421B2 (en) Methods and systems for automatically uninstalling or reinstalling applications
US9081639B2 (en) System and method for remotely re-imaging a computer system
KR100778293B1 (en) Digital tv and upgrade method of bootloader for the same
US20100132042A1 (en) Method for upgrading antivirus software and terminal and system thereof
JP2003345618A (en) Method of switching between tow or more images of firmware
US7818557B2 (en) Method for re-imaging a computer system
US20160321057A1 (en) Electronic apparatus
KR100775431B1 (en) Apparatus and Method for System Imbedded System and Firmware Updating Method Therein
US20060112313A1 (en) Bootable virtual disk for computer system recovery
KR100487717B1 (en) System and method for loading operating system for embedded system
CN109428936B (en) APP upgrading method, device, system, electronic equipment and storage medium
JP2011175352A (en) Firmware updating device, communication apparatus, electronic apparatus, firmware updating system, firmware updating method and program
WO2008005536A2 (en) Malware automated removal system and method
KR20070060448A (en) Device and method for upgradin system using two step bootloader
CN113721959A (en) Information processing method and device and electronic equipment
KR100429903B1 (en) Method for updating images in home gateway system
KR100617796B1 (en) Mobile terminal equipment capable of upgrading a wireless firmware and method thereof
JP6099106B2 (en) Method, computer system, and memory device for providing at least one data carrier
KR100545796B1 (en) Method and apparatus for changing operating system of embedded system using server push (PSH)
KR20120030573A (en) A method, apparatus and computer program for loading files during a boot-up process
KR100777289B1 (en) Method for software upgrade using firmware in mobile terminal

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: 20100401

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee