KR20050070635A - Embedded computer system for reducing the time for rebooting the unusually logged off system - Google Patents

Embedded computer system for reducing the time for rebooting the unusually logged off system Download PDF

Info

Publication number
KR20050070635A
KR20050070635A KR1020030100405A KR20030100405A KR20050070635A KR 20050070635 A KR20050070635 A KR 20050070635A KR 1020030100405 A KR1020030100405 A KR 1020030100405A KR 20030100405 A KR20030100405 A KR 20030100405A KR 20050070635 A KR20050070635 A KR 20050070635A
Authority
KR
South Korea
Prior art keywords
hibernation
booting
data
termination
boot
Prior art date
Application number
KR1020030100405A
Other languages
Korean (ko)
Other versions
KR101022468B1 (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 KR1020030100405A priority Critical patent/KR101022468B1/en
Publication of KR20050070635A publication Critical patent/KR20050070635A/en
Application granted granted Critical
Publication of KR101022468B1 publication Critical patent/KR101022468B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • 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

Abstract

시스템의 비정상 종료시에 시스템의 기본 상태 데이터를 이용하여 하이버네이션 모드로 부팅함으로써 시스템의 재부팅 시간을 줄일 수 있는 임베디드 컴퓨터 시스템이 제공된다. 본 발명의 임베디드 컴퓨터 시스템은 시스템을 하이버네이션 모드로 부팅하는 하이버네이션 모드 부팅 수단과, 상기 시스템의 부팅 직전의 시스템 종료가 비정상적으로 이루어진 경우에는 미리 설정된 기본 상태 데이터를 이용하여 상기 하이버네이션 모드 부팅을 수행하도록 상기 하이버네이션 모드 부팅 수단을 제어하는 부팅 제어 수단을 포함한다. 또한, 시스템의 비정상 종료시에는 운영 체제 프로그램을 구동하기 전에 기본 상태 데이터를 하이버네이션 영역으로 복사하여 하이버네이션 모드로 부팅하는 것이 바람직하다.An embedded computer system is provided that can reduce system reboot time by booting in hibernation mode using the system's basic state data in the event of an abnormal shutdown of the system. The embedded computer system of the present invention is configured to perform the hibernation mode booting using hibernation mode booting means for booting the system in the hibernation mode and, if a system shutdown immediately before the booting of the system is abnormally made, using preset default state data. Boot control means for controlling the hibernation mode boot means. In the abnormal termination of the system, it is preferable to copy the basic state data to the hibernation region and boot in the hibernation mode before driving the operating system program.

Description

비정상 종료된 시스템의 재부팅 시간을 단축할 수 있는 임베디드 컴퓨터 시스템{Embedded computer system for reducing the time for rebooting the unusually logged off system}Embedded computer system for reducing the time for rebooting the unusually logged off system}

본 발명은 하이버네이션(hybernation) 모드를 지원하는 임베디드 시스템에 관한 것으로서, 특히 비정상적으로 시스템이 종료된 경우에 하이버네이션 모드에 의한 시스템 부팅 시간을 단축할 수 있는 임베디드 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an embedded system that supports a hibernation mode, and more particularly, to an embedded system capable of shortening the system booting time due to the hibernation mode when the system is abnormally shut down.

일반적으로 PC 구조를 갖는 임베디드 컴퓨터 시스템에 전원이 공급되면 시스템의 CPU는 롬(ROM)에 저장되어 있는 BIOS(Basic Input Output System) 프로그램을 시스템 램(RAM)으로 로딩시켜 BIOS의 POST(Power On Self Test) 루틴을 실행시키며, POST 루틴은 시스템의 CPU, 메모리, 그래픽 카드 및 하드 디스크와 같은 시스템 자원들이 정상적으로 동작하는지를 테스트하는 프로그램 코드로 이루어져 있다. POST 루틴을 수행하여 시스템의 각 장치들의 동작이 이상이 없을 경우에는 본격적으로 OS가 구동되어 시스템의 하드웨어 및 소프트웨어에 대한 설정 정보를 검색하여 시스템이 동작되도록 준비한다. 이와 같이, BIOS의 POST 루틴에 의한 시스템 자원의 검사 및 운영 체제 프로그램에 의한 시스템 설정을 통상 '부팅(booting)'이라고 칭한다.In general, when power is supplied to an embedded computer system having a PC structure, the CPU of the system loads a Basic Input Output System (BIOS) program stored in a ROM into the system RAM, and then powers on a BIOS (POST). Test routines are run, and the POST routines consist of program code that tests the system's resources, such as the system's CPU, memory, graphics card, and hard disk. If the operation of each device in the system is normal by performing the POST routine, the OS is started in earnest and the system is searched for the hardware and software configuration information to prepare the system for operation. As such, the inspection of system resources by the BIOS POST routine and the system setup by the operating system program are commonly referred to as 'booting'.

이 때, 운영 체제 프로그램은 시스템에 연결된 장치들을 구동하는 데 필요한 소프트웨어를 가지고 있으며, 시스템의 부팅시에 각 장치들의 설정 정보를 검색하여 이상이 없을 경우에 정상적으로 부팅이 이루어진다. 그러나, 시스템을 부팅할 때마다 매번 시스템의 각 장치들과 이 장치들을 구동하는 드라이버들을 검색해야하기 때문에 부팅시간이 길어진다는 문제가 있다.At this time, the operating system program has the software necessary to drive the devices connected to the system, and booting normally when there is no problem by searching the configuration information of each device at the time of booting the system. However, there is a problem that the booting time is lengthened because each time the system is booted, each device of the system and the drivers for driving the devices must be searched for.

이러한 문제점을 해결하기 위해 Window XP에서는 시스템 종료시의 메인 메모리의 내용을 하드 디스크의 일정 부분에 저장하여 두었다가, 다음 부팅시에 하드 디스크의 시스템 정보를 메인 메모리로 읽어 들여서 시스템의 종료 전의 상태대로 부팅시키는 하이버네이션(hybernation) 모드를 채택하여 부팅 시간을 줄였다. 이 때, 시스템 종료 직전의 시스템의 상태에 관한 데이터를 '하이버네이션 데이터'라 정의하고, 이 하이버네이션 데이터가 저장되는 하드 디스크의 영역을 '하이버네이션 영역'이라 정의한다. In order to solve this problem, Window XP saves the contents of main memory when the system shuts down to a certain part of the hard disk, and then reads the system information of the hard disk into main memory at the next boot and boots as it was before the system shuts down. Hibernation mode has been adopted to reduce boot time. At this time, the data on the state of the system immediately before the shutdown is defined as 'hibernation data', and the area of the hard disk where the hibernation data is stored is defined as a 'hybernation area'.

즉, Window XP 이전의 운영체제에서는 전원 관리와 관련하여, 모든 전원을 사용하는 정상 동작 상태(S0 모드), 모든 전원을 차단하는 종료 상태(S5 모드) 및 전원이 항상 연결되어 있다고 가정한 절전 모드(S3) 등의 3가지 전원 관리 모드를 채택하였는데, ACPI(Advanced Configuration & Power Interface) 스펙을 지원하는 Window XP가 등장하면서 상기한 3가지 전원 관리 모드 이외에 전원이 차단되더라도 시스템의 상태를 하드 디스크에 저장하여 재부팅시에 시스템 종료 이전의 상태를 그대로 활용할 수 있는 하이버네이션 모드(S4 모드)가 채택됨으로써 시스템 부팅 시간을 줄일 수 있게 되었다.In other words, operating systems prior to Windows XP, with regard to power management, assume a normal operating state that uses all power (S0 mode), a shutdown state that shuts down all power (S5 mode), and a sleep mode that assumes power is always connected ( Three power management modes such as S3) are adopted, and Windows XP, which supports the Advanced Configuration & Power Interface (ACPI) specification, is introduced, and the state of the system is stored on the hard disk even when the power is cut in addition to the above three power management modes. By adopting hibernation mode (S4 mode), the system boot time can be reduced.

예컨대, S5 모드(시스템 종료 상태)에서 S0 모드(정상 동작 상태)로 서로 상태가 변환되는 데에는 약 1분에서 2분의 부팅 시간이 소요되지만, S4 모드(하이버네이션 모드)에서 S0 모드(정상 동작 상태)로 서로 상태가 변환되는 데에는 약 20초 정도의 시간이 소요될 뿐이다. 더욱이, S3 모드(절전 모드)에서 S0 모드(정상 동작 상태)로 상태가 변환되는 데에는 약 10초 이내의 짧은 시간이 소요된다. 그러나, S3 모드(절전 모드)에서는 시스템의 사용 상태를 메인 메모리(RAM)에 저장해 놓기 때문에 메모리를 유지하기 위해서는 시스템에 계속 전원을 공급해야 하고, 이 때 전원이 차단된 경우에는 시스템이 S5 모드(시스템 종료 상태)로 바뀌면서 이전의 시스템의 작업 내용을 모두 잃어버리게 되기 때문에 시스템을 재부팅하기 위해서는 1분에서 2분 사이의 오랜 부팅 시간이 소요된다. For example, it takes about one to two minutes for the transition time from S5 mode (shut down state) to S0 mode (normal operating state), but in S4 mode (hybernation mode), S0 mode (normal operating state). It only takes about 20 seconds to transition between states. Moreover, it takes a short time of about 10 seconds to transition the state from the S3 mode (sleep mode) to the S0 mode (normal operation state). However, in S3 mode (sleep mode), the system's usage state is stored in main memory (RAM), so the system must be continuously powered to maintain the memory. It will take a long boot time from 1 minute to 2 minutes to reboot the system because the system will lose all the work of the previous system.

한편, S0 모드(정상 동작 상태)에서 S4 모드(하이버네이션 모드)로 변환될 때에는 시스템의 작업 내용(즉, 시스템의 상태)을 모두 하드 디스크의 특정 영역에 파일(예컨대, hiberfil.sys)의 형태로 저장해 놓고 전원을 차단한다. 이후에 S0 모드(정상 동작 상태)에서 시스템을 사용하기 위해서는 운영 체제에서 종료 상태를 기억하고 있다가 하이버네이션 파일을 메모리로 읽어 들여 사용한다.On the other hand, when switching from the S0 mode (normal operation state) to the S4 mode (hybernation mode), all the contents of the system (that is, the state of the system) are all stored in the form of a file (for example, hiberfil.sys) in a specific area of the hard disk. Save it and turn off the power. In order to use the system in S0 mode (normal operation state), the operating system remembers the shutdown state and reads the hibernation file into memory.

이와 같이, S4 모드는 S3 모드에 비해 절환 시간이 약간 길지만 전원 차단시에 시스템의 상태를 저장할 수 있다는 장점을 가지며, S5 모드에 비해 상당히 짧은 시간의 부탕 시간이 소요된다는 장점을 가진다. 따라서, 시스템 자체의 종료를 S4 모드로 정의하여 두면 시스템 재부팅에 소요되는 시간을 줄일 수 있다. 또한, 이러한 하이버네이션 모드는 특히 개인 휴대용 단말기(Personal Digital Assistant; PDA)와 같은 소형 단말기의 운영 체제의 일종인 Window CE 등으로 적용 기반을 확장해가고 있는 실정이다.As described above, the S4 mode has a slightly longer switching time than the S3 mode, but has an advantage of storing the state of the system when the power is cut off, and has a merit that a relatively short time is required compared to the S5 mode. Therefore, it is possible to reduce the time required to reboot the system by defining the shutdown of the system itself in S4 mode. In addition, the hibernation mode is expanding its application base to Window CE, which is a kind of operating system of a small terminal such as a personal digital assistant (PDA).

그러나, 종래의 S4 모드(하이버네이션 모드)는 정전 등과 같은 뜻하지 않은 전원 차단시에 미쳐 현재의 시스템 상태를 하드 디스크에 저장할 수 있는 시간적인 여유를 가질 수 없기 때문에 S5 모드(시스템 종료 상태)로 상태가 바뀌게 되어, 재부팅시에는 시스템의 비정상 종료 상태를 검출하여 자동적으로 복구 모드(recovery mode)로 진입하게 되고, 따라서, S5 모드(시스템 종료 상태)에서 S0 모드(정상 동작 상태)로 변환하는 데 1분에서 2분의 장시간의 부팅 시간이 소요된다는 문제점이 있었다.However, the conventional S4 mode (hybernation mode) goes into an S5 mode (shutdown state) because it can not have time to save the current system state to the hard disk due to an unexpected power failure such as a power failure. When rebooting, it detects abnormal shutdown state of the system and automatically enters recovery mode. Therefore, one minute to switch from S5 mode (shutdown state) to S0 mode (normal operation state). There was a problem that it takes a long boot time of 2 minutes.

따라서, 본 발명의 목적은 하이버네이션 모드가 지원되는 임베디드 컴퓨터 시스템에서 비정상적인 종료 이후의 시스템 재부팅 시간을 줄이는 것이다.Accordingly, an object of the present invention is to reduce the system reboot time after abnormal termination in an embedded computer system in which the hibernation mode is supported.

상기와 같은 목적을 달성하기 위해, 본 발명은 하이버네이션 모드가 지원되는 임베디드 컴퓨터 시스템에 있어서, 상기 시스템을 상기 하이버네이션 모드로 부팅하는 하이버네이션 모드 부팅 수단과, 상기 시스템의 부팅 직전의 시스템 종료가 비정상적으로 이루어진 경우에는 미리 설정된 기본 상태 데이터를 이용하여 상기 하이버네이션 모드 부팅을 수행하도록 상기 하이버네이션 모드 부팅 수단을 제어하는 부팅 제어 수단을 포함하는 임베디드 컴퓨터 시스템을 제공한다.In order to achieve the above object, the present invention provides an embedded computer system in which the hibernation mode is supported, wherein the hibernation mode booting means for booting the system into the hibernation mode, and the system shutdown immediately before booting the system are abnormally made. In the case of the present invention, an embedded computer system including boot control means for controlling the hibernation mode booting means to perform the hibernation mode booting using preset basic state data is provided.

또한, 상기 부팅 제어 수단은, 상기 기본 상태 데이터 및 상기 하이버네이션 모드 부팅에 이용될 하이버네이션 데이터를 저장하는 부팅 정보 저장수단과, 상기 시스템의 부팅 직전의 시스템 종료가 정상적으로 이루어졌는지를 검출하는 시스템 종료 상태 검출 수단을 더 포함하며, 상기 시스템 종료 상태 검출 수단이 상기 시스템의 비정상 종료를 검출한 경우에는 상기 기본 상태 데이터를 상기 하이버네이션 데이터로 복사하고 상기 시스템 종료 상태 검출 수단이 시스템의 정상 종료를 검출하도록 제어하는 것을 특징으로 한다.The boot control means may further include boot information storage means for storing the basic state data and hibernation data to be used for the hibernation mode booting, and a system shutdown state detection for detecting whether a system shutdown immediately before booting of the system is normally performed. Means for copying the basic state data into the hibernation data and controlling the system termination state detection means to detect a normal termination of the system when the system termination state detection means detects an abnormal termination of the system. It is characterized by.

이 때, 상기 부팅 정보 저장수단은 상기 시스템의 정상 종료 여부를 나타내는 시스템 종료 상태 정보를 더 포함하며, 상기 시스템 종료 상태 검출 수단은 상기 시스템 종료 상태 정보를 바탕으로 시스템의 정상 종료 여부를 판단하며, 더 나아가 상기 시스템 종료 상태 검출 수단이 상기 시스템의 비정상 종료를 검출한 경우에 상기 부팅 제어 수단은 상기 시스템 종료 상태 정보를 정상 종료 상태 정보로 수정하는 것을 특징으로 한다. At this time, the boot information storing means further includes system shutdown state information indicating whether the system is normally terminated, and the system shutdown state detecting unit determines whether the system is normally terminated based on the system shutdown state information. Furthermore, when the system termination state detecting means detects abnormal termination of the system, the boot control means modifies the system termination state information to normal termination state information.

한편, 상기 부팅 제어 수단은 상기 시스템을 초기화하고 상기 시스템의 전반적인 동작을 제어하는 운영 체제 프로그램을 구동하기 전에 상기 기본 상태 데이터를 상기 하이버네이션 데이터로 복사하는 것을 특징으로 한다.On the other hand, the boot control means is characterized in that to copy the basic state data to the hibernation data before the operating system program that initializes the system and controls the overall operation of the system.

또한, 상기와 같은 목적을 달성하기 위해 본 발명의 다른 국면은, 하이버네이션 모드가 지원되는 임베디드 컴퓨터 시스템에 있어서, 중앙 처리 장치와, 상기 중앙 처리 장치에 접속된 메모리와, 상기 시스템의 부팅 및 전반적인 동작을 제어하는 운영 체제 프로그램이 기록된 OS 영역과, 상기 시스템의 비정상 종료시의 부팅을 위해 미리 설정된 시스템 부팅 정보가 기록된 기본 상태 데이터 영역과, 상기 시스템의 종료 상태 정보가 기록된 시스템 종료 상태 정보 영역 및 상기 하이버네이션 모드를 실행하기 위한 하이버네이션 데이터가 기록된 하이버네이션 영역을 포함하는 비휘발성 저장 장치를 포함하되, 상기 중앙 제어 장치는, 상기 시스템 종료 상태 정보가 시스템의 비정상 종료를 나타내는 경우에, 상기 시스템의 부팅 단계에서 상기 시스템을 초기화하기 위한 운영 체제 프로그램을 상기 메모리로 출력하여 실행시키기 전에 상기 기본 상태 데이터 영역의 데이터를 상기 하이버네이션 영역으로 복사하며, 상기 운영 체제 프로그램은 상기 하이버네이션 데이터로 상기 시스템을 초기화하는 것을 특징으로 하는 임베디드 컴퓨터 시스템을 제공한다.In addition, another aspect of the present invention, in order to achieve the above object, in an embedded computer system in which the hibernation mode is supported, the central processing unit, the memory connected to the central processing unit, the booting and overall operation of the system An OS area in which an operating system program for controlling the system is recorded, a basic state data area in which preset system boot information is recorded for booting when the system abnormally terminates, and a system shutdown state information area in which shutdown state information of the system is recorded And a non-volatile storage device including a hibernation area in which hibernation data is recorded for executing the hibernation mode, wherein the central control unit is configured to perform an operation of the system when the system shutdown state information indicates abnormal termination of the system. Second the system in the boot phase And outputting data of the basic state data area to the hibernation area before outputting and executing an operating system program to the memory, wherein the operating system program initializes the system with the hibernation data. Provide a system.

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

도 1에는 본 발명의 바람직한 실시예에 따른 임베디드 컴퓨터 시스템의 구성예가 도시되어 있다.1 shows an example of the configuration of an embedded computer system according to a preferred embodiment of the present invention.

임베디드 컴퓨터 시스템(10)은 CPU(12)와, CPU(12)에 접속된 메모리(14)와, 비휘발성 저장 장치(18)와 CPU(12) 및 메모리(14) 사이의 데이터 입출력을 제어하는 I/O 제어 장치(16)와, 시스템의 운영 체제(OS) 프로그램을 비롯하여 각종 응용 프로그램들이 저장되어 있는 비휘발성 저장 장치(18)를 포함한다. 또한, 시스템 버스는 각 장치들간의 데이터 교환 경로를 구성한다.The embedded computer system 10 controls the CPU 12, the memory 14 connected to the CPU 12, and the data input / output between the nonvolatile storage device 18 and the CPU 12 and the memory 14. An I / O control device 16 and a nonvolatile storage device 18 in which various application programs are stored, including an operating system (OS) program of the system. The system bus also constitutes a data exchange path between the devices.

한편, CPU(12)는 중앙 처리 장치로서 시스템의 구성 요소들의 동작을 제어하며, 메모리(14)는 DRAM, SRAM 또는 RAMBUS 메모리 등을 포함하는 시스템 램(RAM) 및 운영 체제(OS)에서 시스템 입출력 장치나 주변 장치의 초기 상태를 검사하고 구동하기 위한 BIOS를 저장하고 있는 BIOS 롬(ROM)을 포함하며 그 밖에 캐시 메모리 및 CMOS 메모리 등을 포함할 수 있다. On the other hand, the CPU 12 controls the operation of the components of the system as a central processing unit, the memory 14 is input and output to the system RAM (RAM) and operating system (OS), including DRAM, SRAM or RAMBUS memory, etc. It includes a BIOS ROM (ROM) that stores a BIOS for inspecting and running the initial state of the device or peripheral device, and may also include cache memory and CMOS memory.

I/O 제어 장치(16)는 비휘발성 저장 장치(18)에 기록된 데이터를 CPU(12)에 의해 메모리(14)로 기록하거나 메모리(14)의 데이터를 CPU(12)에 의해 비휘발성 저장 장치(18)로 기록하는 등의 동작을 수행할 때 장치간의 입출력 제어를 담당한다. 따라서, 도면에는 도시되지 않았지만 I/O 제어 장치(16)는 비휘발성 저장 장치(18) 이외에도 네트워크 인터페이스 카드 및 그래픽 카드와 같은 주변 장치의 데이터 입출력도 CPU(12) 및 메모리(14)와 인터페이싱한다.The I / O control device 16 writes the data recorded in the nonvolatile storage device 18 to the memory 14 by the CPU 12 or stores the data in the memory 14 by the CPU 12 nonvolatilely. It is in charge of input / output control between devices when performing operations such as recording to the device 18. Thus, although not shown in the figure, the I / O control device 16 also interfaces with the CPU 12 and the memory 14 for data input / output of peripheral devices such as network interface cards and graphics cards in addition to the nonvolatile storage device 18. .

또한, 비휘발성 저장 장치(18)는 물리적으로 하드 디스크, 플로피 디스크, CD-ROM 및 DVD 등과 같은 저장 매체와 소형 휴대 단말기 등에서 주로 사용되는 플래시 메모리 등을 포함하는 것으로서, 전원이 끊겨도 정보가 소실되지 않는 저장 매체를 통칭하며, 본 발명에서는 특별히 어느 하나의 물리적 저장 매체로 한정되는 것은 아니다. In addition, the nonvolatile storage device 18 includes a storage medium such as a hard disk, a floppy disk, a CD-ROM, a DVD, and the like, and a flash memory mainly used in a small portable terminal. The information is lost even when the power is cut off. Storage media, which are not used, are not particularly limited to any one physical storage media in the present invention.

도 2에는 본 발명의 바람직한 실시예에 따른 비휘발성 저장 장치(18)의 구성예가 도시되어 있다. 도 2에 따르면, 비휘발성 저장 장치(18)는 운영 체제 프로그램이 기록된 OS 영역(181)과, 하이버네이션 모드를 실행하기 위한 하이버네이션 데이터가 기록되는 하이버네이션 영역(183)과, 시스템(10)이 공장에서 출하될 때의 초기 상태나 사용자가 임의로 지정한 시스템(10)의 상태가 기록되어 있는 초기 상태 데이터 영역(185) 및 시스템이 정상적으로 종료되었는지 여부에 관한 정보가 기록되는 시스템 종료 상태 정보 영역(187)으로 구성된다.2 shows a configuration example of a nonvolatile storage device 18 according to a preferred embodiment of the present invention. According to FIG. 2, the nonvolatile storage device 18 includes an OS area 181 in which an operating system program is recorded, a hibernation area 183 in which hibernation data for executing a hibernation mode is recorded, and the system 10 is factory-set. The initial state data area 185 in which the initial state when shipped from or the state of the system 10 arbitrarily designated by the user is recorded, and the system end state information area 187 in which information about whether the system is normally shut down is recorded. It consists of.

이하에서는, 본 발명의 바람직한 실시예에 따른 임베디드 컴퓨터 시스템(10)의 동작을 설명한다. Hereinafter, the operation of the embedded computer system 10 according to a preferred embodiment of the present invention.

시스템(10)에 전원이 공급되면 메모리(14)의 BIOS에 저장되어 있던 CPU 명령(예컨대, 부팅 프로그램)이 실행되고 CPU(12)가 보다 빠르게 동작되도록 BIOS의 내용이 메모리(14)의 시스템 램으로 전달된다. 이어서, BIOS에 포함된 POST 프로그램이 실행되어 시스템의 각 장치들이 정상적인 동작을 수행하는지를 검사하며, POST 프로그램에 의해 시스템이 정상적인 동작 상태에 있다고 판단되면, CPU(12)는 OS 영역의 운영 체제 프로그램을 메모리(14)의 시스템 램으로 탑재하여 운영 체제 프로그램을 실행시킨다.When power is supplied to the system 10, the CPU instructions (e.g., boot programs) stored in the BIOS of the memory 14 are executed, and the contents of the BIOS are stored in the system RAM of the memory 14 so that the CPU 12 operates faster. Is passed to. Subsequently, the POST program included in the BIOS is executed to check whether each device of the system is performing normal operation. If the POST program determines that the system is in the normal operating state, the CPU 12 executes the operating system program of the OS area. It is mounted in the system RAM of the memory 14 to execute an operating system program.

이어서, 운영 체제 프로그램은 비휘발성 저장 장치(187)의 하이버네이션 영역(183)에 기록되어 있는 하이버네이션 데이터로 시스템을 부팅하며, 이를 위해 하이버네이션 영역에는 시스템(10)의 종료시에 메모리(14)의 시스템 램에 저장되어 있던 정보를 하이버네이션 데이터로서 하이버네이션 영역에 기록하여 둔다. 즉, 시스템(10)은 S4 모드(하이버네이션 모드)가 디폴트 부팅 모드로 설정되어 있다. The operating system program then boots the system with the hibernation data recorded in the hibernation area 183 of the non-volatile storage device 187, for which the system RAM of the memory 14 at the end of the system 10 is booted. The information stored in the hibernation area is recorded as hibernation data. That is, the system 10 has the S4 mode (hybernation mode) set to the default boot mode.

한편, 운영 체제 프로그램은 부팅 전에 시스템 종료 상태 정보 영역(187)을 참조하여 시스템(10)이 정상적으로 종료되었음을 확인한다. 또한, 시스템(10)이 정전과 같은 갑작스런 전원 차단에 의해 비정상적으로 종료된 경우에 시스템(10)을 재부팅하는 과정에서 운영 체제 프로그램을 실행하기 전, 예컨대 BIOS의 실행시에 기본 상태 데이터 영역(185)에 기록되어 있는 기본 상태 데이터를 하이버네이션 영역에 복사하여 두고, 동시에 시스템(10)이 비정상적으로 종료되었다는 정보가 기록되어 있는 시스템 종료 상태 정보 영역(187)을 시스템(10)이 정상적으로 종료되었음을 나타내는 정보로 수정하여 기록한다. Meanwhile, the operating system program checks that the system 10 is normally terminated by referring to the shutdown state information area 187 before booting. In addition, when the system 10 is abnormally shut down due to a sudden power failure such as a power failure, the basic state data area 185 before executing an operating system program in the process of rebooting the system 10, for example, when the BIOS is executed. Information indicating that the system 10 was normally terminated by copying the basic state data recorded in the above into the hibernation area and simultaneously recording the information indicating that the system 10 was abnormally terminated. Record as modified.

이 때, 기본 상태 데이터는 시스템(10)의 부팅시에, 검색해서 구동준비를 시켜야할 주변 장치의 목록 및 그 주변 장치들이 설정되어야 할 상태를 포함하는 부팅 데이터로서 시스템(10)의 공장 출하시에 설정된 기본값 또는 사용자가 임의로 결정한 사용자값이 될 수 있다. 따라서, 운영 체제 프로그램은 시스템(10)이 비정상적으로 종료된 후의 부팅시에는 기본 상태 데이터를 하이버네이션 데이터로 인식하여 시스템(10)을 부팅함으로써 비정상적인 시스템 종료 후에도 시스템(10)을 복구 모드에서 처음부터 부팅할 필요가 없기 때문에 부팅 시간을 단축할 수 있다.At this time, the basic state data is boot data including a list of peripheral devices to be searched for and ready for driving and a state in which the peripheral devices should be set when the system 10 is booted. It can be a default value set in or a user value arbitrarily determined by the user. Therefore, the operating system program recognizes the basic state data as the hibernation data and boots the system 10 when booting after the system 10 is abnormally shut down, thereby booting the system 10 from the beginning in the recovery mode even after the abnormal system shutdown. You don't need to do that, so you can shorten your boot time.

도 3에는 본 발명의 바람직한 실시예의 임베디드 컴퓨터 시스템(10)을 기능적인 구성요소로 구성한 임베디드 컴퓨터 시스템(30)의 구성도가 도시되어 있다. 따라서, 임베디드 컴퓨터 시스템(30)의 각 구성요소는 임베디드 컴퓨터 시스템(10)의 CPU(12), 메모리(14), I/O 제어장치(16) 및 비휘발성 저장 장치(18)와 시스템 버스에 의해 구현된다.3 is a block diagram of an embedded computer system 30 in which the embedded computer system 10 of the preferred embodiment of the present invention is composed of functional components. Accordingly, each component of the embedded computer system 30 is placed on the CPU 12, the memory 14, the I / O controller 16, the nonvolatile storage device 18, and the system bus of the embedded computer system 10. Is implemented.

임베디드 컴퓨터 시스템(30)은 시스템 정보 저장부(32), 시스템 종료 상태 검출부(34), 제어부(36) 및 시스템 부팅부(38)로 구성된다. 시스템 정보 저장부(32)는 시스템 종료 상태 정보, 기본 상태 정보, 하이버네이션 데이터 및 운영 체제 프로그램 등 시스템의 동작에 필요한 정보들을 저장하고 있다.The embedded computer system 30 includes a system information storage unit 32, a system termination state detection unit 34, a control unit 36, and a system booting unit 38. The system information storage unit 32 stores information necessary for the operation of the system, such as system termination state information, basic state information, hibernation data, and an operating system program.

시스템 종료 상태 검출부(34)는 시스템(30)이 정상적인 종료 동작에 의해 종료되었는지 아니면 정전과 같은 갑작스런 전원 차단에 의해 비정상적으로 종료되었는지를 검출하며, 제어부(36)는 시스템 종료 상태 검출부(34)의 검출을 바탕으로 시스템 정보 저장부(32)의 시스템 종료 상태 정보를 설정한다. 또한, 제어부(36)는 외부로부터 전원 입력이 있는 경우에 시스템 정보 저장부(32)의 시스템 종료 상태 정보를 시스템 부팅부(38)로 전달한다.The system termination state detection unit 34 detects whether the system 30 is terminated by a normal termination operation or abnormally terminated by a sudden power cut such as a power failure, and the control unit 36 determines that the system termination state detection unit 34 Based on the detection, the system termination state information of the system information storage unit 32 is set. In addition, the controller 36 transmits the system termination state information of the system information storage unit 32 to the system booting unit 38 when there is a power input from the outside.

시스템 부팅부(38)는 POST 실행부와 운영 체제 프로그램 실행부로 구성되며, POST 실행부는 제어부(36)로부터 전달받은 시스템 종료 상태 정보에 따라 만약 시스템 종료 상태 정보가 비정상적인 종료 상태를 나타내면 시스템 정보 저장부(32)의 하이버네이션 데이터를 기본 상태 정보로 수정하고 동시에 시스템 종료 상태 정보를 정상 종료 상태로 수정한다. 운영 체제 프로그램 실행부는 수정된 시스템 종료 상태 정보에 따라 하이버네이션 데이터로 시스템(30)을 부팅한다. 따라서, 비정상적인 종료후의 재부팅시에도 시스템(30)과 관련된 장치들의 설정 내용을 다시 검색하는 데 따른 시간을 생략할 수 있어서 그만큼 부팅 시간을 단축할 수 있다.The system booting unit 38 includes a POST executing unit and an operating system program executing unit, and the POST executing unit is configured to store the system information storage unit if the shutdown state information indicates an abnormal termination state according to the shutdown state information received from the control unit 36. Modify the hibernation data of (32) to the basic state information and at the same time modify the shutdown state information to the normal end state. The operating system program execution unit boots the system 30 with the hibernation data according to the modified system shutdown state information. Therefore, even when rebooting after abnormal termination, a time required for re-searching the setting contents of the devices related to the system 30 can be omitted, thereby reducing the booting time.

한편, 시스템 종료 상태 검출부(34)는 운영 체제에 의한 시스템 구성요소들의 설정 상태 검색 과정에서 비정상 종료 상태를 검출할 수도 있지만, 시스템 정보 저장부에 기록되어 있는 시스템 종료 상태 정보를 참조하여 운영 체제의 구동 전, 예컨대 BIOS 단계에서 시스템의 종료 상태를 검출하여 운영 체제가 구동되기 전에 하이버네이션 데이터를 기본 상태 데이터로 수정하는 것이 바람직하다.Meanwhile, the system shutdown state detector 34 may detect an abnormal shutdown state in the process of retrieving the setting state of the system components by the operating system. However, the system shutdown state detection unit 34 may refer to the system shutdown state information recorded in the system information storage unit. It is desirable to detect the shutdown state of the system prior to startup, for example at the BIOS stage, and modify the hibernation data to default state data before the operating system is started.

도 4에는 본 발명의 바람직한 실시예에 따른 임베디드 컴퓨터 시스템의 부팅 방법이 도시되어 있다. 도 4에 따르면, 시스템 부팅을 위해 사용자가 전원을 입력하면(S401), 시스템은 부트 코드를 시작하여(S403) BIOS를 실행시키며 BIOS는 CPU 및 주변 장치의 설정 및 초기화를 수행한다(S405, S407). 이 때, 단계(S409)에서 BIOS는 시스템이 현재의 부팅 이전에 시스템이 정상적으로 종료되었었는지 여부를 검출하는데, 정상 종료되었음이 검출되면 단계(S411)에서 운영 체제 프로그램을 메모리로 읽어들여 단계(S411)에서 정상적으로 하이버네이션 모드 부팅을 수행하며, 비정상 종료되었음이 검출되면 운영 체제 프로그램을 메모리로 읽어들이기 전에 단계(S413)에서 기본 상태 데이터를 하이버네이션 데이터로 복사하고 종료 상태 정보를 정상 상태로 수정하며 단계(S411)로 진행하여 운영 체제 프로그램을 구동시켜 정상적인 하이버네이션 모드 부팅을 수행함으로써 부팅 과정을 종료한다.4 shows a booting method of an embedded computer system according to a preferred embodiment of the present invention. According to FIG. 4, when a user inputs power for system booting (S401), the system starts boot code (S403) to execute the BIOS, and the BIOS performs setting and initialization of the CPU and peripheral devices (S405 and S407). ). At this time, in step S409, the BIOS detects whether the system was normally shut down before the current booting. If it is detected that the system is normally shut down, the BIOS reads the operating system program into the memory in step S411. In the hibernation mode booting process, if abnormal termination is detected, the basic state data is copied to the hibernation data and the termination state information is corrected in step S413 before the operating system program is read into the memory. In step S411), the operating system program is driven to terminate the boot process by performing a normal hibernation mode boot.

본 발명에 따르면, 임베디드 컴퓨터 시스템이 비정상적으로 종료된 경우라도 미리 설정되어 있는 기본 상태 데이터를 이용하여 하이버네이션 부팅 모드를 수행함으로써 시스템 비정상 종료후의 재부팅에 소요되는 시간을 단축할 수 있는 효과가 있다. According to the present invention, even when the embedded computer system is abnormally terminated, the hibernation booting mode is performed using the preset basic state data, thereby reducing the time required for rebooting after the abnormal termination of the system.

또한, 본 발명은 PC와 같이 사용자가 수시로 프로그램을 설치하고 수정할 수 있는 임베디드 컴퓨터 시스템에도 당연히 적용할 수 있겠지만 그보다는 예컨대 개인 휴대용 단말기(PDA)와 같이 초기에 설정된 기능만을 주로 사용하는 임베디드 컴퓨터 시스템에 더 효과적이다.In addition, the present invention may naturally be applied to an embedded computer system in which a user may install and modify a program from time to time, such as a PC, but rather to an embedded computer system mainly using only initially set functions such as a personal digital assistant (PDA). More effective.

도 1은 본 발명의 실시예에 따른 임베디드 컴퓨터 시스템의 구성도이다.1 is a block diagram of an embedded computer system according to an exemplary embodiment of the present invention.

도 2는 도 1의 비휘발성 저장장치의 내부 구성을 도시한 블록도이다.FIG. 2 is a block diagram illustrating an internal configuration of the nonvolatile storage device of FIG. 1.

도 3은 도 1의 구성을 기능적 블록으로 표현한 임베디드 컴퓨터 시스템의 구성도이다.3 is a block diagram of an embedded computer system in which the configuration of FIG. 1 is expressed as a functional block.

도 4는 본 발명의 실시에에 따른 시스템의 비정상 종료시의 부팅 방법의 흐름도이다.4 is a flowchart of a booting method at abnormal termination of a system according to an embodiment of the present invention.

Claims (6)

하이버네이션 모드가 지원되는 임베디드 컴퓨터 시스템에 있어서,In an embedded computer system that supports hibernation mode, 상기 시스템을 상기 하이버네이션 모드로 부팅하는 하이버네이션 모드 부팅 수단과,Hibernation mode booting means for booting the system into the hibernation mode; 상기 시스템의 부팅 직전의 시스템 종료가 비정상적으로 이루어진 경우에는 미리 설정된 기본 상태 데이터를 이용하여 상기 하이버네이션 모드 부팅을 수행하도록 상기 하이버네이션 모드 부팅 수단을 제어하는 부팅 제어 수단을 포함하는 임베디드 컴퓨터 시스템.And a boot control means for controlling the hibernation mode booting means to perform the hibernation mode booting using a preset basic state data when the system shutdown is abnormally performed immediately before booting of the system. 제 1항에 있어서, 상기 부팅 제어 수단은, 상기 기본 상태 데이터 및 상기 하이버네이션 모드 부팅에 이용될 하이버네이션 데이터를 저장하는 부팅 정보 저장수단과, 상기 시스템의 부팅 직전의 시스템 종료가 정상적으로 이루어졌는지를 검출하는 시스템 종료 상태 검출 수단을 더 포함하며, 상기 시스템 종료 상태 검출 수단이 상기 시스템의 비정상 종료를 검출한 경우에는 상기 기본 상태 데이터를 상기 하이버네이션 데이터로 복사하고 상기 시스템 종료 상태 검출 수단이 시스템의 정상 종료를 검출하도록 제어하는 것을 특징으로 하는 임베디드 컴퓨터 시스템.2. The system of claim 1, wherein the boot control means comprises: boot information storage means for storing the basic state data and hibernation data to be used for the hibernation mode boot, and detecting whether a system shutdown immediately before booting of the system is normally performed. And a system termination state detecting means, wherein when the system termination state detecting means detects abnormal termination of the system, the basic state data is copied into the hibernation data, and the system termination state detecting means detects normal termination of the system. And control to detect. 제 2항에 있어서, 상기 부팅 정보 저장수단은 상기 시스템의 정상 종료 여부를 나타내는 시스템 종료 상태 정보를 더 포함하며, 상기 시스템 종료 상태 검출 수단은 상기 시스템 종료 상태 정보를 바탕으로 시스템의 정상 종료 여부를 판단하는 것을 특징으로 하는 임베디드 컴퓨터 시스템.The system as claimed in claim 2, wherein the boot information storage unit further includes system termination state information indicating whether the system is normally terminated, and the system termination state detecting unit determines whether the system is normally terminated based on the system termination state information. Embedded computer system, characterized in that judging. 제 3항에 있어서, 상기 시스템 종료 상태 검출 수단이 상기 시스템의 비정상 종료를 검출한 경우에 상기 부팅 제어 수단은 상기 시스템 종료 상태 정보를 정상 종료 상태 정보로 수정하는 것을 특징으로 하는 임베디드 컴퓨터 시스템.4. The embedded computer system according to claim 3, wherein the boot control means modifies the system termination state information to normal termination state information when the system termination state detecting means detects abnormal termination of the system. 제 2항 내지 제 4항 중 어느 한 항에 있어서, 상기 부팅 제어 수단은 상기 시스템을 초기화하고 상기 시스템의 전반적인 동작을 제어하는 운영 체제 프로그램을 구동하기 전에 상기 기본 상태 데이터를 상기 하이버네이션 데이터로 복사하는 것을 특징으로 하는 임베디드 컴퓨터 시스템. The system of claim 2, wherein the boot control means copies the basic state data to the hibernation data prior to running an operating system program that initializes the system and controls the overall operation of the system. Embedded computer system, characterized in that. 하이버네이션 모드가 지원되는 임베디드 컴퓨터 시스템에 있어서,In an embedded computer system that supports hibernation mode, 중앙 처리 장치와,With central processing unit, 상기 중앙 처리 장치에 접속된 메모리와,A memory connected to the central processing unit; 상기 시스템의 부팅 및 전반적인 동작을 제어하는 운영 체제 프로그램이 기록된 OS 영역과, 상기 시스템의 비정상 종료시의 부팅을 위해 미리 설정된 시스템 부팅 정보가 기록된 기본 상태 데이터 영역과, 상기 시스템의 종료 상태 정보가 기록된 시스템 종료 상태 정보 영역 및 상기 하이버네이션 모드를 실행하기 위한 하이버네이션 데이터가 기록된 하이버네이션 영역을 포함하는 비휘발성 저장 장치를 포함하되,An OS area in which an operating system program controlling booting and overall operation of the system is recorded, a basic state data area in which preset system boot information is recorded for booting when the system abnormally terminates, and shutdown state information of the system A nonvolatile storage device including a recorded shutdown state information area and a hibernation area in which hibernation data for executing the hibernation mode is recorded; 상기 중앙 제어 장치는, 상기 시스템 종료 상태 정보가 시스템의 비정상 종료를 나타내는 경우에, 상기 시스템의 부팅 단계에서 상기 시스템을 초기화하기 위한 운영 체제 프로그램을 상기 메모리로 출력하여 실행시키기 전에 상기 기본 상태 데이터 영역의 데이터를 상기 하이버네이션 영역으로 복사하며, 상기 운영 체제 프로그램은 상기 하이버네이션 데이터로 상기 시스템을 초기화하는 것을 특징으로 하는 임베디드 컴퓨터 시스템.When the system shutdown state information indicates an abnormal termination of the system, the central control apparatus outputs an operating system program for initializing the system to the memory and executes the basic state data area before executing the system. And copy the data of the data into the hibernation area, and the operating system program initializes the system with the hibernation data.
KR1020030100405A 2003-12-30 2003-12-30 Embedded computer system for reducing the time for rebooting the unusually logged off system KR101022468B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030100405A KR101022468B1 (en) 2003-12-30 2003-12-30 Embedded computer system for reducing the time for rebooting the unusually logged off system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030100405A KR101022468B1 (en) 2003-12-30 2003-12-30 Embedded computer system for reducing the time for rebooting the unusually logged off system

Publications (2)

Publication Number Publication Date
KR20050070635A true KR20050070635A (en) 2005-07-07
KR101022468B1 KR101022468B1 (en) 2011-03-15

Family

ID=37260692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030100405A KR101022468B1 (en) 2003-12-30 2003-12-30 Embedded computer system for reducing the time for rebooting the unusually logged off system

Country Status (1)

Country Link
KR (1) KR101022468B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010129159A3 (en) * 2009-05-05 2011-02-17 Microsoft Corporation Capturing and loading operating system states
KR101236981B1 (en) * 2012-09-14 2013-02-26 (주)나래소프트 Hibernation booting system using a hidden area
CN113031991A (en) * 2021-04-13 2021-06-25 南京大学 Remote self-adaptive upgrading method and device for embedded system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469182B1 (en) * 2012-12-14 2014-12-10 주식회사 텔레칩스 An apparatus and method for booting with images

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0172001B1 (en) * 1995-12-05 1999-03-30 윤종용 Re-programming apparatus of bios memory
KR100248757B1 (en) * 1997-12-20 2000-03-15 윤종용 Method of damaged rom bios recovery function
KR20020007090A (en) * 2000-07-15 2002-01-26 윤종용 Method and system for booting recovery a computer
KR100987628B1 (en) * 2004-02-07 2010-10-13 엘지전자 주식회사 Method for updating firmware in embedded controller and medium recorded update firmware

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010129159A3 (en) * 2009-05-05 2011-02-17 Microsoft Corporation Capturing and loading operating system states
KR20120027219A (en) * 2009-05-05 2012-03-21 마이크로소프트 코포레이션 Capturing and loading operating system states
US8209501B2 (en) 2009-05-05 2012-06-26 Microsoft Corporation Capturing and loading operating system states
KR101236981B1 (en) * 2012-09-14 2013-02-26 (주)나래소프트 Hibernation booting system using a hidden area
CN113031991A (en) * 2021-04-13 2021-06-25 南京大学 Remote self-adaptive upgrading method and device for embedded system
CN113031991B (en) * 2021-04-13 2023-11-17 南京大学 Remote self-adaptive upgrading method and device for embedded system

Also Published As

Publication number Publication date
KR101022468B1 (en) 2011-03-15

Similar Documents

Publication Publication Date Title
US7971081B2 (en) System and method for fast platform hibernate and resume
KR100430468B1 (en) Initializing and restarting operating systems
US7945772B2 (en) Apparatus, method and program product for initiating computer system operation
KR100319292B1 (en) Computer system and method for quickly booting
USRE40092E1 (en) Method for quickly booting a computer system
US20060242398A1 (en) Booting from non-volatile memory
US8146093B2 (en) Computer multiple operation system switching method
US9098305B2 (en) Computer system and bootup and shutdown method thereof
US7962734B2 (en) Method of restarting a computer platform
US20100100719A1 (en) Method for reducing booting time and computer using the same
BRPI0616858B1 (en) computer readable media, method implemented on a computer system and system on a fast start and run computing device from an off state
CN101356501A (en) Method and apparatus for fast boot of an operating system
US20070130480A1 (en) System and method for enabling fast power-on times when using a large operating system to control an instrumentation system
US6895517B2 (en) Method of synchronizing operation frequencies of CPU and system RAM in power management process
US20120042156A1 (en) Method of multiple boot manager
TWI526817B (en) Computer system, adaptable hibernation control module and control method thereof
KR101022468B1 (en) Embedded computer system for reducing the time for rebooting the unusually logged off system
JP2005234872A (en) Computer, computer start method, bios program and information storage medium
US20060168440A1 (en) OS selection methods and computer systems utilizing the same
WO2008048581A1 (en) A processing device operation initialization system
US20150317181A1 (en) Operating system switching method
WO2012126345A1 (en) Computer startup method, startup apparatus, state transition method, and state transition apparatus
JPH11282685A (en) Information processor
JP2546509B2 (en) Interface initialization device
JP2004185316A (en) Storage device assisting execution of computer program in half-activated or activated state

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee