KR20130040636A - Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same - Google Patents

Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same Download PDF

Info

Publication number
KR20130040636A
KR20130040636A KR1020110105528A KR20110105528A KR20130040636A KR 20130040636 A KR20130040636 A KR 20130040636A KR 1020110105528 A KR1020110105528 A KR 1020110105528A KR 20110105528 A KR20110105528 A KR 20110105528A KR 20130040636 A KR20130040636 A KR 20130040636A
Authority
KR
South Korea
Prior art keywords
boot
forming apparatus
image forming
image
boot image
Prior art date
Application number
KR1020110105528A
Other languages
Korean (ko)
Other versions
KR101850275B1 (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 KR1020110105528A priority Critical patent/KR101850275B1/en
Priority to PCT/KR2012/007439 priority patent/WO2013055044A1/en
Priority to US13/650,752 priority patent/US10394570B2/en
Publication of KR20130040636A publication Critical patent/KR20130040636A/en
Application granted granted Critical
Publication of KR101850275B1 publication Critical patent/KR101850275B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer

Abstract

PURPOSE: A method for generating a boot image for quick booting, an image forming device performing the method, a method for performing quick booting by using the boot image, and an image forming device performing the method are provided to improve a booting speed of an electronic device without a hardware change by performing quick booting based on the boot image. CONSTITUTION: A control unit(110) initialize an OS(Operating System) and an application program of an image forming device after booting the image forming device, terminates a process not used for the execution of the program and the OS among processes executed in a initialization completion state, and stops the processes executed in the image forming device. A boot image generating unit(120) generates a boot image based on information about a system state stored in a volatile memory while the processes are being stopped. A swapping unit(130) stores the boot image in a nonvolatile memory. [Reference numerals] (10) Processor; (110) Control unit; (120) Boot image generating unit; (130) Swapping unit; (140) Booting unit; (150) Loading unit;

Description

빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치{Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same}A method for generating a boot image for fast booting, an image forming apparatus for performing the same, a method for performing a quick boot using a boot image, and an image forming apparatus for performing the same {Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same}

빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치와, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치에 관한다.A method of generating a boot image for fast booting, an image forming apparatus for performing the same, a method of performing a fast boot using the boot image, and an image forming apparatus for performing the same.

최근 전자제품의 많은 기능들이 하드웨어에서 소프트웨어로 변동하고 있다. 이는 하드웨어의 기술 발전으로 인하여 소프트웨어에 대한 제약이 줄어든 것이다. 하지만, 소프트웨어가 다양한 기능을 제공함으로써 소프트웨어의 용량이 커지고 처리가 복잡해 지고 있다. 그리고, 다양한 미들웨어(middleware)를 사용으로 소프트웨어의 개발을 효율적으로 하고 있으나, 다양한 소프트웨어들로 인하여 전자제품의 시스템 부팅 시간 또는 속도는 점점 느려지고 있다. 비록 시스템의 부팅 시간은 시스템의 종류마다 상이하지만, 퍼스널 컴퓨터나 서버 시스템은 장치 드라이버 및 시스템 초기화에 소요되는 부팅 시간이 상당히 길기 때문에, 에너지 낭비 또는 시간 낭비가 크다. 또한, 시스템 부팅 속도는 비단 컴퓨터나 서버 시스템뿐만 아니라, 점차 다양한 기능을 포함하는 디지털 텔레비전, 이동통신 단말기, 내비게이션 등의 전자제품에서도 상당한 문제가 되고 있다. 이와 같은, 최근 전자제품들의 부팅 시간은 짧게는 수십 초에서 길게는 수 분에 이르고 있는 현실이다.Recently, many functions of electronic products are changing from hardware to software. This is because software limitations have been reduced due to technological advances in hardware. However, as the software provides various functions, the software capacity is increased and the processing is complicated. In addition, although various middlewares are used to efficiently develop software, system booting times or speeds of electronic products are gradually slowed down due to various softwares. Although the booting time of the system varies from type to type of system, the personal computer or server system has a large amount of boot time for device drivers and system initialization, and thus wastes energy or time. In addition, the system boot speed is not only a computer or server system, but also becomes a significant problem in electronic products such as digital television, mobile communication terminals, navigation, etc., which includes various functions. As such, the booting time of electronic products has recently been shortened from several tens of seconds to several minutes.

빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치와, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치를 제공하는데 있다. 또한, 이 방법들 각각을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.A method of generating a boot image for fast booting, an image forming apparatus for performing the same, a method of performing a fast boot using a boot image, and an image forming apparatus for performing the same are provided. Further, the present invention provides a computer readable recording medium having recorded thereon a program for executing each of these methods on a computer. The technical problem to be solved by this embodiment is not limited to the above-mentioned technical problems, and other technical problems can be deduced from the following embodiments.

일 측면에 따르면, 화상형성장치의 빠른 부팅을 위한 부트 이미지를 생성하는 방법은 상기 화상형성장치의 부팅이 시작된 후 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램을 초기화하는 단계; 상기 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료하는 단계; 상기 화상형성장치에서 실행 중인 프로세스들을 정지(suspend)하는 단계; 및 상기 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 생성하는 단계를 포함한다.According to an aspect, a method of generating a boot image for fast booting of an image forming apparatus may include initializing an operating system installed in the image forming apparatus and at least one application program after booting of the image forming apparatus starts. step; Terminating a process not used to execute the operating system and an application program among the processes executed in the initialization state; Suspending processes running in the image forming apparatus; And generating a boot image including information about a system state while the running processes are stopped.

다른 일 측면에 따르면, 부트 이미지를 이용한 화상형성장치의 빠른 부팅 방법은 상기 화상형성장치의 부팅을 시작하는 단계; 상기 부팅이 시작되기 전 미리 저장된, 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스가 종료된 후 상기 화상형성장치에서 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 로드하는 단계; 및 상기 로드된 부트 이미지에 기초하여 상기 화상형성장치를 상기 부트 이미지에 포함된 시스템 상태로 복원하는 단계를 포함한다.According to another aspect, a quick booting method of an image forming apparatus using a boot image may include starting booting the image forming apparatus; An operating system installed in the image forming apparatus and a process that is executed in a state where initialization of at least one application program is completed before the booting starts, are not used to execute the operating system and the application program. Loading a boot image including information on a system state after processes running in the image forming apparatus are stopped after the process ends; And restoring the image forming apparatus to a system state included in the boot image based on the loaded boot image.

또 다른 일 측면에 따르면, 상기 부트 이미지 생성 방법 및 빠른 부팅 방법 각각을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체들을 제공한다.According to yet another aspect, there is provided a computer-readable recording medium having recorded thereon a program for executing each of the boot image creation method and the quick boot method on a computer.

또 다른 일 측면에 따르면, 빠른 부팅을 위한 부트 이미지를 생성하는 화상형성장치는 상기 화상형성장치의 부팅이 시작된 후 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램을 초기화하고, 상기 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료하고, 상기 화상형성장치에서 실행 중인 프로세스들을 정지(suspend)하는 제어부; 상기 실행 중인 프로세스들이 정지된 동안 휘발성 메모리에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성하는 부트 이미지 생성부; 및 상기 생성된 부트 이미지를 비휘발성 메모리에 저장하는 스와핑부를 포함한다.According to another aspect, the image forming apparatus generating a boot image for fast booting initializes an operating system and at least one application program installed in the image forming apparatus after the booting of the image forming apparatus starts. A control unit for terminating a process not used to execute the operating system and an application program among the processes executed in the initialization state and suspending the processes running in the image forming apparatus; A boot image generation unit generating a boot image based on information on a system state stored in a volatile memory while the running processes are stopped; And a swapping unit storing the generated boot image in a nonvolatile memory.

또 다른 일 측면에 따르면, 부트 이미지를 이용한 빠른 부팅을 수행하는 화상형성장치는 상기 화상형성장치의 부팅을 시작하는 부팅부; 및 상기 부팅이 시작되기 전 비휘발성 메모리에 미리 저장된, 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스가 종료된 후 상기 화상형성장치에서 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 휘발성 메모리로 로드하는 로딩부를 포함하고, 상기 부팅부는 상기 로드된 부트 이미지에 기초하여 상기 화상형성장치를 상기 부트 이미지에 포함된 시스템 상태로 복원하여 부팅한다.According to another aspect, an image forming apparatus for performing a quick booting using a boot image may include a booting unit which starts booting of the image forming apparatus; And an operating system installed in the image forming apparatus and processes executed in a state where initialization of at least one application program is pre-stored in a nonvolatile memory before the booting starts. And a loading unit which loads a boot image including information on a system state while processes running in the image forming apparatus are stopped after the process not used for execution is stopped, into the volatile memory, wherein the boot unit is loaded The image forming apparatus is restored to a system state included in the boot image and booted based on a boot image.

상기된 바에 따르면, 부트 이미지를 이용하여 빠른 부팅(fast booting)을 수행함으로써 전자제품의 하드웨어적인 변경 없이 소프트웨어적으로 전자제품의 부팅 속도를 개선할 수 있다. 따라서, 사용자는 부팅 시간의 감소 또는 부팅 속도의 증대로 인해 보다 효율적으로 전자제품을 사용할 수 있다.As described above, by performing a fast booting using a boot image, it is possible to improve the booting speed of the electronic product in software without changing hardware of the electronic product. Therefore, the user can use the electronics more efficiently due to the decrease in boot time or increase in boot speed.

도 1a는 본 발명의 일 실시예에 따른 디바이스의 구성도이다.
도 1b는 본 발명의 일 실시예에 따른 화상형성장치의 구성도이다.
도 1c는 본 발명의 일 실시예에 따른 프로세서의 상세 구성도이다.
도 2는 본 발명의 일 실시예에 따른 화상형성장치의 전체 부팅 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 부트 이미지를 생성하는 프로세서를 포함하는 화상형성장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 화상형성장치의 빠른 부팅을 위한 부트 이미지를 생성하는 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 화상형성장치의 빠른 부팅을 위한 부트 이미지를 생성하는 방법의 상세 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 파일시스템의 속성이 변경되는 과정을 도시한 상세 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리에 실제로 저장된 파일시스템의 정보가 다를 수 있는 경우를 설명하는 도면이다.
도 8은 본 발명의 일 실시예에 따라 응용 프로그램을 초기화하는 과정을 도시한 상세 흐름도이다.
도 9는 본 발명의 다른 일 실시예에 따라 응용 프로그램을 초기화하는 과정을 도시한 상세 흐름도이다.
도 10은 본 발명의 일 실시예에 따라 사용자 인터페이스부에 표시된 부팅 모드를 선택하는 화면을 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따라 부트 이미지 생성 모드에 따라 부트 이미지가 생성될 때 사용자 인터페이스부에 표시되는 화면을 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 빠른 부팅을 수행하는 프로세서를 포함하는 화상형성장치의 구성도이다.
도 13은 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 화상형성장치의 빠른 부팅 수행하는 방법의 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 화상형성장치의 빠른 부팅 수행하는 방법의 상세 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 프로세서를 포함하는 화상형성장치의 구성도이다.
도 16은 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 흐름도이다.
도 17a은 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 상세 흐름도이다.
도 17b는 본 발명의 다른 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 상세 흐름도이다.
도 18은 본 발명의 일 실시예에 따른 부트 이미지의 에러를 복구하는 프로세서를 포함하는 화상형성장치의 구성도이다.
도 19는 본 발명의 일 실시예에 따른 화상형성장치의 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법의 흐름도이다.
도 20은 본 발명의 일 실시예에 따른 화상형성장치의 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법의 상세 흐름도이다.
도 21은 본 발명의 일 실시예에 따른 사용자 인터페이스부에 표시된 복구 모드를 선택하는 화면을 도시한 도면이다.
1A is a block diagram of a device according to an embodiment of the present invention.
1B is a configuration diagram of an image forming apparatus according to an embodiment of the present invention.
1C is a detailed block diagram of a processor according to an embodiment of the present invention.
2 is a flowchart illustrating an entire booting method of an image forming apparatus according to an exemplary embodiment.
3 is a block diagram of an image forming apparatus including a processor generating a boot image, according to an exemplary embodiment.
4 is a flowchart of a method of generating a boot image for fast booting of an image forming apparatus according to an exemplary embodiment.
5 is a detailed flowchart of a method of generating a boot image for fast booting of an image forming apparatus according to an exemplary embodiment.
6 is a detailed flowchart illustrating a process of changing an attribute of a file system according to an exemplary embodiment of the present invention.
FIG. 7 is a diagram illustrating a case where information of a file system stored in a boot image and information of a file system actually stored in a nonvolatile memory may be different according to one embodiment of the present invention.
8 is a detailed flowchart illustrating a process of initializing an application program according to an embodiment of the present invention.
9 is a detailed flowchart illustrating a process of initializing an application program according to another embodiment of the present invention.
FIG. 10 illustrates a screen for selecting a booting mode displayed on a user interface unit according to an exemplary embodiment of the present invention.
FIG. 11 is a diagram illustrating a screen displayed on a user interface unit when a boot image is generated according to a boot image generation mode according to an embodiment of the present invention.
12 is a block diagram of an image forming apparatus including a processor that performs a fast boot using a boot image according to an embodiment of the present invention.
FIG. 13 is a flowchart of a method of performing a quick booting of an image forming apparatus using a boot image, according to an exemplary embodiment.
14 is a detailed flowchart of a method of performing a fast boot of an image forming apparatus using a boot image according to an embodiment of the present invention.
15 is a configuration diagram of an image forming apparatus including a processor for updating a boot image, according to an exemplary embodiment.
16 is a flowchart of a method of updating a boot image according to an embodiment of the present invention.
17A is a detailed flowchart of a method of updating a boot image according to an embodiment of the present invention.
17B is a detailed flowchart of a method of updating a boot image according to another embodiment of the present invention.
18 is a block diagram of an image forming apparatus including a processor for recovering an error of a boot image, according to an exemplary embodiment.
19 is a flowchart of a method of recovering an error of a boot image for fast booting of an image forming apparatus according to an exemplary embodiment.
20 is a detailed flowchart of a method of recovering an error of a boot image for fast booting of an image forming apparatus according to an exemplary embodiment.
21 is a diagram illustrating a screen for selecting a recovery mode displayed on a user interface unit according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명하도록 하겠다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1a는 본 발명의 일 실시예에 따른 디바이스(1)의 구성도이다. 도 1a를 참고하면, 디바이스(1)는 프로세서(10), 메모리부(20), 사용자 인터페이스부(30) 및 네트워크 인터페이스부(40)로 구성된다.1A is a block diagram of a device 1 according to an embodiment of the present invention. Referring to FIG. 1A, the device 1 includes a processor 10, a memory 20, a user interface 30, and a network interface 40.

도 1a에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만이 도시되었다. 하지만, 본 실시예에 따른 디바이스(1)는 도 1a에 도시된 하드웨어 구성요소들 외에 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.In FIG. 1A, only hardware components related to the present embodiment are shown in order to prevent the features of the present embodiment from being blurred. However, it will be understood by those skilled in the art that the device 1 according to the present embodiment may include other general-purpose hardware components in addition to the hardware components shown in FIG. 1A. .

본 실시예에서 디바이스(1)는 일반적으로 사용되는 휴대폰, PDA 등의 모바일 장치 또는 컴퓨터 등과 같은 일종의 컴퓨팅 장치를 포함한다. 또한, 디바이스(1)는 임베디드(embedded) 장치를 포함할 수도 있다.In the present embodiment, the device 1 includes a type of computing device such as a mobile device or a computer or the like which is generally used, a mobile phone, a PDA, or the like. In addition, the device 1 may also include an embedded device.

도 1b는 본 발명의 일 실시예에 따른 화상형성장치(2)의 구성도이다. 도 1b를 참고하면, 화상형성장치(2)는 프로세서(10), 메모리부(20), 사용자 인터페이스부(30), 네트워크 인터페이스부(40), 프린팅부, 팩스부, 스캐닝부, 데이터 변환부로 구성된다. 도 1b에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만이 도시되었다. 하지만, 본 실시예에 따른 화상형성장치(2)는 도 1b에 도시된 하드웨어 구성요소들 외에 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.1B is a configuration diagram of an image forming apparatus 2 according to an embodiment of the present invention. Referring to FIG. 1B, the image forming apparatus 2 may include a processor 10, a memory 20, a user interface 30, a network interface 40, a printing unit, a fax unit, a scanning unit, and a data conversion unit. It is composed. In FIG. 1B, only hardware components related to the present embodiment are shown in order to prevent the features of the present embodiment from being blurred. However, it will be understood by those skilled in the art that the image forming apparatus 2 according to the present embodiment may include other general-purpose hardware components in addition to the hardware components shown in FIG. 1B. Can be.

도 1b를 참고하면, 화상형성장치(2)는 도 1a의 디바이스(1)의 일 예로써 디바이스(1)와 유사한 기능을 하는 공통적 구성 요소들인 프로세서(10), 메모리부(20), 사용자 인터페이스부(30), 네트워크 인터페이스부(40)를 포함한다. 따라서, 이하에서는 프로세서(10), 메모리부(20), 사용자 인터페이스부(30), 네트워크 인터페이스부(40)에 대해서는 화상형성장치(2)의 구성 요소들로써 설명하겠으나, 화상형성장치(2)는 디바이스(1)의 일 예에 해당되는바 화상형성장치(2)에 대해 설명된 내용은 디바이스(1)에도 공통적으로 적용될 수 있다.Referring to FIG. 1B, the image forming apparatus 2 is an example of the device 1 of FIG. 1A, and includes a processor 10, a memory unit 20, and a user interface, which are common components having functions similar to those of the device 1. The unit 30 includes a network interface unit 40. Accordingly, the processor 10, the memory unit 20, the user interface unit 30, and the network interface unit 40 will be described below as components of the image forming apparatus 2, but the image forming apparatus 2 may be described. As described as an example of the device 1, the description of the image forming apparatus 2 may be applied to the device 1 in common.

본 실시예에 따른 화상형성장치(2)는 복사, 인쇄, 스캔, 팩스 송수신, 이메일 전송 등의 기능들을 하나의 장치에서 수행할 수 있는 일반적인 복합기를 포함한다. 이하에서는 화상형성장치(2)가 복합기인 경우를 예로 들어 설명하겠으나, 본 실시예에 따른 화상형성장치(2)는 이에 한정되지 않고 프린터, 스캐너, 팩스 등과 같은 개별적인 장치에 해당될 수 있다.The image forming apparatus 2 according to the present embodiment includes a general multifunction apparatus capable of performing functions such as copying, printing, scanning, faxing and e-mailing in one apparatus. Hereinafter, a case in which the image forming apparatus 2 is a multifunction device will be described as an example. However, the image forming apparatus 2 according to the present embodiment is not limited thereto and may correspond to individual devices such as a printer, a scanner, a fax, and the like.

프로세서(10)는 메모리부(20)에 저장되어 있는 데이터를 이용하여 화상형성장치(2)에 설치된 운영체계(Operating System, OS)의 실행 및 응용 프로그램(application)의 실행을 처리하는 것으로써, 중앙처리장치(CPU)에 해당된다. The processor 10 processes the execution of an operating system (OS) installed in the image forming apparatus 2 and the execution of an application by using data stored in the memory unit 20. Corresponds to the central processing unit (CPU).

도 1c는 본 발명의 일 실시예에 따른 프로세서(10)의 상세 구성도이다. 도 1c를 참고하면, 프로세서(10)는 제어부(110), 부트 이미지 생성부(120), 스와핑부(130), 부팅부(140) 및 로딩부(150)를 포함한다. 이와 같은 프로세서(10)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서로 구현될 수도 있다. 즉, 다양한 형태의 하드웨어로 구현될 수도 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.1C is a detailed block diagram of the processor 10 according to an embodiment of the present invention. Referring to FIG. 1C, the processor 10 includes a controller 110, a boot image generator 120, a swapping unit 130, a booting unit 140, and a loading unit 150. The processor 10 may be implemented as an array of a plurality of logic gates, or may be implemented as a general purpose microprocessor. That is, those skilled in the art can understand that the present invention may be implemented in various forms of hardware.

다시 도 1a 또는 1b를 참고하면, 메모리부(20)는 휘발성 메모리(210) 및 비휘발성 메모리(220)를 포함한다.Referring again to FIG. 1A or 1B, the memory unit 20 includes a volatile memory 210 and a nonvolatile memory 220.

휘발성 메모리(210)는 화상형성장치(2)에서 실행되고 있는 운영체계 및 응용 프로그램과 관련된 데이터를 비휘발성 메모리(220)에서 읽어 로드함으로써, 프로세서(10)가 운영체계 및 응용 프로그램과 관련된 데이터에 액세스할 수 있게 한다. 여기서, 휘발성 메모리(210)는 메인 메모리로서 RAM(random access memory)일 수 있다.The volatile memory 210 reads and loads data related to an operating system and an application program running in the image forming apparatus 2 from the nonvolatile memory 220 so that the processor 10 may load data related to the operating system and the application program. Make it accessible. The volatile memory 210 may be random access memory (RAM) as main memory.

비휘발성 메모리(220)는 화상형성장치(2)의 운영체계 및 응용 프로그램의 실행을 위한 데이터를 저장하는 장치로써, 하드 디스크 드라이브(Hard Disk Drive), FRAM(Ferroelectric RAM), MRAM(Magnetoresistive RAM), PRAM(Phase-change RAM) 등과 같이 휘발성 메모리(210)와 달리 화상형성장치(2)의 전원이 꺼져도 저장된 데이터가 소거되지 않는 메모리일 수 있다.The nonvolatile memory 220 stores data for executing an operating system and an application program of the image forming apparatus 2. The nonvolatile memory 220 may include a hard disk drive, a ferroelectric RAM, and a magnetoresistive RAM. Unlike the volatile memory 210, such as a PRAM (Phase-change RAM), the stored data may not be erased even when the image forming apparatus 2 is turned off.

사용자 인터페이스부(30)는 키보드, 마우스, 하드웨어 버튼, GUI의 소프트 키보드와 같은 터치 스크린, 또는 음성 인식 장치 등의 정보 입력 장치를 사용하여 사용자로부터 정보를 입력받는다. 또한, 사용자 인터페이스부(30)는 시각 정보를 표시하기 위한 장치(예를 들어, LCD 화면, LED 화면, 눈금 표시 장치 등) 또는 청각 정보를 제공하기 위한 장치(예를 들어, 스피커 등) 등을 이용하여 화상형성장치(2)에서 처리되는 정보를 사용자에게 보고한다.The user interface unit 30 receives information from a user using an information input device such as a keyboard, a mouse, a hardware button, a touch screen such as a soft keyboard of a GUI, or a voice recognition device. In addition, the user interface 30 may include a device for displaying visual information (for example, an LCD screen, an LED screen, a graduation display device, etc.) or a device for providing auditory information (for example, a speaker, etc.). Information to be processed by the image forming apparatus 2 is reported to the user.

네트워크 인터페이스부(40)는 화상형성장치(2)의 주변 기기, 외부의 다른 디바이스 또는 네트워크 등과 통신한다. 예를 들어, 화상형성장치(2)는 네트워크 인터페이스부(40)를 통해 WIFI, Bluetooth 기능 등을 구비한 장치들과 통신하거나, 네트워크에 접속하거나, 또는 USB(Universal Serial Bus)와 같은 주변 기기들과 통신한다.The network interface unit 40 communicates with a peripheral device of the image forming apparatus 2, another external device, a network, or the like. For example, the image forming apparatus 2 may communicate with devices equipped with WIFI, Bluetooth, etc., connect to a network, or peripheral devices such as a universal serial bus (USB) through the network interface unit 40. Communicate with

화상형성장치(2)는 전원이 인가된 경우 프로세서(10) 및 메모리부(20) 등의 내부 구성 요소들을 이용하여 자동적으로 부팅된다. 나아가서, 본 실시예에 따른 화상형성장치(2)는 부트 이미지(boot image)를 이용하여 빠른 부팅(fast booting)이 수행되거나, 부트 이미지를 생성하는 과정을 거치면서 부팅이 수행될 수 있다.The image forming apparatus 2 is automatically booted using internal components such as the processor 10 and the memory unit 20 when power is applied. In addition, the image forming apparatus 2 according to the present exemplary embodiment may perform fast booting using a boot image, or boot while performing a process of generating a boot image.

여기서, 부트 이미지(boot image)란 부트 이미지가 생성된 특정 시점의 시스템 상태로 복원하면서 화상형성장치(2)를 부팅시키기 위하여 필요한 모든 정보를 포함하는 데이터로서, 하나의 파일로써 생성될 수 있다. 보다 상세하게 설명하면, 부트 이미지는 화상형성장치(2)의 부팅 초기의 시스템 상태에 필요한 정보를 나타내는, 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터를 포함하는 이미지이다. 본 실시예에 따른 부트 이미지는 다른 용어로써 스냅샷 이미지(snapshot image)로도 호칭될 수 있다.Here, the boot image is data including all information necessary for booting the image forming apparatus 2 while restoring to a system state at a specific point in time when the boot image is generated, and may be generated as a file. In more detail, the boot image is an image including data of volatile memory and data of a CPU register indicating information necessary for a system state at the beginning of booting of the image forming apparatus 2. The boot image according to the present embodiment may also be referred to as a snapshot image in other terms.

도 2는 본 발명의 일 실시예에 따른 화상형성장치(2)의 전체 부팅 방법을 나타내는 흐름도이다. 도 2를 참고하면, 도 2의 흐름도에 따른 전체 부팅 방법은 도 1b에 도시된 화상형성장치(2)에서 수행되는 부팅 방법이다.FIG. 2 is a flowchart illustrating an overall booting method of the image forming apparatus 2 according to an exemplary embodiment. Referring to FIG. 2, the entire booting method according to the flowchart of FIG. 2 is a booting method performed by the image forming apparatus 2 shown in FIG. 1B.

201 단계에서, 프로세서(10)는 화상형성장치(2)에 전원이 인가된 경우 부트로더(bootloader)를 초기화함으로써 화상형성장치(2)의 부팅을 시작한다.In step 201, the processor 10 starts booting the image forming apparatus 2 by initializing a bootloader when power is applied to the image forming apparatus 2.

202 단계에서, 프로세서(10)는 화상형성장치(2)의 기존의 하드웨어(H/W) 설정과 변경된 부분이 있는지 여부를 판단한다. 예를 들어, 프로세서(10)는 화상형성장치(2)의 스캐닝부, 팩스부 등과 같은 하드웨어(H/W)의 설정에 변경된 부분이 있는지를 판단한다.In operation 202, the processor 10 determines whether there is a part changed from the existing hardware (H / W) setting of the image forming apparatus 2. For example, the processor 10 determines whether there is a changed part in setting of hardware (H / W) such as a scanning unit, a fax unit, or the like of the image forming apparatus 2.

203 단계에서, 프로세서(10)는 202 단계에서 하드웨어(H/W) 설정이 변경되지 않았다고 판단된 경우 화상형성장치(2)의 운영체계(OS)를 초기화한다.In step 203, the processor 10 initializes the operating system OS of the image forming apparatus 2 when it is determined in step 202 that the hardware (H / W) setting is not changed.

204 단계에서, 프로세서(10)는 비휘발성 메모리(220)에 저장된 파일시스템(filesystem)을 검사하고 복구한다. 만약, 파일시스템에 문제가 있다고 검사된 경우, 프로세서(10)는 문제가 있는 파일시스템에 대해 정상적인 파일시스템의 상태로 복구한다.In step 204, the processor 10 examines and restores a filesystem stored in the nonvolatile memory 220. If it is checked that there is a problem with the file system, the processor 10 recovers the file system in question to the normal file system state.

205 단계에서, 프로세서(10)는 비휘발성 메모리(220)에 부트 이미지가 저장되어 있는지 여부를 판단한다.In operation 205, the processor 10 determines whether a boot image is stored in the nonvolatile memory 220.

206 단계에서, 프로세서(10)는 205 단계에서 부트 이미지가 저장되어 있다고 판단된 경우 저장된 부트 이미지에 에러가 있는지 여부를 검사한다.In step 206, if it is determined in step 205 that the boot image is stored, the processor 10 checks whether there is an error in the stored boot image.

207 단계에서, 프로세서(10)는 206 단계에서 저장된 부트 이미지에 에러가 없는 것으로 검사된 경우 비휘발성 메모리(220)에 저장된 부트 이미지를 휘발성 메모리(210)로 로딩한다.In step 207, the processor 10 loads the boot image stored in the nonvolatile memory 220 into the volatile memory 210 when it is determined in step 206 that there is no error in the stored boot image.

208 단계에서, 프로세서(10)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원하여 부팅한다.In operation 208, the processor 10 restores and boots the image forming apparatus 2 to the system state included in the boot image based on the loaded boot image.

209 단계에서, 프로세서(10)는 화상형성장치(2)의 부팅을 완료한다.In step 209, the processor 10 completes booting of the image forming apparatus 2.

210 단계에서, 프로세서(10)는 206 단계에서 저장된 부트 이미지에 에러가 있는 것으로 검사된 경우 저장된 부트 이미지를 복구한다. 저장된 부트 이미지의 복구가 완료된 후, 프로세서(10)는 201 단계의 방법부터 다시 수행한다.In operation 210, the processor 10 restores the stored boot image when it is determined that there is an error in the stored boot image in operation 206. After the recovery of the stored boot image is completed, the processor 10 performs the method again in step 201.

211 단계에서, 프로세서(10)는 202 단계에서 하드웨어(H/W) 설정이 변경된 경우 화상형성장치(2)의 부팅 모드를 판단한다. 여기서, 부팅 모드는 정상 부팅(normal booting) 및 부트 이미지 생성 모드 중 어느 하나이다. 정상 부팅은 일반적으로 사용되는 콜드 부팅(cold booting)을 의미한다.In operation 211, the processor 10 determines a boot mode of the image forming apparatus 2 when the hardware (H / W) setting is changed in operation 202. Here, the booting mode is one of a normal booting and a boot image generation mode. Normal booting refers to cold booting which is commonly used.

이 때, 사용자 인터페이스부(30)는 사용자에게 부팅 모드에 대한 선택 화면을 표시하고, 사용자로부터 부팅 모드에 대한 선택을 입력받을 수 있다. 이와 같이, 사용자 인터페이스부(30)를 통해 사용자로부터 부팅 모드에 대한 선택을 입력받은 경우, 화상형성장치(2)는 입력된 부팅 모드에 기초하여 부팅 모드를 판단한다. 또한, 다른 실시예에 따라서는 화상형성장치(2)와 네트워크로 연결된 외부의 다른 디바이스와 네트워크 인터페이스부(40)를 통해 통신함으로써 부팅 모드에 대한 선택을 입력받을 수 있다.At this time, the user interface unit 30 may display a selection screen for the boot mode to the user, and receive a selection for the boot mode from the user. As described above, when the user selects a boot mode through the user interface 30, the image forming apparatus 2 determines the boot mode based on the input boot mode. In addition, according to another exemplary embodiment, a selection of a boot mode may be received by communicating with another external device connected to the image forming apparatus 2 through a network interface unit 40.

212 단계에서, 프로세서(10)는 211 단계에서 부팅 모드가 부트 이미지 생성 모드로 판단된 경우 부트 이미지를 생성한다.In operation 212, the processor 10 generates a boot image when the boot mode is determined as a boot image generation mode in operation 211.

213 단계에서, 프로세서(10)는 화상형성장치(2)의 상태 등에 따라 시스템 재부팅(system reboot)이 필요한지 여부를 판단한다. 프로세서(10)는 재부팅이 필요한 것으로 판단된 경우 재부팅 후 201 단계의 방법부터 다시 수행한다.In operation 213, the processor 10 determines whether a system reboot is required according to the state of the image forming apparatus 2 or the like. If it is determined that a reboot is required, the processor 10 performs the method again in step 201 after the reboot.

214 단계에서, 프로세서(10)는 212 단계에서 시스템 재부팅이 필요 없는 것으로 판단된 경우 부트 이미지를 다시 로딩하여야 하는지 여부를 판단한다. 프로세서(10)는 부트 이미지를 다시 로딩하여야 하는 것으로 판단된 경우 203 단계의 방법부터 다시 수행한다. 그러나, 부트 이미지를 다시 로딩하지 않아도 되는 것으로 판단된 경우, 209 단계로 진행되어 화상형성장치(2)의 부팅은 완료된다.In step 214, the processor 10 determines whether to reload the boot image when it is determined in step 212 that no system reboot is necessary. If it is determined that the boot image should be reloaded, the processor 10 performs the method again from step 203. However, if it is determined that the boot image does not need to be reloaded, the process proceeds to step 209 where the booting of the image forming apparatus 2 is completed.

215 단계에서, 프로세서(10)는 211 단계에서 부팅 모드가 정상 부팅(normal booting)으로 판단된 경우 운영체계(OS)를 초기화한다. 그리고, 209 단계로 진행되어 화상형성장치(2)의 부팅은 완료된다.In step 215, the processor 10 initializes the operating system (OS) when it is determined in step 211 that the boot mode is normal booting. In operation 209, the booting of the image forming apparatus 2 is completed.

결국, 도 2에 따르면 화상형성장치(2)는 부팅이 시작된 경우 207 단계 내지 208 단계에 따른 빠른 부팅(fast booting), 212 단계에 따른 부트 이미지 생성 모드, 215 단계에 따른 정상 부팅(normal booting)의 세 가지 부팅 모드 중 어느 하나로 진행된다.As a result, according to FIG. 2, when the booting is started, the image forming apparatus 2 performs fast booting according to steps 207 to 208, a boot image generation mode according to step 212, and normal booting according to step 215. It proceeds to any of the three boot modes.

이하에서는 빠른 부팅을 위한 부트 이미지 생성 모드에 따라 부트 이미지를 생성하는 과정과, 빠른 부팅을 수행하는 과정에 대하여 보다 상세하게 설명하도록 하겠다.Hereinafter, a process of generating a boot image and a process of performing a quick boot will be described in detail according to a boot image generation mode for fast boot.

도 3은 본 발명의 일 실시예에 따른 부트 이미지를 생성하는 프로세서(10)를 포함하는 화상형성장치(2)의 구성도이다. 도 3을 참고하면, 화상형성장치(2)는 도 1b에 도시된 바와 같이 프로세서(10) 및 메모리부(20)를 포함한다. 그러나, 본 실시예의 설명의 편의를 위하여 다른 구성 요소들은 생략하여 도시하였다. 또한, 도 3에는 도 1c에 도시된 프로세서(10)의 구성 요소들 중 본 실시예와 관련된 구성 요소들만 도시되었음을 당해 기술분야에서 통상의 지식을 가진 자라면 알 수 있다.3 is a block diagram of an image forming apparatus 2 including a processor 10 generating a boot image according to an exemplary embodiment. Referring to FIG. 3, the image forming apparatus 2 includes a processor 10 and a memory unit 20 as shown in FIG. 1B. However, other components are omitted for convenience of description of the present embodiment. In addition, it will be appreciated by those skilled in the art that FIG. 3 shows only components related to the present exemplary embodiment among the components of the processor 10 illustrated in FIG. 1C.

프로세서(10)는 제어부(110), 부트 이미지 생성부(120) 및 스와핑부(130)를 포함한다. 그리고, 메모리부(20)는 도 1b에서 설명한 바와 같이, 휘발성 메모리(210) 및 비휘발성 메모리(220)를 포함한다.The processor 10 includes a controller 110, a boot image generator 120, and a swapping unit 130. As described with reference to FIG. 1B, the memory unit 20 includes a volatile memory 210 and a nonvolatile memory 220.

도 4는 본 발명의 일 실시예에 따른 화상형성장치(2)의 빠른 부팅을 위한 부트 이미지를 생성하는 방법의 흐름도이다. 도 4를 참고하면, 부트 이미지 생성 방법은 도 3의 화상형성장치(2)에서 시계열적으로 수행되는 방법이다. 따라서, 이하에서는 도 3 및 4를 연계하여 부트 이미지를 생성하는 방법을 설명하도록 하겠다.4 is a flowchart of a method of generating a boot image for fast booting of the image forming apparatus 2 according to an embodiment of the present invention. Referring to FIG. 4, the boot image generating method is a method performed in time series in the image forming apparatus 2 of FIG. 3. Therefore, hereinafter, a method of generating a boot image in connection with FIGS. 3 and 4 will be described.

401 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS) 및 적어도 하나의 응용 프로그램을 초기화한다. In operation 401, the controller 110 initializes an operating system (OS) and at least one application program installed in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts.

402 단계에서, 제어부(110)는 초기화가 완료된 상태에서 실행되는 프로세스들 중 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료한다.In step 402, the controller 110 terminates processes not used to execute an operating system and an application program among processes executed in a state where initialization is completed.

403 단계에서, 제어부(110)는 화상형성장치(2)에서 실행 중인 프로세스들을 정지(suspend)한다.In operation 403, the controller 110 suspends processes running in the image forming apparatus 2.

404 단계에서, 부트 이미지 생성부(120)는 실행 중인 프로세스들이 정지된 동안 휘발성 메모리(210)에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성한다. 이 때, 스와핑부(130)는 생성된 부트 이미지를 비휘발성 메모리(220)에 저장한다.In operation 404, the boot image generator 120 generates a boot image based on information about a system state stored in the volatile memory 210 while the running processes are stopped. In this case, the swapping unit 130 stores the generated boot image in the nonvolatile memory 220.

도 5는 본 발명의 일 실시예에 따른 화상형성장치(2)의 빠른 부팅을 위한 부트 이미지를 생성하는 방법의 상세 흐름도이다. 도 5에 도시된 부트 이미지 생성 방법은 도 4에 도시된 부트 이미지 생성 방법을 보다 상세하게 도시한 흐름도에 해당된다.5 is a detailed flowchart of a method of generating a boot image for fast booting of the image forming apparatus 2 according to an embodiment of the present invention. The boot image generating method illustrated in FIG. 5 corresponds to a flowchart illustrating the boot image generating method illustrated in FIG. 4 in more detail.

501 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS) 및 적어도 하나의 응용 프로그램을 초기화한다. 여기서, 초기화되는 응용 프로그램은 운영체계(OS) 외에, 시스템을 동작시킬 수 있는 응용 프로그램을 의미한다. 화상형성장치(2)의 경우, 복사, 인쇄, 스캔, 팩스, 주소록(Address Book), 다큐먼트 박스(Document Box) 등과 관련된 적어도 하나의 응용 프로그램이 초기화된다. 이 때, 응용 프로그램의 초기화 과정에서 응용 프로그램의 데이터 및 스레드(thread)가 생성된다. 그리고, 응용 프로그램의 초기화 과정에서, 필요한 정보들이 파일, DB, 네트워크 소켓(network socket)으로부터 휘발성 메모리(210)로 로딩된다.In operation 501, the controller 110 initializes an operating system (OS) and at least one application program installed in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts. Here, the initialized application program refers to an application program capable of operating the system in addition to the operating system (OS). In the case of the image forming apparatus 2, at least one application program related to copying, printing, scanning, faxing, an address book, a document box, or the like is initialized. At this time, data and threads of the application are generated during the initialization of the application. In the initialization process of the application, necessary information is loaded from the file, the DB, and the network socket into the volatile memory 210.

예를 들어, Java와 같은 미들웨어(middleware)가 사용될 경우에는 시스템 사용에 필요한 클래스들(class)도 함께 초기화된다. 하지만, Java와 같이 첫 단계의 수행 속도가 느린 시스템인 경우에는 속도가 느린 초기 단계의 중요 기능들을 초기화시켜 부트 이미지에 저장함으로써, 빠른 부팅 이후의 Java의 부팅 속도를 빠르게 할 수 있다. 왜냐하면, Java의 경우에는 interpreting 기반의 미들웨어로써 첫 번째 코드 수행 시 interpreting과 컴파일(compile)이 함께 수행된다. 다음 코드들의 수행부터는 이미 컴파일이 완료되었기 때문에 수행 속도가 빨라진다.For example, when middleware such as Java is used, the classes necessary to use the system are also initialized. However, in the case of a slow system in the first stage such as Java, it is possible to speed up the booting of Java after fast booting by initializing the important functions of the slow initial stage in a boot image. This is because, in the case of Java, interpreting-based middleware is performed when the first code is executed. From the following code execution, it is faster because the compilation is already completed.

제어부(110)는 초기화가 완료된 것을 판단하기 위하여 운영체계(OS), 응용 프로그램 각각으로부터 완료 여부를 수신하여 판단할 수 있다.The controller 110 may determine whether the initialization is completed by receiving the completion from the operating system (OS) and each of the application programs.

502 단계에서, 제어부(110)는 USB, Bluetooth 장치 등과 같은 주변 장치(peripheral device)를 모두 정지(suspend)시킨다. 여기서, 주변 장치를 정지시키는 이유는 추후에 부트 이미지를 이용한 빠른 부팅시 추가적인 초기화를 방지하여 부팅 속도를 빠르게 하기 위함이다. 정지될 주변 장치는 예를 들어, 이더넷(ethernet)과 같은 네트워크 장치, USB 장치 등일 수 있다. 또한, 화상형성장치(1)의 경우, 팩스, 스캐너, 프린터 등과 같은 장치가 정지될 수 있다. 또한, 제어부(110)는 화상형성장치(2)의 PCI(peripheral component interconnect) 상태 정보를 저장한다.In operation 502, the controller 110 suspends all peripheral devices such as a USB device and a Bluetooth device. In this case, the reason for stopping the peripheral device is to speed up the booting speed by preventing additional initialization during a quick booting using a boot image later. The peripheral device to be stopped may be, for example, a network device such as Ethernet, a USB device, or the like. In addition, in the case of the image forming apparatus 1, a device such as a fax machine, a scanner, a printer, or the like may be stopped. In addition, the controller 110 stores the peripheral component interconnect (PCI) state information of the image forming apparatus 2.

503 단계에서, 제어부(110)는 동작 중인 드라이버(driver)들 중 주변 장치의 정지로 인해 불필요한 장치 드라이버(device driver)를 종료한다.In operation 503, the controller 110 terminates an unnecessary device driver due to the stopping of a peripheral device among the drivers in operation.

504 단계에서, 제어부(110)는 초기화된 응용 프로그램들 중 부트 이미지에 저장하고자 하는 응용 프로그램의 프로세스(process)를 정지한다. 이는 부트 이미지가 생성되는 동안 응용 프로그램의 프로세스가 진행될 경우에 발생되는 오동작을 방지하기 위함이다.In operation 504, the controller 110 stops a process of an application program to be stored in a boot image among the initialized application programs. This is to prevent a malfunction that occurs when an application process proceeds while the boot image is being created.

505 단계에서, 제어부(110)는 운영체계(OS) 및 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료한다. 예를 들어, 리눅스 운영체계(Linux OS)의 경우 제어부(110)는 samba, ssh, telnet 등의 프로세스를 종료한다. 이와 같이 프로세스를 종료시키는 이유 중 하나는 생성될 부트 이미지의 사이즈를 줄이기 위함이다. 또한, 파일(file)을 사용하는 프로세스의 경우에는 파일(file)이 열린(open) 정보가 그대로 저장되게 되므로, 부트 이미지를 이용한 빠른 부팅 시 이와 같은 프로세스가 잘못된 파일(file) 정보를 참조하지 않게 하기 위함이다. 화상형성장치(2)의 경우, 펌웨어 업데이트(F/W udpate)를 담당하는 프로세스나 개발용 로그를 저장하는 프로세스 등이 종료될 수 있다.In operation 505, the controller 110 terminates a process not used for the execution of the operating system and the application, among the processes executed in the state where the operating system and the application are initialized. For example, in the case of a Linux operating system (Linux OS), the controller 110 terminates processes such as samba, ssh, telnet, and the like. One of the reasons for terminating the process is to reduce the size of the boot image to be created. Also, in the case of a process using a file, the open information of the file is stored as it is, so that such a process does not refer to incorrect file information during a fast boot using a boot image. To do this. In the case of the image forming apparatus 2, a process for firmware update (F / W udpate) or a process for storing a development log may be terminated.

또한, 제어부(110)는 부트 이미지를 생성하는 작업에 사용되지 않는 다른 프로세스도 종료할 수 있다. 나아가서, 제어부(110)는 운영체계(OS) 및 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 수행 시간이 소정 임계값 이하인 프로세스도 함께 종료할 수 있다. 여기서, 소정 임계값은 사용자의 설정에 따라 변경될 수 있다.In addition, the controller 110 may terminate other processes not used for generating a boot image. In addition, the controller 110 may also terminate a process whose execution time is less than or equal to a predetermined threshold value among processes executed in a state where initialization of an operating system (OS) and an application program is completed. Here, the predetermined threshold value may be changed according to the user's setting.

506 단계에서, 제어부(110)는 종료된 프로세스에서 사용된 파일시스템(filesystem) 및 부트 이미지를 생성하는 작업(job)에 사용되지 않는 파일시스템 중 적어도 하나를 언마운트(unmount)한다. 바꾸어 말하면, 제어부(110)는 동작 중인 프로세스들이 사용하고 있지 않는 파일시스템들을 모두 언마운트한다. 화상형성장치(2)의 경우에는, 사용자(User) 정보, 계정(Account) 정보, 히스토리(history) 정보 등이 사용되고 있는 경우 모두 언마운트함으로써, 부트 이미지가 저장될 때 파일시스템을 안전하게 유지시킨다. In operation 506, the controller 110 unmounts at least one of the file system used in the terminated process and the file system not used for the job of generating the boot image. In other words, the controller 110 unmounts all file systems that are not used by the running processes. In the case of the image forming apparatus 2, when the user information, the account information, the history information, and the like are used, all of the image forming apparatus 2 is unmounted, thereby keeping the file system safe when the boot image is stored.

507 단계에서, 제어부(110)는 비휘발성 메모리(220)에서 부트 이미지가 저장될 공간을 초기화한다. 예를 들어, 제어부(110)는 비휘발성 메모리(220)의 특정 파티션 등에 저장될 수 있도록 특정 파티션을 초기화할 수 있다. 보다 상세하게 설명하면, 제어부(110)는 비휘발성 메모리(220)에서 사용이 이미 끝난 메모리 공간이지만 소거(free)하지 않고 유지하고 있는 메모리 공간을 의미한다. 특히, Java와 같은 미들웨어(middleware)를 사용할 경우에는 비휘발성 메모리(220)에 있는 불필요한 데이터를 가비지 콜렉션(Garbage collection)을 이용하여 제거할 수 있다. 이와 같이, 제어부(110)가 부트 이미지가 저장될 공간을 초기화하면, 이후에 빠른 부팅시 보다 많은 메모리 공간을 확보하여 동작시킬 수 있다. 따라서, 여유로운 메모리 공간이 미리 확보될 수 있으므로, 추가적으로 가비지 콜렉션(Garbage collection)을 수행하지 않고도 메모리 공간을 확보할 수 있으므로, 시스템 성능 저하를 방지할 수 있다.In operation 507, the controller 110 initializes a space in which the boot image is to be stored in the nonvolatile memory 220. For example, the controller 110 may initialize a specific partition to be stored in a specific partition of the nonvolatile memory 220. In more detail, the controller 110 refers to a memory space that is already used in the nonvolatile memory 220 but is maintained without being erased. In particular, when using middleware such as Java, unnecessary data in the nonvolatile memory 220 may be removed using garbage collection. As such, when the controller 110 initializes the space in which the boot image is to be stored, the controller 110 may secure and operate more memory space at the time of fast booting. Therefore, since a free memory space can be secured in advance, it is possible to secure the memory space without additional garbage collection, thereby preventing system performance degradation.

제어부(110)는 비휘발성 메모리(220)를 여러 개의 파티션들로 초기화한다. 이와 같이, 복수의 파티션들로 나누는 이유는, 만약 하나의 파티션만이 존재한다면 부트 이미지가 생성될 때 파일시스템의 모든 정보가 부트 이미지에 저장될 수 있다. 이는, 이후에 부트 이미지에 저장된 파일과 파일시스템의 파일 정보가 일치하지 않게 되는 문제의 원인이 될 수 있다. 제어부(110)는 변경될 수 없는 데이터와 변경 가능한 데이터를 별도의 파티션에 저장한다. 화상형성장치(2)의 경우, 변경될 수 없는 데이터는 일반적인 운영체계(OS) 및 펌웨어(F/W) 데이터에 해당될 수 있다. 또한, 화상형성장치(2)의 경우 변경 가능한 데이터는 작업(Job) 히스토리 정보, 계정(account) 정보, 사용자 주소록 등과 같은 데이터와, IP address 등과 같이 사용자에 의해서 변경 가능한 운영체계(OS) 데이터가 포함된다.The controller 110 initializes the nonvolatile memory 220 into several partitions. As such, the reason for dividing into a plurality of partitions is that, if only one partition exists, all information of the file system may be stored in the boot image when the boot image is created. This may cause a problem that file information of a file system and a file stored in a boot image are not matched later. The controller 110 stores data that cannot be changed and data that can be changed in separate partitions. In the case of the image forming apparatus 2, data that cannot be changed may correspond to general operating system (OS) and firmware (F / W) data. Also, in the case of the image forming apparatus 2, the changeable data includes data such as job history information, account information, user address book, and the like, and operating system (OS) data changeable by a user such as an IP address. Included.

508 단계에서, 제어부(110)는 화상형성장치(2)에서 실행 중인 모든 프로세스들을 정지(suspend)한다.In operation 508, the controller 110 suspends all processes running in the image forming apparatus 2.

509 단계에서, 부트 이미지 생성부(120)는 실행 중인 프로세스들이 정지된 동안 휘발성 메모리(210)에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성한다. 보다 상세하게 설명하면, 508 단계를 통해 모든 프로세스들이 멈추게 되면, 제어부(110)는 부트 이미지를 생성하기 위한 사전 단계로써 비휘발성 메모리(220)의 부트 이미지의 저장 공간에 헤더(header) 정보를 저장한다. 이와 같이 부트 이미지의 생성 준비가 완료되면, 부트 이미지 생성부(120)는 시스템 상태에 대한 정보를 저장하고 있는 휘발성 메모리(210)의 모든 데이터, CPU(프로세서(10)) 레지스터 값들 및 CPU 캐쉬 정보들에 기초하여 부트 이미지를 생성한다.In operation 509, the boot image generator 120 generates a boot image based on information about a system state stored in the volatile memory 210 while the running processes are stopped. In more detail, when all processes are stopped in step 508, the controller 110 stores header information in a storage space of the boot image of the nonvolatile memory 220 as a preliminary step for generating a boot image. do. When the preparation for generating the boot image is completed as described above, the boot image generating unit 120 stores all data of the volatile memory 210, CPU (processor 10) register values, and CPU cache information, which store information about the system state. Create a boot image based on these fields.

즉, 부트 이미지에 포함된 시스템 상태에 대한 정보는 실행 중인 프로세스들이 정지된 상태에서 화상형성장치(2)의 부팅에 필요한 정보를 나타내는, 휘발성 메모리(210)의 데이터 및 CPU(프로세서(10)) 레지스터의 데이터를 포함한다.That is, the information about the system state included in the boot image indicates the data necessary for booting up the image forming apparatus 2 while the running processes are stopped, and the data of the volatile memory 210 and the CPU (processor 10). Contains the data in the register.

510 단계에서, 스와핑부(130)는 생성된 부트 이미지를 비휘발성 메모리(220)에 저장한다. 스와핑부(130)는 비휘발성 메모리(220)의 특정 파일에 또는 특정 파티션에, 생성된 부트 이미지를 저장할 수 있다.In operation 510, the swapping unit 130 stores the generated boot image in the nonvolatile memory 220. The swapping unit 130 may store the generated boot image in a specific file or in a specific partition of the nonvolatile memory 220.

도 6은 본 발명의 일 실시예에 따른 파일시스템의 속성이 변경되는 과정을 도시한 상세 흐름도이다. 도 6을 참고하면, 도 6에는 파일시스템이 언마운트되는 도 5의 506 단계의 상세 흐름도도 함께 도시되어 있다.6 is a detailed flowchart illustrating a process of changing an attribute of a file system according to an exemplary embodiment of the present invention. Referring to FIG. 6, there is also shown a detailed flowchart of step 506 of FIG. 5 in which the filesystem is unmounted.

601 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS)를 초기화한다.In operation 601, the controller 110 initializes an operating system (OS) installed in the image forming apparatus 2 after booting of the image forming apparatus 2 starts.

602 단계에서, 제어부(110)는 운영체계의 초기화가 완료된 상태에서, 적어도 하나의 파일시스템(filesystem)의 속성을 읽기/쓰기 전용(read/write)의 상태로 변경시킨다.In operation 602, the controller 110 changes an attribute of at least one file system to a read / write state in a state where the operating system is initialized.

예를 들어, 제어부(110)는 일 실시예에 따라, 모든 파일시스템의 속성을 읽기/쓰기 전용(read/write)의 상태로 변경시킨다. 이후에 제어부(110)는 아래의 604 단계에서 모든 파일시스템을 언마운트한다. 이와 같이 모든 파일시스템의 속성을 읽기/쓰기 전용(read/write)의 상태로 변경시킨 후 모든 파일시스템을 언마운트하는 이유는, 추후에 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 다를 경우를 방지하기 위함이다.For example, the controller 110 changes the attributes of all file systems to read / write only states according to an embodiment. Thereafter, the control unit 110 unmounts all file systems in step 604 below. The reason for unmounting all filesystems after changing the attributes of all filesystems to read / write-only states is that the information of the filesystems stored in the boot image and the nonvolatile memory 220 will be described later. This is to prevent the case where the information of the file system actually stored in the file is different.

이에 따라, 생성될 부트 이미지에는 어떠한 파일시스템에 대한 정보도 저장되지 않을 수 있다. 따라서, 부트 이미지를 이용한 빠른 부팅을 수행하는 경우 파일시스템이 다시 마운트(mount) 되어 새롭게 파일시스템에 대한 정보가 운영체계(OS)에 로딩(loading)된다.Accordingly, information about any file system may not be stored in the boot image to be created. Therefore, when fast booting using a boot image is performed, the file system is remounted so that information about the file system is newly loaded into the operating system (OS).

하지만, 다른 일 실시예에 따르면, 예를 들어 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 달라질 수 없는 파일시스템에 대해서는 읽기/쓰기 전용(read/write)의 상태로 변경시키지 않거나, 언마운트하지 않을 수 있다.However, according to another embodiment, read / write only (read / write) for a file system in which the information of the file system stored in the boot image and the information of the file system actually stored in the nonvolatile memory 220 cannot be changed. ) Or not unmounted.

603 단계에서, 제어부(110)는 적어도 하나의 응용 프로그램을 초기화한다.In step 603, the controller 110 initializes at least one application program.

604 단계에서, 제어부(110)는 읽기/쓰기 전용(read/write)의 속성으로 변경된 상태를 이용하여 상기 파일시스템을 언마운트한다. 이 때, 제어부(110)는 파일시스템을 언마운트하기 전에 운영체계 및 응용 프로그램이 열고(open) 있는 모든 file/Socket/Database 등을 우선 닫는다(close). 이와 같이 file/Socket/Database 를 닫는(close) 이유는 열려진(open) file/Socket/Database 때문에 정상적으로 언마운트할 수 없는 경우를 방지하고, 파일시스템을 안전하게 보호하기 위함이다. 이에 대해서는 이하의 도 7에서 보다 상세하게 설명하도록 하겠다. 파일시스템이 언마운트되면, 운영체계(OS) 및 응용 프로그램이 열고 있는 파일시스템에 대한 정보가 모두 삭제되게 되므로, 파일시스템은 없는 것으로 간주된 상태로 부트 이미지에 저장된다.In step 604, the control unit 110 unmounts the file system using the changed state as an attribute of read / write only. At this time, the control unit 110 first closes all file / Socket / Database, etc., in which an operating system and an application program is opened, before unmounting the file system. The reason for closing file / Socket / Database is to prevent the unmountable normally due to open file / Socket / Database and to protect the file system. This will be described in more detail with reference to FIG. 7 below. When the file system is unmounted, all information about the file system opened by the operating system (OS) and the application is deleted, so the file system is stored in the boot image as if it is not present.

605 단계에서, 부트 이미지 생성부(120)는 부트 이미지를 생성한다.In operation 605, the boot image generator 120 generates a boot image.

606 단계에서, 제어부(110)는 부트 이미지의 생성이 완료된 경우, 읽기/쓰기 전용(read/write)의 속성으로 변경된 파일시스템 중 운영체계(OS)에 대한 파일시스템의 속성을 읽기 전용(read only) 상태로 변경시킨다.In operation 606, when the boot image generation is completed, the controller 110 reads only an attribute of a file system of an operating system (OS) among file systems changed to an attribute of read / write only. ) State.

607 단계에서, 제어부(110)는 운영체계(OS) 및 응용 프로그램에서 사용되는 파일시스템들과 그 밖의 프로세스들에서 사용되는 파일시스템들을 마운트(mount)한다.In operation 607, the controller 110 mounts the file systems used by the operating system (OS) and the application program and the file systems used by other processes.

부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 다를 수 있는 경우가 발생될 수 있다고 앞서 설명하였다. 이에 대해서는 이하의 도 7을 참고하여 설명하도록 하겠다.As described above, there may be a case where the information of the file system stored in the boot image and the information of the file system actually stored in the nonvolatile memory 220 may be different. This will be described with reference to FIG. 7 below.

도 7은 본 발명의 일 실시예에 따라 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 다를 수 있는 경우를 설명하는 도면이다.FIG. 7 is a diagram illustrating a case where information of a file system stored in a boot image and information of a file system actually stored in the nonvolatile memory 220 may be different according to one embodiment of the present invention.

도 7을 참고하면, 부트 이미지가 생성될 당시에 휘발성 메모리(210)에는 File A가 저장되어 있으므로, 부트 이미지에는 File A가 저장된다. 이후에, 사용자가 응용 프로그램을 사용하면서 File A를 삭제하고 File B를 사용한 경우 비휘발성 메모리(220)에는 File A 대신에 File B가 저장된다. 차후 사용자가 부트 이미지를 이용한 빠른 부팅을 할 경우 부트 이미지에는 File A가 저장되어 있는바, 응용 프로그램은 비휘발성 메모리(220)로부터 File A를 읽으려고(read) 한다. 하지만, 비휘발성 메모리(220)에는 File A 대신에 File B가 저장되어 있다. 따라서, 응용 프로그램은 File A를 읽을 수 없어 오동작을 하게 된다.Referring to FIG. 7, since File A is stored in the volatile memory 210 at the time when the boot image is generated, File A is stored in the boot image. Subsequently, when a user deletes File A while using an application program and uses File B, File B is stored in the nonvolatile memory 220 instead of File A. When a user quickly boots using the boot image, the file A is stored in the boot image. The application tries to read the file A from the nonvolatile memory 220. However, in the nonvolatile memory 220, File B is stored instead of File A. Therefore, the application program cannot read File A and malfunctions.

그러므로, 이와 같은 오동작을 방지하기 위해서는 부트 이미지 생성 전에 모든 파일시스템들 또는 적어도 하나의 특정 파일시스템을 언마운트하여야 한다.Therefore, to prevent such a malfunction, all filesystems or at least one particular filesystem must be unmounted before the boot image is created.

도 8은 본 발명의 일 실시예에 따라 응용 프로그램을 초기화하는 과정을 도시한 상세 흐름도이다. 도 8을 참고하면, 앞서 도 5의 501 단계의 응용 프로그램이 초기화되는 과정에 대한 상세 흐름도이다.8 is a detailed flowchart illustrating a process of initializing an application program according to an embodiment of the present invention. Referring to FIG. 8, a detailed flowchart of a process of initializing an application program of step 501 of FIG. 5 is described.

801 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS)를 초기화한다.In step 801, the controller 110 initializes an operating system (OS) installed in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts.

802 단계에서, 제어부(110)는 운영체계(OS)가 초기화되면 화상형성장치(2)에 설치된 적어도 하나의 응용 프로그램을 실행한다.In operation 802, when the operating system (OS) is initialized, the controller 110 executes at least one application program installed in the image forming apparatus 2.

803 단계에서, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인지 정상 부팅(normal booting)인지 판단한다. 부팅 모드가 부트 이미지 생성 모드인 경우 804 단계로 진행되고, 부팅 모드가 정상 부팅인 경우 806 단계로 진행된다.In step 803, the controller 110 determines whether the boot mode is a boot image generation mode or normal booting. If the boot mode is a boot image creation mode, the process proceeds to step 804. If the boot mode is a normal boot, the process proceeds to step 806.

804 단계에서, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인 경우 실행된 응용 프로그램의 모든 데이터 및 스레드(thread)를 초기화함으로써, 실행된 응용 프로그램을 초기화한다. 즉, 제어부(110)는 마치 콜드 부팅(cold booting)과 같은 정상 부팅시에 초기화되는 것처럼 응용 프로그램의 모든 데이터 및 스레드(thread)를 초기화한다.In operation 804, when the booting mode is the boot image generation mode, the controller 110 initializes all the data and threads of the executed application, thereby initializing the executed application. That is, the controller 110 initializes all data and threads of the application program as if it is initialized at normal booting, such as cold booting.

805 단계에서, 부트 이미지 생성부(120)는 초기화된 응용 프로그램을 이용하여 부트 이미지를 생성한다.In operation 805, the boot image generator 120 generates a boot image by using the initialized application program.

806 단계에서, 제어부(110)는 부팅 모드가 정상 부팅인 경우 실행된 응용 프로그램을 초기화한다.In step 806, the controller 110 initializes an executed application program when the boot mode is normal booting.

807 단계에서, 제어부(110)는 화상형성장치(2)의 정상 부팅을 완료한다.In operation 807, the controller 110 completes normal booting of the image forming apparatus 2.

이와 같이 도 8에 따르면, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인 경우 부트 이미지가 생성되기 전에 응용 프로그램의 모든 데이터 및 스레드(thread)를 초기화한다.As such, according to FIG. 8, when the boot mode is a boot image generation mode, the controller 110 initializes all data and threads of the application program before the boot image is generated.

그러나, 이후에 부트 이미지를 이용한 빠른 부팅을 수행할 경우에는 응용 프로그램의 가변 정보를 재초기화하는 과정이 수행된다. 여기서, 가변 정보는 사용자가 응용 프로그램을 사용하면서 사용자에 의해 변경될 수 있는 데이터 및 스레드를 포함하는 정보를 의미한다. 화상형성장치(2)의 경우, 가변 정보는 작업 히스토리(Job history) 정보, 사용자별 계정(account) 정보, 사용자가 설정한 시스템 옵션, 사용자가 저장한 문서들이 포함된다. 이와 같은 가변 정보는 부트 이미지의 생성 이후에 사용자에 의해 변경되는 정보들로써 빠른 부팅 이후에 재초기화되어야 한다. 즉, 가변 정보는 빠른 부팅 이후 비활성 메모리(220)로부터 다시 독출됨으로써(read-out), 부트 이미지에 저장된 정보가 재초기화된다. 그러나, 만약 재초기화되지 않는다면, 부트 이미지에 저장된 정보가 그대로 사용되게 되어 충돌이 발생될 수 있다. 하지만, 이와 같은 가변 정보에 대해서는 초기화가 두 번 수행될 수 있는바, 불필요한 시간이 낭비될 수 있다.However, in the case where a quick boot using a boot image is performed later, a process of reinitializing variable information of an application is performed. Here, the variable information refers to information including data and threads that can be changed by the user while the user uses the application program. In the case of the image forming apparatus 2, the variable information includes job history information, account information for each user, system options set by the user, and documents stored by the user. Such variable information is information changed by a user after creation of a boot image and must be reinitialized after fast booting. That is, the variable information is read-out again from the inactive memory 220 after the fast boot, and thus the information stored in the boot image is reinitialized. However, if it is not reinitialized, the information stored in the boot image is used as it is and a conflict may occur. However, since the initialization may be performed twice for such variable information, unnecessary time may be wasted.

도 9는 본 발명의 다른 일 실시예에 따라 응용 프로그램을 초기화하는 과정을 도시한 상세 흐름도이다. 도 9를 참고하면, 도 8과 마찬가지로 앞서 도 5의 501 단계의 응용 프로그램이 초기화되는 과정에 대한 상세 흐름도이다. 도 9는 도 8과 비교할 때, 응용 프로그램의 모든 데이터 및 스레드(thread)를 초기화하지 않는다.9 is a detailed flowchart illustrating a process of initializing an application program according to another embodiment of the present invention. Referring to FIG. 9, as in FIG. 8, a detailed flowchart of a process of initializing an application program of step 501 of FIG. 5 is described. FIG. 9 does not initialize all data and threads of an application as compared to FIG. 8.

901 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS)를 초기화한다.In operation 901, the controller 110 initializes an operating system (OS) installed in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts.

902 단계에서, 제어부(110)는 운영체계(OS)가 초기화되면 화상형성장치(2)에 설치된 적어도 하나의 응용 프로그램을 실행한다.In operation 902, when the operating system (OS) is initialized, the controller 110 executes at least one application program installed in the image forming apparatus 2.

903 단계에서, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인지 정상 부팅(normal booting)인지 판단한다. 부팅 모드가 부트 이미지 생성 모드인 경우 904 단계로 진행되고, 부팅 모드가 정상 부팅인 경우 906 단계로 진행된다.In step 903, the controller 110 determines whether the boot mode is a boot image generation mode or normal booting. If the boot mode is a boot image creation mode, the process proceeds to step 904. If the boot mode is a normal boot, the process proceeds to step 906.

904 단계에서, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인 경우 실행된 응용 프로그램에 대한 데이터 및 스레드(thread) 중 사용자에 의해 변경될 수 없는 데이터 및 스레드를 선택적으로 초기화함으로써, 실행된 응용 프로그램을 초기화한다.In operation 904, the controller 110 selectively initializes data and threads that cannot be changed by a user among threads and data for an executed application when the boot mode is a boot image generation mode, thereby executing the executed application. Initialize the program.

905 단계에서, 부트 이미지 생성부(120)는 초기화된 응용 프로그램을 이용하여 부트 이미지를 생성한다.In operation 905, the boot image generator 120 generates a boot image by using the initialized application program.

906 단계에서, 제어부(110)는 부팅 모드가 정상 부팅인 경우 실행된 응용 프로그램을 초기화한다.In step 906, the controller 110 initializes an executed application program when the boot mode is normal booting.

907 단계에서, 제어부(110)는 화상형성장치(2)의 정상 부팅을 완료한다.In operation 907, the controller 110 completes normal booting of the image forming apparatus 2.

이와 같이 도 9에 따르면, 제어부(110)는 부팅 모드가 부트 이미지 생성 모드인 경우 부트 이미지가 생성되기 전에 선택적으로 응용 프로그램의 데이터 및 스레드(thread)를 초기화함으로써 가변 정보가 두 번 초기화되지 않을 수 있다. 즉, 가변 정보는 부트 이미지 생성을 위해서는 초기화되지 않고 빠른 부팅시에만 초기화되기 때문에 부트 이미지를 생성하는 시간을 줄일 수 있다.As described above, according to FIG. 9, when the boot mode is a boot image generation mode, the variable information may not be initialized twice by selectively initializing data and threads of an application program before the boot image is generated. have. That is, the variable information is not initialized to generate a boot image, but is initialized only at a quick boot time, thereby reducing the time for creating a boot image.

다시 도 1b를 참고하면, 사용자 인터페이스부(30)는 정보 입력 장치를 사용하여 사용자로부터 정보를 입력받거나, 화상형성장치(2)에서 처리되는 정보를 사용자에게 보고한다.Referring back to FIG. 1B, the user interface unit 30 receives information from a user using an information input device or reports information processed by the image forming apparatus 2 to the user.

도 10은 본 발명의 일 실시예에 따라 사용자 인터페이스부(30)에 표시된 부팅 모드를 선택하는 화면을 도시한 도면이다. 앞서 설명한 바와 같이, 부팅 모드는 빠른 부팅(fast booting), 정상 부팅(normal booting) 및 부트 이미지 생성 모드를 포함한다. 사용자는 사용자 인터페이스부(30)를 통해 도 10과 같은 화면에서 부팅 모드를 선택할 수 있다.10 is a diagram illustrating a screen for selecting a booting mode displayed on the user interface unit 30 according to an embodiment of the present invention. As described above, the boot modes include fast booting, normal booting, and boot image creation modes. The user may select a booting mode on the screen as shown in FIG. 10 through the user interface unit 30.

도 11은 본 발명의 일 실시예에 따라 부트 이미지 생성 모드에 따라 부트 이미지가 생성될 때 사용자 인터페이스부(30)에 표시되는 화면을 도시한 도면이다. 도 11을 참고하면, 부트 이미지를 생성하는 진행 상황에 대해 도시되어 있다. 특히, 진행 상황은 백분율과 같은 숫자(10) 또는 그래프(20) 등의 다양한 형태로 표시될 수 있다. 나아가서, 사용자에게 필요한 메세지(30)도 함께 표시될 수 있다.FIG. 11 is a diagram illustrating a screen displayed on the user interface unit 30 when a boot image is generated according to a boot image generation mode according to an embodiment of the present invention. Referring to FIG. 11, a progress of generating a boot image is illustrated. In particular, the progress may be displayed in various forms such as a number 10 such as a percentage or graph 20. Further, the message 30 required by the user may also be displayed.

이와 같은 도 10 및 11의 화면 구성은 일 실시예에 해당될 뿐, 다른 형태로 변경될 수 있음을 당해 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.Those skilled in the art may understand that the screen configuration of FIGS. 10 and 11 corresponds to an exemplary embodiment and may be changed into other forms.

이제까지, 화상형성장치(2)에서 부트 이미지를 생성하는 과정에 대해 살펴보았다. 이하에서는 화상형성장치(2)에서 생성된 부트 이미지를 이용하여 빠른 부팅을 수행하는 과정에 대해 살펴보도록 하겠다.So far, the process of generating a boot image in the image forming apparatus 2 has been described. Hereinafter, a process of performing a quick boot using the boot image generated by the image forming apparatus 2 will be described.

도 12는 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 빠른 부팅을 수행하는 프로세서(10)를 포함하는 화상형성장치(2)의 구성도이다. 도 12를 참고하면, 화상형성장치(2)는 도 1b에 도시된 바와 같이 프로세서(10) 및 메모리부(20)를 포함한다. 그러나, 본 실시예의 설명의 편의를 위하여 다른 구성 요소들은 생략하여 도시하였다. 또한, 도 12에는 도 1c에 도시된 프로세서(10)의 구성 요소들 중 본 실시예와 관련된 구성 요소들만 도시되었음을 당해 기술분야에서 통상의 지식을 가진 자라면 알 수 있다.12 is a block diagram of an image forming apparatus 2 including a processor 10 that performs a fast boot using a boot image according to an embodiment of the present invention. Referring to FIG. 12, the image forming apparatus 2 includes a processor 10 and a memory unit 20 as shown in FIG. 1B. However, other components are omitted for convenience of description of the present embodiment. 12, only those of ordinary skill in the art will appreciate that only components related to the present exemplary embodiment of the components of the processor 10 illustrated in FIG. 1C are illustrated.

프로세서(10)는 부팅부(140) 및 로딩부(150)를 포함한다. 그리고, 메모리부(20)는 도 1b에서 설명한 바와 같이, 휘발성 메모리(210) 및 비휘발성 메모리(220)를 포함한다.The processor 10 includes a booting unit 140 and a loading unit 150. As described with reference to FIG. 1B, the memory unit 20 includes a volatile memory 210 and a nonvolatile memory 220.

도 13은 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 화상형성장치(2)의 빠른 부팅을 수행하는 방법의 흐름도이다. 도 13을 참고하면, 부트 이미지를 이용한 빠른 부팅 방법은 도 12의 화상형성장치(2)에서 시계열적으로 수행되는 방법이다. 따라서, 이하에서는 도 12 및 13을 연계하여 부트 이미지를 이용한 빠른 부팅 방법을 설명하도록 하겠다.13 is a flowchart of a method of performing a fast boot of the image forming apparatus 2 using a boot image according to an embodiment of the present invention. Referring to FIG. 13, a fast booting method using a boot image is a method performed in time series in the image forming apparatus 2 of FIG. 12. Therefore, hereinafter, a quick boot method using a boot image will be described with reference to FIGS. 12 and 13.

1301 단계에서, 부팅부(140)는 화상형성장치(2)의 전원이 인가된 경우 화상형성장치(2)의 부팅을 시작한다. 즉, 부팅부(140)는 부트로더를 초기화한다.In operation 1301, the booting unit 140 starts to boot the image forming apparatus 2 when the power of the image forming apparatus 2 is applied. That is, the booting unit 140 initializes the boot loader.

1302 단계에서, 로딩부(150)는 화상형성장치(2)에 미리 저장된 부트 이미지를 로드한다. 여기서, 부트 이미지는 앞서 설명된 부트 이미지에 해당된다. 보다 상세하게 설명하면, 1301 단계의 부팅이 시작되기 전에 미리 저장된, 화상형성장치(2)에 설치된 운영체계(OS) 및 적어도 하나의 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스가 종료된 후 화상형성장치(2)에서 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지이다.In operation 1302, the loading unit 150 loads a boot image stored in the image forming apparatus 2 in advance. Here, the boot image corresponds to the boot image described above. In more detail, the operating system of the operating system (OS) installed in the image forming apparatus 2 and the processes that are executed in a state where initialization of at least one application program is completed before the booting of the step 1301 is started, and It is a boot image containing information on the system state during which processes running in the image forming apparatus 2 are stopped after a process not used for executing an application is terminated.

1303 단계에서, 부팅부(140)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원한다.In operation 1303, the booting unit 140 restores the image forming apparatus 2 to the system state included in the boot image based on the loaded boot image.

도 14는 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 화상형성장치(2)의 빠른 부팅을 수행하는 방법의 상세 흐름도이다. 도 14에 도시된 빠른 부팅 방법은 도 13에 도시된 빠른 부팅 방법을 보다 상세하게 도시한 흐름도에 해당된다.14 is a detailed flowchart of a method of performing a fast boot of the image forming apparatus 2 using a boot image according to an embodiment of the present invention. The quick boot method illustrated in FIG. 14 corresponds to a flowchart illustrating the quick boot method illustrated in FIG. 13 in more detail.

1401 단계에서, 부팅부(140)는 부팅 모드가 부트 이미지를 이용한 빠른 부팅인 경우 현재 화상형성장치(2)에서 동작 중인 프로세스들을 정지(suspend)한다.In operation 1401, the booting unit 140 suspends processes currently running in the image forming apparatus 2 when the booting mode is fast booting using the boot image.

1402 단계에서, 부팅부(140)는 프로세스들의 정지가 완료된 경우 화상형성장치(2)가 정지되도록 제어한다. 화상형성장치(2)가 정지되면, 화상형성장치(2)의 네트워크 장치와 USB 장치와 같은 주변 장치들도 함께 정지된다. 또한, 화상형성장치(2)의 프린팅부, 팩스부 등과 같은 내부 장치들도 함께 정지될 수 있다.In operation 1402, the booting unit 140 controls the image forming apparatus 2 to stop when the process stops. When the image forming apparatus 2 is stopped, peripheral devices such as a network device and a USB device of the image forming apparatus 2 are also stopped. In addition, internal devices such as a printing unit, a fax unit, and the like of the image forming apparatus 2 may also be stopped.

이와 같이 1401 단계에서 프로세스들을 정지시키고 1402 단계에서 화상형성장치(2)를 정지시키는 이유는, 부트 이미지를 로드하기 위한 준비 과정들에 해당된다.The reason for stopping the processes in step 1401 and stopping the image forming apparatus 2 in step 1402 corresponds to preparations for loading a boot image.

1403 단계에서, 로딩부(150)는 비휘발성 메모리(220)에 미리 저장된 부트 이미지를 휘발성 메모리(210)로 로드한다.In operation 1403, the loading unit 150 loads the boot image stored in the nonvolatile memory 220 into the volatile memory 210.

1404 단계에서, 부팅부(140)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원한다.In operation 1404, the booting unit 140 restores the image forming apparatus 2 to the system state included in the boot image based on the loaded boot image.

1405 단계에서, 부팅부(140)는 정지된 프로세스들을 다시 실행하고, 화상형성장치(2)를 다시 구동한다.In operation 1405, the booting unit 140 executes the stopped processes again and drives the image forming apparatus 2 again.

1406 단계에서, 부팅부(140)는 운영체계(OS), 응용 프로그램 및 다시 실행된 프로세스들에서 사용되는 파일시스템들을 마운트(mount)한다. 예를 들어, 화상형성장치(2)에서 마운트되는 파일시스템들은 사용자 문서, 사용자 주소록, 임시 프린트 데이터, 스캔 이미지 데이터 등을 포함한다. 하지만, 이에 한정되지 않고 다른 사용자 정보들에 대한 파일시스템도 마운트될 수 있다. In operation 1406, the booting unit 140 mounts file systems used in an operating system (OS), an application program, and re-executed processes. For example, file systems mounted in the image forming apparatus 2 include a user document, a user address book, temporary print data, scanned image data, and the like. However, the present invention is not limited thereto, and file systems for other user information may be mounted.

1407 단계에서, 부팅부(140)는 추가적으로 필요한 프로세스들을 실행한다. 예를 들어, 리눅스 운영체계(Linux OS)의 경우 부팅부(140)는 samba 또는 ssh 등과 같은 프로세스들을 추가적으로 실행할 수 있다. 또한, 화상형성장치(2)의 펌웨어(F/W)를 업데이트하는 응용 프로그램의 프로세스, 사용자 및 개발 로그 등을 저장할 수 있는 프로그램의 프로세스, 사용자에 의해 직접 설치된 프로그램의 프로세스 등이 실행될 수 있다. 하지만, 추가적으로 실행할 프로세스가 없는 경우 부팅부(140)는 1407 단계를 생략할 수 있다.In operation 1407, the booting unit 140 executes additional processes. For example, in the case of a Linux OS, the booting unit 140 may additionally execute processes such as samba or ssh. In addition, a process of an application program for updating the firmware (F / W) of the image forming apparatus 2, a process of a program capable of storing a user and a development log, and the like, a process of a program directly installed by the user, and the like may be executed. However, if there is no additional process to execute, the booting unit 140 may omit step 1407.

1408 단계에서, 부팅부(140)는 화상형성장치(2)에 필요한 주변 장치를 구동하기 위한 장치 드라이버(device driver)를 실행한다. 예를 들어, 부팅부(140)는 USB 장치와 같은 주변 장치를 구동하기 위한 USB driver를 실행한다. 또한, 예를 들어 화상형성장치(2)의 프린팅부, 팩스부, 스캐닝부 등과 통신할 수 있는 드라이버를 실행한다.In operation 1408, the booting unit 140 executes a device driver for driving a peripheral device required for the image forming apparatus 2. For example, the booting unit 140 executes a USB driver for driving a peripheral device such as a USB device. Further, for example, a driver that can communicate with a printing unit, a fax unit, a scanning unit, or the like of the image forming apparatus 2 is executed.

1409 단계에서, 부팅부(140)는 1408 단계에서 실행된 장치 드라이버(device driver)에 따라 주변 장치를 구동한다. 즉, 앞서 설명한 바와 같이 부팅부(140)는 주변 장치와 통신하여 초기화 여부 및 동작 가능 상태를 확인하고 주변 장치를 구동한다. 예를 들어, 부팅부(140)는 화상형성장치(2)의 프린팅부, 팩스부, 스캐닝부 등을 구동한다.In operation 1409, the booting unit 140 drives the peripheral device according to the device driver executed in operation 1408. That is, as described above, the booting unit 140 communicates with the peripheral device to check whether it is initialized and operable and to drive the peripheral device. For example, the booting unit 140 drives a printing unit, a fax unit, a scanning unit, and the like of the image forming apparatus 2.

1410 단계에서, 부팅부(140)는 부트 이미지에 초기화되어 저장된 응용 프로그램을 다시 실행한다.In operation 1410, the booting unit 140 executes the application program initialized and stored in the boot image again.

1411 단계에서, 부팅부(140)는 응용 프로그램을 재초기화한다. 이 때, 부팅부(140)는 앞서 설명된 응용 프로그램의 가변 정보와 같이 사용자에 의해 변경될 수 있는 데이터 및 스레드(thread)를 초기화할 수 있다. 보다 상세하게 설명하면, 재초기화가 필요한 가변 정보는 사용자 및 시스템에 의해 변경이 일어나는 데이터들로, 예를 들어 히스토리 정보, 카운트(count) 정보, 옵션 정보 등을 포함한다. 화상형성장치(2)의 경우 가변 정보는 작업(Job) 히스토리 정보 및 사용자 사용 이력 정보, 토너(toner) 및 트레이(tray) 정보, 네트워크 설정 정보 등을 포함한다. 또한, 가변 정보는 사용자에 의해 변경된 응용 프로그램의 옵션 정보, 복사(copy) 기능에서 사용자에 의해 설정된 옵션 정보 등을 포함한다.In operation 1411, the booting unit 140 reinitializes the application program. In this case, the booting unit 140 may initialize data and threads that may be changed by the user, such as variable information of the application program described above. In more detail, the variable information that needs to be reinitialized is data to be changed by the user and the system, for example, history information, count information, option information, and the like. In the case of the image forming apparatus 2, the variable information includes job history information and user usage history information, toner and tray information, network setting information, and the like. In addition, the variable information includes option information of an application program changed by the user, option information set by the user in a copy function, and the like.

1412 단계에서, 부팅부(140)는 화상형성장치(2)의 빠른 부팅을 완료한다.In operation 1412, the booting unit 140 completes fast booting of the image forming apparatus 2.

이제까지, 화상형성장치(2)에서 부트 이미지를 이용하여 빠른 부팅을 수행하는 과정에 대해 살펴보았다. 이와 같이 부트 이미지를 이용하여 빠른 부팅을 수행할 경우에는 정상 부팅과 달리 부트 이미지에 저장된 시스템 상태부터 부팅되므로, 화상형성장치(2)의 부팅 속도를 개선시킬 수 있다. 특히, 부팅 속도가 느린 미들웨어를 사용해야 하는 시스템의 경우 부팅 시간이 많이 걸린다. 예를 들어, Java와 같은 미들웨어를 사용하는 시스템은 C언어 기반의 시스템에 비하여 부팅 속도가 늦을 수 밖에 없다. 나아가서, Spring framework과 같은 프레임워크(framework)를 Java에서 사용할 경우에는 프로그램 개발 편의성 및 확장성을 제공해 줄 수 있지만, 부팅 속도가 현저히 느려질 수 있다. 본 실시예에 따라 생성된 부트 이미지를 이용하여 시스템을 부팅할 경우에는 아래의 표 1과 같이 부팅 속도 또는 부팅 시간이 개선될 수 있다.So far, the process of performing a quick boot using the boot image in the image forming apparatus 2 has been described. When fast booting is performed using the boot image as described above, since the system boots from the system state stored in the boot image, unlike the normal booting, the booting speed of the image forming apparatus 2 can be improved. In particular, a system that requires the use of slow boot middleware can take a long time to boot. For example, a system that uses middleware such as Java may be slower to boot than a C-based system. Furthermore, when using a framework such as Spring framework in Java, it can provide program development convenience and extensibility, but booting speed can be significantly slowed down. When booting a system using the boot image generated according to the present embodiment, booting speed or boot time may be improved as shown in Table 1 below.

표 1은 ARM CPU 800Mhz 및 512MB RAM을 가진 복합기(MFP)에서 정상 부팅과 빠른 부팅에서의 각각의 기능들의 활성화 시간을 비교한 표이다. 다만, 표 1의 시간은 본 실시예를 설명하기 위한 하나의 예시일 뿐, 본 실시예는 이에 한정되지 않는다.Table 1 compares the activation times of the functions for normal boot and fast boot in MFPs with ARM CPU 800Mhz and 512MB RAM. However, the time in Table 1 is only one example for explaining the present embodiment, the present embodiment is not limited thereto.

구분division COPY 화면 표시 시점COPY screen display time Printing 가능 시점Printing time 전체 부팅 완료 시점Full boot completion point 정상 부팅
(cold booting)
Normal boot
(cold booting)
3분 40초3 minutes 40 seconds 5분 30초5 minutes 30 seconds 10분 20초10 minutes 20 seconds
부트 이미지를 이용한 빠른 부팅Fast boot using a boot image 1분 10초1 minute 10 seconds 1분 10초1 minute 10 seconds 2분2 minutes

다시 도 1b를 참고하면, 화상형성장치(2)에는 다양한 종류의 소프트웨어들이 미리 설치되어 있다. 예를 들어, 화상형성장치(2)에는 펌웨어(firmware), 운영체계(OS), 응용 프로그램 등이 설치되어 있다. 그리고, 이와 같은 소프트웨어들은 비휘발성 메모리(220)에 저장된다.Referring again to FIG. 1B, various types of software are preinstalled in the image forming apparatus 2. For example, the image forming apparatus 2 is provided with firmware, an operating system, an application program, and the like. In addition, such software is stored in the nonvolatile memory 220.

사용자는 화상형성장치(2)를 사용하는 과정에서 소프트웨어들을 변경할 경우가 있다. 예를 들어, 소프트웨어에 대한 변경 요청은 펌웨어의 업데이트에 대한 요청, 응용 프로그램의 설치에 대한 요청, 응용 프로그램의 업데이트에 대한 요청 및 응용 프로그램의 삭제에 대한 요청 중 적어도 하나일 수 있다.The user may change the software in the process of using the image forming apparatus 2. For example, the change request for the software may be at least one of a request for updating the firmware, a request for installing the application, a request for updating the application, and a request for deleting the application.

이와 같은 변경 요청에 따라 소프트웨어가 변경되면, 부트 이미지를 업데이트하여야 할 경우가 있다. 예를 들어, 응용 프로그램을 실행할 때 설정에 사용되는 값들은 부트 이미지의 생성 후에 변경될 수 없는 경우가 있다. 또한, 변경된 소프트웨어에 대한 정보와 미리 저장된 부트 이미지에 포함된 소프트웨어에 대한 정보와 달라질 수 있어, 소프트웨어를 실행하는데 충돌이 발생될 경우가 있다. 이와 같은 경우에는 부트 이미지를 업데이트할 필요가 있다.If the software changes in response to such a change request, the boot image may need to be updated. For example, the values used for configuration when running an application may not change after the boot image is created. In addition, since the information on the changed software and the information on the software included in the pre-stored boot image may be different, there may be a conflict in executing the software. In such cases, you will need to update the boot image.

우선, 사용자에 의한 펌웨어 업데이트에 대한 요청이 있는 경우 부트 이미지를 업데이트하는 과정에 대해서는 이하에서 설명하도록 하겠다.First, a process of updating a boot image when a user requests a firmware update will be described below.

도 15는 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 프로세서(10)를 포함하는 화상형성장치(2)의 구성도이다. 도 15를 참고하면, 화상형성장치(2)는 도 1b에 도시된 바와 같이 프로세서(10) 및 메모리부(20)를 포함한다. 그러나, 본 실시예의 설명의 편의를 위하여 다른 구성 요소들은 생략하여 도시하였다. 또한, 도 15에는 도 1c에 도시된 프로세서(10)의 구성 요소들 중 본 실시예와 관련된 구성 요소들만 도시되었음을 당해 기술분야에서 통상의 지식을 가진 자라면 알 수 있다.15 is a block diagram of an image forming apparatus 2 including a processor 10 for updating a boot image according to an exemplary embodiment. Referring to FIG. 15, the image forming apparatus 2 includes a processor 10 and a memory unit 20 as shown in FIG. 1B. However, other components are omitted for convenience of description of the present embodiment. In addition, it will be appreciated by those skilled in the art that FIG. 15 shows only components related to the present embodiment among the components of the processor 10 illustrated in FIG. 1C.

프로세서(10)는 제어부(110) 및 부트 이미지 생성부(120)를 포함한다.The processor 10 includes a controller 110 and a boot image generator 120.

도 16은 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 흐름도이다. 도 16을 참고하면, 부트 이미지 생성 방법은 도 15의 화상형성장치(2)에서 시계열적으로 수행되는 방법이다. 따라서, 이하에서는 도 15 및 16을 연계하여 부트 이미지를 업데이트하는 방법을 설명하도록 하겠다.16 is a flowchart of a method of updating a boot image according to an embodiment of the present invention. Referring to FIG. 16, the boot image generating method is a method performed in time series in the image forming apparatus 2 of FIG. 15. Therefore, hereinafter, a method of updating a boot image by referring to FIGS. 15 and 16 will be described.

1601 단계에서, 제어부(110)는 화상형성장치(2)에 설치된 소프트웨어에 대한 변경 요청이 있는 경우, 화상형성장치(2)의 적어도 하나의 파일시스템의 속성을 변경한다.In step 1601, when there is a change request for software installed in the image forming apparatus 2, the controller 110 changes the attributes of at least one file system of the image forming apparatus 2.

1602 단계에서, 제어부(110)는 화상형성장치(2)에 저장된 부트 이미지를 삭제한다.In operation 1602, the controller 110 deletes the boot image stored in the image forming apparatus 2.

1603 단계에서, 제어부(110) 변경 요청에 따라 소프트웨어를 변경한다.In step 1603, the controller 110 changes the software according to the change request.

1604 단계에서, 부트 이미지 생성부(120)는 변경된 소프트웨어에 기초하여 부트 이미지를 재생성한다.In operation 1604, the boot image generator 120 regenerates the boot image based on the changed software.

도 17a은 본 발명의 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 상세 흐름도이다. 도 17a에 도시된 부트 이미지 업데이트 방법은 도 16에 도시된 부트 이미지 업데이트 방법을 보다 상세하게 도시한 흐름도에 해당된다. 도 17a은 펌웨어를 업데이트할 경우 펌웨어에 새로운 부트 이미지가 포함되지 않는 경우에 부트 이미지를 업데이트하는 과정에 대한 도면일 수 있다. 또한, 도 17a은 응용 프로그램의 설치, 업데이트, 또는 삭제시 부트 이미지를 업데이트하는 과정에 대한 도면일 수 있다.17A is a detailed flowchart of a method of updating a boot image according to an embodiment of the present invention. The boot image updating method illustrated in FIG. 17A corresponds to a flowchart illustrating the boot image updating method illustrated in FIG. 16 in more detail. FIG. 17A illustrates a process of updating a boot image when a firmware does not include a new boot image when updating firmware. Also, FIG. 17A may be a diagram of a process of updating a boot image when installing, updating, or deleting an application.

1701 단계에서, 제어부(110)는 화상형성장치(2)에 설치된 소프트웨어에 대한 변경 요청이 있는지 여부를 판단한다. 제어부(110)는 판단 결과 설치된 소프트웨어에 대한 변경 요청이 없는 경우 부트 이미지를 업데이트하지 않는다.In operation 1701, the controller 110 determines whether there is a change request for software installed in the image forming apparatus 2. If there is no change request for the installed software, the controller 110 does not update the boot image.

1702 단계에서, 제어부(110)는 설치된 소프트웨어의 변경 요청이 있는 경우, 화상형성장치(2)의 적어도 하나의 파일시스템의 속성을 변경한다. 이 때, 제어부(110)는 읽기 전용(read only) 상태인 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경한다.In step 1702, the controller 110 changes the attributes of at least one file system of the image forming apparatus 2 when there is a request for changing the installed software. At this time, the controller 110 changes the attribute of the file system that is in a read only state to a read / write state.

1703 단계에서, 제어부(110)는 화상형성장치(2)의 비휘발성 메모리(220)에 미리 저장된 부트 이미지를 삭제한다.In operation 1703, the controller 110 deletes the boot image stored in the nonvolatile memory 220 of the image forming apparatus 2 in advance.

1704 단계에서, 제어부(110)는 변경 요청에 따라 소프트웨어를 변경한다. 즉, 제어부(110)는 펌웨어를 업데이트하거나, 응용 프로그램을 설치, 업데이트 또는 삭제한다.In step 1704, the control unit 110 changes the software according to the change request. That is, the controller 110 updates the firmware or installs, updates or deletes an application program.

1705 단계에서, 제어부(110)는 소프트웨어의 변경이 완료된 경우 읽기/쓰기(read/write) 상태인 파일시스템의 속성을 읽기 전용(read only) 상태로 다시 변경한다.In operation 1705, when the change of the software is completed, the controller 110 changes the attribute of the file system which is in a read / write state back to a read only state.

1706 단계에서, 부트 이미지 생성부(120)는 변경된 소프트웨어에 기초하여 화상형성장치(2)를 재부팅함으로써 부트 이미지를 재생성한다. 여기서, 재생성하는 과정은 화상형성장치(2)의 부팅이 시작된 후 부트 이미지를 생성하는, 앞서 설명된 부트 이미지를 생성하는 과정을 이용한다. 따라서, 자세한 설명은 생략하도록 하겠다.In operation 1706, the boot image generator 120 regenerates the boot image by rebooting the image forming apparatus 2 based on the changed software. Here, the regenerating process uses the above-described process of generating the boot image, which generates a boot image after the booting of the image forming apparatus 2 starts. Therefore, detailed description will be omitted.

도 17b는 본 발명의 다른 일 실시예에 따른 부트 이미지를 업데이트하는 방법의 상세 흐름도이다. 도 17b에 도시된 부트 이미지 업데이트 방법은 도 16에 도시된 부트 이미지 업데이트 방법을 보다 상세하게 도시한 흐름도에 해당된다. 도 17b는 도 17a와 달리, 펌웨어를 업데이트할 경우 펌웨어에 새로운 부트 이미지가 포함되어 있는 경우에 부트 이미지를 업데이트하는 과정에 대한 도면일 수 있다.17B is a detailed flowchart of a method of updating a boot image according to another embodiment of the present invention. The boot image updating method illustrated in FIG. 17B corresponds to a flowchart illustrating the boot image updating method illustrated in FIG. 16 in more detail. Unlike FIG. 17A, FIG. 17B illustrates a process of updating a boot image when a new boot image is included in the firmware when the firmware is updated.

1711 단계에서, 제어부(110)는 화상형성장치(2)에 설치된 소프트웨어에 대한 변경 요청이 있는지 여부를 판단한다. 제어부(110)는 판단 결과 설치된 소프트웨어에 대한 변경 요청이 없는 경우 부트 이미지를 업데이트하지 않는다.In operation 1711, the controller 110 determines whether there is a change request for software installed in the image forming apparatus 2. If there is no change request for the installed software, the controller 110 does not update the boot image.

1712 단계에서, 제어부(110)는 설치된 소프트웨어의 변경 요청이 있는 경우, 화상형성장치(2)의 적어도 하나의 파일시스템의 속성을 변경한다. 이 때, 제어부(110)는 읽기 전용(read only) 상태인 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경한다.In operation 1712, when there is a request for changing the installed software, the controller 110 changes the attributes of at least one file system of the image forming apparatus 2. At this time, the controller 110 changes the attribute of the file system that is in a read only state to a read / write state.

1713 단계에서, 제어부(110)는 화상형성장치(2)의 비휘발성 메모리(220)에 미리 저장된 부트 이미지를 삭제한다.In operation 1713, the controller 110 deletes the boot image stored in the nonvolatile memory 220 of the image forming apparatus 2 in advance.

1714 단계에서, 제어부(110)는 변경 요청에 따라 소프트웨어를 변경한다. 즉, 제어부(110)는 펌웨어를 업데이트한다.In step 1714, the controller 110 changes the software according to the change request. That is, the controller 110 updates the firmware.

1715 단계에서, 제어부(110)는 펌웨어와 같은 소프트웨어가 변경된 경우, 상기 변경된 소프트웨어에 부트 이미지가 저장되어 있는지 여부를 판단한다. 이 때, 펌웨어에는 다양한 형태의 부트 이미지가 저장되어 있을 수 있다. 예를 들어, 하나의 파일의 부트 이미지 파일 형태로 저장될 수 있다. 또는, 화상형성장치(2)에 기존에 저장된 부트 이미지와 공통적인 부분에 대한 부트 이미지만 제공되고 나머지 부분은 추후 빠른 부팅시 초기화되도록 제공될 수 있다.In operation 1715, when the software, such as firmware, is changed, the controller 110 determines whether a boot image is stored in the changed software. In this case, various types of boot images may be stored in the firmware. For example, one file may be stored as a boot image file. Alternatively, only the boot image for the part common to the previously stored boot image may be provided to the image forming apparatus 2, and the remaining part may be provided to be initialized at a later time.

만약, 변경된 펌웨어에 부트 이미지가 저장되지 않은 것으로 판단된 경우, 1717 단계로 바로 진행된다.If it is determined that the boot image is not stored in the changed firmware, the process proceeds directly to step 1717.

1716 단계에서, 제어부(110)는 변경된 펌웨어에 부트 이미지가 저장된 것으로 판단된 경우, 변경된 펌웨어에 저장된 부트 이미지를 비휘발성 메모리(220)로 복사한다.In operation 1716, when it is determined that the boot image is stored in the changed firmware, the controller 110 copies the boot image stored in the changed firmware to the nonvolatile memory 220.

1717 단계에서, 제어부(110)는 소프트웨어의 변경이 완료된 경우 읽기/쓰기(read/write) 상태인 파일시스템의 속성을 읽기 전용(read only) 상태로 다시 변경한다.In operation 1717, when the change of the software is completed, the controller 110 changes the attribute of the file system which is in a read / write state back to a read only state.

1718 단계에서, 부트 이미지 생성부(120)는 화상형성장치(2)의 재부팅후 복사된 부트 이미지에 기초하여 부트 이미지를 재생성한다. 여기서, 1718 단계에서의 부트 이미지의 재생성은 복사된 부트 이미지를 화상형성장치(2)의 새로운 부트 이미지로써 설치하는 것을 의미한다.In operation 1718, the boot image generator 120 regenerates the boot image based on the copied boot image after the reboot of the image forming apparatus 2. Here, regeneration of the boot image in operation 1718 means installing the copied boot image as a new boot image of the image forming apparatus 2.

다시 도 2를 참고하면, 프로세서(10)는 부트 이미지에 에러가 있는지 여부를 검사하고(206 단계), 부트 이미지에 에러가 있는 것으로 검사된 경우 부트 이미지를 복구한다(210 단계). 이와 같은 과정에 대해 보다 상세하게 설명하면, 이하와 같다.Referring back to FIG. 2, the processor 10 checks whether there is an error in the boot image (step 206), and restores the boot image (step 210) when it is determined that there is an error in the boot image. If this process is demonstrated in more detail, it is as follows.

도 18은 본 발명의 일 실시예에 따른 부트 이미지의 에러를 복구하는 프로세서(10)를 포함하는 화상형성장치(2)의 구성도이다. 도 18을 참고하면, 화상형성장치(2)는 도 1b에 도시된 바와 같이 프로세서(10) 및 메모리부(20)를 포함한다. 그러나, 본 실시예의 설명의 편의를 위하여 다른 구성 요소들은 생략하여 도시하였다. 또한, 도 18에는 도 1c에 도시된 프로세서(10)의 구성 요소들 중 본 실시예와 관련된 구성 요소들만 도시되었음을 당해 기술분야에서 통상의 지식을 가진 자라면 알 수 있다.18 is a block diagram of an image forming apparatus 2 including a processor 10 for recovering an error of a boot image, according to an exemplary embodiment. Referring to FIG. 18, the image forming apparatus 2 includes a processor 10 and a memory unit 20 as shown in FIG. 1B. However, other components are omitted for convenience of description of the present embodiment. In addition, it will be appreciated by those skilled in the art that FIG. 18 shows only components related to the present embodiment among the components of the processor 10 illustrated in FIG. 1C.

프로세서(10)는 제어부(110), 부트 이미지 생성부(120) 및 부팅부(140)를 포함한다.The processor 10 includes a controller 110, a boot image generator 120, and a booter 140.

도 19는 본 발명의 일 실시예에 따른 화상형성장치(2)의 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법의 흐름도이다. 도 19를 참고하면, 부트 이미지의 에러 복구 방법은 도 18의 화상형성장치(2)에서 시계열적으로 수행되는 방법이다. 따라서, 이하에서는 도 18 및 19를 연계하여 부트 이미지의 에러 복구 방법을 설명하도록 하겠다.19 is a flowchart of a method for recovering an error of a boot image for fast booting of the image forming apparatus 2 according to an embodiment of the present invention. Referring to FIG. 19, the error recovery method of the boot image is a method performed in time series in the image forming apparatus 2 of FIG. 18. Therefore, the error recovery method of the boot image will be described below in connection with FIGS. 18 and 19.

1901 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 저장된 제 1 부트 이미지에 에러가 있는 경우 제 1 부트 이미지를 삭제한다. 여기서, 제 1 부트 이미지란 현재 화상형성장치(2)의 부팅이 시작되기 이전의 시점에 생성되어 화상형성장치(2)에 미리 저장된 부트 이미지를 의미한다.In operation 1901, the controller 110 deletes the first boot image when there is an error in the first boot image stored in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts. Here, the first boot image refers to a boot image which is generated at a time before booting of the current image forming apparatus 2 is started and stored in the image forming apparatus 2 in advance.

1902 단계에서, 제어부(110)는 에러를 복구하기 위한 복구 모드를 결정한다. 여기서, 복구 모드는 부트 이미지 생성 모드, 백업 부트 이미지 대체 모드 및 정상 부팅 전환 모드 중 적어도 하나를 포함한다.In step 1902, the controller 110 determines a recovery mode for recovering an error. Here, the recovery mode includes at least one of a boot image creation mode, a backup boot image replacement mode, and a normal boot switching mode.

1903 단계에서, 제어부(110)는 결정된 복구 모드에 따라 제 1 부트 이미지가 백업된 제 2 부트 이미지로 대체하거나 부트 이미지 생성부(120)가 제 3 부트 이미지를 생성하도록 제어하여 에러를 복구한다.In operation 1903, the controller 110 recovers the error by replacing the first boot image with the backup second boot image or by controlling the boot image generator 120 to generate a third boot image according to the determined recovery mode.

1904 단계에서, 부팅부(120)는 대체된 제 2 부트 이미지 또는 생성된 제 3 부트 이미지를 이용하여 빠른 부팅을 수행한다.In operation 1904, the booting unit 120 performs a fast boot using the replaced second boot image or the third boot image generated.

제 1, 2 및 3 부트 이미지는 앞서 도 2, 3, 4 및 5 등에서 설명된 부트 이미지로써, 화상형성장치(2)의 부팅 초기의 시스템 상태에 필요한 정보를 나타내는 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터가 포함된 이미지를 의미한다.The first, second, and third boot images are the boot images described above with reference to FIGS. 2, 3, 4, 5, and the like. Refers to an image that contains data.

도 20은 본 발명의 일 실시예에 따른 화상형성장치(2)의 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법의 상세 흐름도이다. 도 20에 도시된 부트 이미지의 에러 복구 방법은 도 19에 도시된 부트 이미지의 에러 복구 방법을 보다 상세하게 도시한 흐름도에 해당된다.20 is a detailed flowchart of a method of recovering an error of a boot image for fast booting of the image forming apparatus 2 according to an embodiment of the present invention. The error recovery method of the boot image illustrated in FIG. 20 corresponds to a flowchart illustrating the error recovery method of the boot image illustrated in FIG. 19 in more detail.

2001 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 저장된 제 1 부트 이미지에 대하여 에러가 존재하는지 여부를 검사한다. 2001 단계는 앞서 설명된 도 2의 206 단계에 대응된다. 제어부(110)는 에러를 검사하기 위하여 다음과 같은 방법들을 사용한다. 제어부(110)는 검사 결과 저장된 제 1 부트 이미지에 에러가 없는 경우 에러를 복구하지 않는다.In step 2001, the controller 110 checks whether an error exists with respect to the first boot image stored in the image forming apparatus 2 after the booting of the image forming apparatus 2 starts. Step 2001 corresponds to step 206 of FIG. 2 described above. The controller 110 uses the following methods to check for errors. If there is no error in the first boot image stored as a result of the test, the controller 110 does not recover the error.

제 1 부트 이미지를 이용하여 빠른 부팅을 시도한 후 소정 시간 동안 정상적으로 빠른 부팅이 수행되지 않을 경우, 제어부(110)는 제 1 부트 이미지에 대하여 에러가 존재하는 것으로 검사한다. 이를 위하여 제어부(110)는 부트 이미지를 로딩하기 전, 이전 부팅 상태에 대한 플래그(flag)를 체크하고, 정상적인 빠른 부팅이 수행되었다고 판단될 수 있는 부분까지 수행되었다면 정상 부팅 여부를 플래그(flag)에 저장한다.If a quick boot is not normally performed for a predetermined time after attempting a quick boot using the first boot image, the controller 110 checks that an error exists in the first boot image. To this end, the controller 110 checks a flag for a previous boot state before loading a boot image, and if it is performed to a part that can be determined that normal fast booting has been performed, whether the normal booting is performed on the flag. Save it.

또한, 제어부(110)는 제 1 부트 이미지에 포함된 시스템 상태로 복원을 실패할 경우 제 1 부트 이미지에 대하여 에러가 존재하는 것으로 검사한다.In addition, the controller 110 checks that an error exists in the first boot image when restoration to a system state included in the first boot image fails.

나아가서, 제어부(110)는 제 1 부트 이미지에 대한 체크섬(checksum)을 미리 저장된 체크섬과 비교한 후 동일할 경우에는 제 1 부트 이미지에 대하여 에러가 존재하지 않는 것으로 검사하나, 차이가 있을 경우에는 제 1 부트 이미지에 대하여 에러가 존재하는 것으로 검사한다. 체크섬(checksum)은 패리티 비트(parity bit) 방식, CRC(Cyclic redundancy checks) 방식, 해싱(hashing) 방식 등의 특정 값을 계산할 수 있는 다양한 형태를 방식을 이용하여 계산된다. 제어부(110)는 체크섬의 계산이 오래 걸릴 경우에는 헤더(header) 부분, 특정 영역, 여러 작은 영역 등을 선택하여 확인함으로써, 제 1 부트 이미지에 대한 체크섬을 계산할 수 있다.Further, the controller 110 compares a checksum for the first boot image with a checksum stored in advance and checks that there is no error for the first boot image if the same is the same, but if there is a difference, 1 Check the boot image for errors. Checksums are calculated using various types of methods that can calculate specific values, such as parity bit, cyclic redundancy checks (CRC), and hashing. If calculation of the checksum takes a long time, the controller 110 may calculate a checksum for the first boot image by selecting and confirming a header portion, a specific region, various small regions, and the like.

2002 단계에서, 제어부(110)는 검사 결과에 기초하여 제 1 부트 이미지에 에러가 있는 경우 제 1 부트 이미지를 삭제한다.In step 2002, the controller 110 deletes the first boot image when there is an error in the first boot image based on the test result.

2003 단계에서, 제어부(110)는 에러를 복구하기 위한 복구 모드를 결정한다. 여기서, 복구 모드는 부트 이미지 생성 모드, 백업 부트 이미지 대체 모드 및 정상 부팅 전환 모드 중 적어도 하나를 포함한다.In step 2003, the controller 110 determines a recovery mode for recovering an error. Here, the recovery mode includes at least one of a boot image creation mode, a backup boot image replacement mode, and a normal boot switching mode.

2004 단계에서, 제어부(110)는 결정된 복구 모드가 부트 이미지 생성 모드인 경우 화상형성장치(2)가 재부팅되도록 제어한다.In step 2004, the controller 110 controls the image forming apparatus 2 to be rebooted when the determined recovery mode is the boot image generation mode.

2005 단계에서, 제어부(110)는 부트 이미지 생성부(120)가 제 3 부트 이미지를 생성하도록 제어함으로써 에러를 복구한다. 2001 단계는 앞서 설명된 도 2의 210 단계에 대응된다. In step 2005, the controller 110 recovers the error by controlling the boot image generator 120 to generate the third boot image. Step 2001 corresponds to step 210 of FIG. 2 described above.

2006 단계에서, 부팅부(120)는 생성된 제 3 부트 이미지를 이용하여 빠른 부팅을 수행한다.In step 2006, the booting unit 120 performs a quick boot using the generated third boot image.

2007 단계에서, 제어부(110)는 결정된 복구 모드가 백업 부트 이미지 대체 모드인 경우 화상형성장치(2)에 미리 저장된 제 2 부트 이미지를 복사하여 대체함으로써 에러를 복구한다. 여기서, 제 2 부트 이미지는 제 1 부트 이미지가 생성된 과거 시점 또는 제 1 부트 이미지를 이용하여 빠른 부팅이 정상적으로 완료된 과거 시점 중 적어도 하나의 과거 시점에서 제 1 부트 이미지가 백업되어 저장된 부트 이미지를 의미한다. 즉, 제 2 부트 이미지는 제 1 부트 이미지의 백업에 해당되는바, 제 1 부트 이미지와 제 2 부트 이미지는 동일한 정보를 포함할 수 있다. 이후 2006 단계로 진행되어, 부팅부(120)는 대체된 제 2 부트 이미지를 이용하여 빠른 부팅을 수행한다.In operation 2007, when the determined recovery mode is the backup boot image replacement mode, the controller 110 recovers the error by copying and replacing the second boot image stored in the image forming apparatus 2 in advance. Here, the second boot image refers to a boot image in which the first boot image is backed up and stored in at least one past time point among a past time point at which the first boot image is generated or a quick boot time is normally completed using the first boot image. do. That is, since the second boot image corresponds to a backup of the first boot image, the first boot image and the second boot image may include the same information. Subsequently, the process proceeds to step 2006, where the booting unit 120 performs a fast boot using the replaced second boot image.

2008 단계에서, 제어부(110)는 결정된 복구 모드가 정상 부팅 전환 모드인 경우 부트 이미지의 생성 또는 대체 없이 부팅 모드를 정상 부팅으로 전환한다.In step 2008, when the determined recovery mode is a normal boot switching mode, the controller 110 switches the boot mode to normal booting without generating or replacing a boot image.

2009 단계에서, 부팅부(120)는 정상 부팅을 수행한다.In step 2009, the booting unit 120 performs normal booting.

도 21은 본 발명의 일 실시예에 따른 사용자 인터페이스부(30)에 표시된 복구 모드를 선택하는 화면을 도시한 도면이다. 앞서 설명한 바와 같이, 복구 모드는 부트 이미지 생성 모드, 백업 부트 이미지 대체 모드 및 정상 부팅 전환 모드를 포함한다. 사용자 인터페이스부(30)는 사용자에게 복구 모드에 대한 선택 화면을 표시하고, 사용자로부터 복구 모드에 대한 선택을 입력받을 수 있다. 이와 같이, 사용자 인터페이스부(30)를 통해 사용자로부터 복구 모드에 대한 선택을 입력받은 경우, 제어부(110)는 입력된 복구 모드에 기초하여 에러를 복구한다. 또한, 다른 실시예에 따라서는 화상형성장치(2)와 네트워크로 연결된 외부의 다른 디바이스와 네트워크 인터페이스부(40)를 통해 통신함으로써 복구 모드에 대한 선택을 입력받을 수 있다.21 is a diagram illustrating a screen for selecting a recovery mode displayed on the user interface unit 30 according to an embodiment of the present invention. As described above, the recovery mode includes a boot image creation mode, a backup boot image replacement mode, and a normal boot switch mode. The user interface 30 may display a selection screen for the recovery mode to the user and receive a selection for the recovery mode from the user. As such, when a user selects a recovery mode from the user interface 30, the controller 110 recovers an error based on the input recovery mode. In addition, according to another exemplary embodiment, a communication mode may be inputted to another device connected to the image forming apparatus 2 through a network interface unit 40 to receive a selection of a recovery mode.

다시 도 1b를 참고하면, 화상형성장치(2)에 저장된 부트 이미지에 에러가 있는 경우, 사용자에 의해 수동적으로 에러를 복구할 수 있다. 보다 상세하게 설명하면, 사용자가 직접 부트 이미지에 에러가 있다고 인식할 경우 다양한 방법을 통해 시스템을 복구할 수 있다. 예를 들어, 사용자는 화상형성장치(2)의 부팅시 키를 특정 패턴으로 입력하여 복구를 직접 수행할 수 있다. 또는, 사용자는 부트 이미지가 로딩되기 전 USB 장치와 같은 주변 장치를 이용하여 복구할 수 있다.Referring again to FIG. 1B, when there is an error in the boot image stored in the image forming apparatus 2, the error may be manually recovered by the user. In more detail, there are a variety of ways to recover a system if a user directly perceives an error in the boot image. For example, the user may directly perform a recovery by inputting a key in a specific pattern when booting the image forming apparatus 2. Alternatively, the user can recover using a peripheral device such as a USB device before the boot image is loaded.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiment of the present invention can be recorded on the computer-readable recording medium through various means. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

1: 디바이스 2: 화상형성장치
10: 프로세서(CPU) 20: 메모리부
30: 사용자 인터페이스부 40: 네트워크 인터페이스부
110: 제어부 120: 부트 이미지 생성부
130: 스와핑부 140: 부팅부
150: 로딩부 210: 휘발성 메모리
220: 비휘발성 메모리
1: device 2: image forming apparatus
10: processor (CPU) 20: memory
30: user interface unit 40: network interface unit
110: control unit 120: boot image generation unit
130: swapping unit 140: boot unit
150: loading unit 210: volatile memory
220: nonvolatile memory

Claims (36)

화상형성장치의 빠른 부팅을 위한 부트 이미지를 생성하는 방법에 있어서,
상기 화상형성장치의 부팅이 시작된 후 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램을 초기화하는 단계;
상기 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료하는 단계;
상기 화상형성장치에서 실행 중인 프로세스들을 정지(suspend)하는 단계; 및
상기 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 생성하는 단계를 포함하는 방법.
In the method for creating a boot image for fast booting the image forming apparatus,
Initializing an operating system installed in the image forming apparatus and at least one application program after booting of the image forming apparatus starts;
Terminating a process not used to execute the operating system and an application program among the processes executed in the initialization state;
Suspending processes running in the image forming apparatus; And
Creating a boot image that includes information about a system state while the running processes are stopped.
제 1 항에 있어서,
상기 시스템 상태에 대한 정보는
상기 실행 중인 프로세스들이 정지된 상태에서 상기 화상형성장치의 부팅에 필요한 정보를 나타내는, 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터를 포함하는 방법.
The method of claim 1,
Information about the system state
And data in a volatile memory and data in a CPU register indicating information necessary for booting the image forming apparatus in a state where the running processes are stopped.
제 1 항에 있어서,
상기 적어도 하나의 응용 프로그램은
상기 화상형성장치의 복사, 인쇄, 스캔, 팩스, 주소록(Address Book) 및 다큐먼트 박스(Document Box) 중 적어도 하나의 기능을 실행시키기 위한 응용 프로그램인 방법.
The method of claim 1,
The at least one application is
And an application program for executing at least one function of copying, printing, scanning, faxing, an address book, and a document box of the image forming apparatus.
제 1 항에 있어서,
상기 종료하는 단계는
상기 부트 이미지를 생성하는 작업에 사용되지 않는 프로세스, 및 상기 초기화가 완료된 상태에서 실행되는 프로세스들 중 수행 시간이 소정 임계값 이하인 프로세스 중 적어도 하나를 함께 종료하는 방법.
The method of claim 1,
The terminating step is
And at least one of a process not used to generate the boot image, and a process whose execution time is equal to or less than a predetermined threshold value among processes executed in the state where the initialization is completed.
제 1 항에 있어서,
상기 종료된 프로세스에서 사용된 파일시스템 및 상기 부트 이미지를 생성하는 작업에 사용되지 않는 파일시스템 중 적어도 하나를 언마운트(unmount)하는 단계를 더 포함하고,
상기 정지하는 단계는 상기 파일시스템의 언마운트가 완료된 후 상기 실행 중인 프로세스들을 정지하는 방법.
The method of claim 1,
Unmounting at least one of a file system used in the terminated process and a file system not used to generate the boot image;
The stopping step includes stopping the running processes after the unmounting of the file system is completed.
제 5 항에 있어서,
상기 언마운트하는 단계는
상기 운영체계의 초기화가 완료된 상태에서, 적어도 하나의 파일시스템의 속성을 읽기/쓰기 전용(read/write)의 상태로 변경시키는 단계; 및
상기 변경된 상태를 이용하여 상기 파일시스템을 언마운트하는 단계를 포함하는 방법.
The method of claim 5, wherein
The unmounting step
Changing the attributes of at least one file system to a read / write only state when the operating system is initialized; And
Unmounting the filesystem using the modified state.
제 6 항에 있어서,
상기 부트 이미지의 생성이 완료된 경우, 상기 상태가 변경된 파일시스템 중 상기 운영체계에 대한 파일시스템의 속성을 읽기 전용(read only)의 상태로 변경시키는 단계를 더 포함하는 방법.
The method according to claim 6,
And when the creation of the boot image is completed, changing an attribute of a file system for the operating system among the file systems whose state has changed to a read only state.
제 1 항에 있어서,
상기 종료가 완료된 경우 상기 부트 이미지가 저장될 공간을 초기화하는 단계를 더 포함하는 방법.
The method of claim 1,
And initializing a space in which the boot image is to be stored when the termination is completed.
제 1 항에 있어서,
상기 초기화가 완료된 상태에서 상기 화상형성장치의 주변 장치(peripheral device)를 정지(suspend)시키는 단계; 및
상기 화상형성장치의 PCI(peripheral component interconnect) 상태 정보를 저장하는 단계를 더 포함하고,
상기 시스템 상태에 대한 정보는 상기 PCI 상태 정보를 포함하는 방법.
The method of claim 1,
Suspending a peripheral device of the image forming apparatus when the initialization is completed; And
Storing the peripheral component interconnect (PCI) state information of the image forming apparatus;
And wherein the information about the system state includes the PCI state information.
제 1 항에 있어서,
상기 초기화하는 단계는
상기 응용 프로그램에 대한 데이터 및 스레드(thread)를 모두 초기화함으로써 상기 응용 프로그램을 초기화하는 방법.
The method of claim 1,
The initializing step
A method for initializing the application by initializing both data and threads for the application.
제 1 항에 있어서,
상기 초기화하는 단계는
상기 응용 프로그램에 대한 데이터 및 스레드(thread) 중 사용자에 의해 변경될 수 없는 데이터 및 스레드를 선택적으로 초기화함으로써 상기 응용 프로그램을 초기화하는 방법.
The method of claim 1,
The initializing step
And selectively initializing data and threads of the data and threads for the application that cannot be changed by the user.
제 1 항에 있어서,
상기 화상형성장치의 부팅 모드를 판단하는 단계를 더 포함하고,
상기 부트 이미지는 상기 부팅 모드가 상기 부트 이미지를 생성하는 모드로 판단된 경우에 생성되는 방법.
The method of claim 1,
Determining a booting mode of the image forming apparatus;
The boot image is generated when it is determined that the boot mode is a mode for generating the boot image.
제 12 항에 있어서,
상기 화상형성장치의 하드웨어 설정이 변경되었는지 여부를 판단하는 단계를 더 포함하고,
상기 부팅 모드를 판단하는 단계는 상기 하드웨어 설정이 변경된 것으로 판단된 경우 상기 부팅 모드를 판단하는 방법.
13. The method of claim 12,
Determining whether a hardware setting of the image forming apparatus is changed;
The determining of the boot mode may include determining the boot mode when it is determined that the hardware setting has been changed.
제 12 항에 있어서,
상기 화상형성장치에 상기 부트 이미지가 저장되어 있는지 여부를 판단하는 단계를 더 포함하고,
상기 부팅 모드를 판단하는 단계는 상기 부트 이미지가 저장되어 있지 않은 것으로 판단된 경우 상기 부팅 모드를 판단하는 방법.
13. The method of claim 12,
Determining whether the boot image is stored in the image forming apparatus;
The determining of the boot mode may include determining the boot mode when it is determined that the boot image is not stored.
제 12 항에 있어서,
상기 부팅 모드는 빠른 부팅(fast booting), 정상 부팅(normal booting) 및 부트 이미지 생성 모드를 포함하는 방법.
13. The method of claim 12,
The booting mode includes a fast booting, normal booting, and boot image creation mode.
제 12 항에 있어서,
상기 화상형성장치 및 상기 화상형성장치와 네트워크로 연결된 외부의 다른 디바이스 중 적어도 하나를 통하여 상기 부팅 모드에 대한 선택을 입력받는 단계를 더 포함하고,
상기 부팅 모드를 판단하는 단계는 상기 입력된 부팅 모드에 기초하여 상기 부팅 모드를 판단하는 방법.
13. The method of claim 12,
And receiving a selection of the booting mode through at least one of the image forming apparatus and another external device connected to the image forming apparatus through a network.
The determining of the boot mode may include determining the boot mode based on the input boot mode.
부트 이미지를 이용한 화상형성장치의 빠른 부팅 방법에 있어서,
상기 화상형성장치의 부팅을 시작하는 단계;
상기 부팅이 시작되기 전 미리 저장된, 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스가 종료된 후 상기 화상형성장치에서 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 로드하는 단계; 및
상기 로드된 부트 이미지에 기초하여 상기 화상형성장치를 상기 부트 이미지에 포함된 시스템 상태로 복원하는 단계를 포함하는 방법.
In the fast booting method of the image forming apparatus using a boot image,
Starting to boot the image forming apparatus;
An operating system installed in the image forming apparatus and a process that is executed in a state where initialization of at least one application program is completed before the booting starts, are not used to execute the operating system and the application program. Loading a boot image including information on a system state after processes running in the image forming apparatus are stopped after the process ends; And
Restoring the image forming apparatus to a system state included in the boot image based on the loaded boot image.
제 17 항에 있어서,
상기 부팅이 시작된 경우 상기 화상형성장치에 상기 부트 이미지가 저장되어 있는지 여부를 판단하는 단계를 더 포함하고,
상기 로드하는 단계는 상기 부트 이미지가 저장된 것으로 판단된 경우 상기 저장된 부트 이미지를 로드하는 방법.
The method of claim 17,
Determining whether the boot image is stored in the image forming apparatus when the booting is started;
The loading may include loading the stored boot image if it is determined that the boot image is stored.
제 18 항에 있어서,
상기 부팅이 시작된 경우 상기 부트 이미지의 저장 여부를 판단하기 전, 상기 화상형성장치의 하드웨어 설정이 변경되었는지 여부를 판단하는 단계를 더 포함하고,
상기 부트 이미지의 저장 여부를 판단하는 단계는 상기 하드웨어 설정이 변경되지 않은 것으로 판단된 경우 상기 부트 이미지의 저장 여부를 판단하는 방법.
The method of claim 18,
Determining whether a hardware setting of the image forming apparatus is changed before determining whether to store the boot image when the booting is started;
The determining of whether to store the boot image may include determining whether to store the boot image when it is determined that the hardware setting is not changed.
제 18 항에 있어서,
상기 부트 이미지가 저장된 것으로 판단된 경우 상기 저장된 부트 이미지의 에러를 검사하는 단계; 및
상기 저장된 부트 이미지에 에러가 있는 것으로 검사된 경우 상기 저장된 부트 이미지를 복구하는 단계를 더 포함하고,
상기 로드하는 단계는 상기 저장된 부트 이미지에 에러가 없는 경우 상기 저장된 부트 이미지를 로드하고, 상기 저장된 부트 이미지에 에러가 있는 경우 상기 복구된 부트 이미지를 로드하는 방법.
The method of claim 18,
Checking an error of the stored boot image when it is determined that the boot image is stored; And
Recovering the stored boot image if it is determined that there is an error in the stored boot image,
The loading may include loading the stored boot image when there is no error in the stored boot image, and loading the recovered boot image when there is an error in the stored boot image.
제 17 항에 있어서,
상기 부팅이 시작된 후 상기 화상형성장치에서 실행 중인 프로세스들을 정지하는 단계; 및
상기 복원이 완료된 후 상기 정지된 프로세스들 중 상기 복원된 시스템 상태에서 실행될 프로세스들을 다시 실행하는 단계를 더 포함하는 방법.
The method of claim 17,
Stopping processes running in the image forming apparatus after the booting starts; And
Re-running the ones of the stopped processes to be executed in the restored system state after the restoration is completed.
제 21 항에 있어서,
상기 운영체계, 상기 응용 프로그램 및 상기 다시 실행된 프로세스들에서 사용되는 파일시스템들을 마운트(mount)하는 단계를 더 포함하는 방법.
22. The method of claim 21,
Mounting filesystems used by the operating system, the application, and the rerun processes.
제 17 항에 있어서,
상기 복원이 완료된 후 상기 화상형성장치의 주변 장치(peripheral device)를 구동하는 단계를 더 포함하는 방법.
The method of claim 17,
Driving a peripheral device of the image forming apparatus after the restoration is completed.
제 17 항에 있어서,
상기 복원이 완료된 후 상기 부트 이미지에 포함된 상기 초기화된 응용 프로그램을 다시 구동하는 단계; 및
상기 다시 구동된 응용 프로그램에 대한 데이터 및 스레드(thread)를 다시 초기화함으로써 상기 응용 프로그램을 다시 초기화하는 단계를 더 포함하는 방법.
The method of claim 17,
Restarting the initialized application program included in the boot image after the restoration is completed; And
Reinitializing the application by reinitializing a thread and data for the rerun application.
제 24 항에 있어서,
상기 응용 프로그램을 다시 초기화하는 단계는 상기 데이터 및 스레드 중 사용자에 의해 변경될 수 있는 데이터 및 스레드를 선택적으로 초기화함으로써 상기 응용 프로그램을 다시 초기화하는 방법.
25. The method of claim 24,
Reinitializing the application by selectively initializing data and threads that may be changed by a user among the data and threads.
제 1 항 내지 제 25 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 25. 빠른 부팅을 위한 부트 이미지를 생성하는 화상형성장치에 있어서,
상기 화상형성장치의 부팅이 시작된 후 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램을 초기화하고, 상기 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스를 종료하고, 상기 화상형성장치에서 실행 중인 프로세스들을 정지(suspend)하는 제어부;
상기 실행 중인 프로세스들이 정지된 동안 휘발성 메모리에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성하는 부트 이미지 생성부; 및
상기 생성된 부트 이미지를 비휘발성 메모리에 저장하는 스와핑부를 포함하는 화상형성장치.
In the image forming apparatus for creating a boot image for fast boot,
After the booting of the image forming apparatus is started, an operating system installed in the image forming apparatus and at least one application program are initialized, and the operating system and the application program are executed among the processes that are executed while the initialization is completed. A control unit for terminating a process not used for and suspending processes running in the image forming apparatus;
A boot image generation unit generating a boot image based on information on a system state stored in a volatile memory while the running processes are stopped; And
And a swapping unit configured to store the generated boot image in a nonvolatile memory.
제 27 항에 있어서,
상기 시스템 상태에 대한 정보는
상기 실행 중인 프로세스들이 정지된 상태에서 상기 화상형성장치의 부팅에 필요한 정보를 나타내는, 상기 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터를 포함하는 화상형성장치.
The method of claim 27,
Information about the system state
And data of the volatile memory and data of a CPU register indicating information necessary for booting the image forming apparatus when the running processes are stopped.
제 27 항에 있어서,
상기 제어부는
상기 부트 이미지를 생성하는 작업에 사용되지 않는 프로세스, 및 상기 초기화된 상태에서 실행되는 프로세스들 중 수행 시간이 소정 임계값 이하인 프로세스 중 적어도 하나를 함께 종료하는 화상형성장치.
The method of claim 27,
The control unit
And at least one of a process not used for generating the boot image and a process whose execution time is equal to or less than a predetermined threshold value among processes executed in the initialized state.
제 27 항에 있어서,
상기 제어부는
상기 종료된 프로세스에서 사용된 파일시스템 및 상기 부트 이미지를 생성하는 작업에 사용되지 않는 파일시스템 중 적어도 하나를 언마운트(unmount)하고, 상기 파일시스템의 언마운트가 완료된 후 상기 실행 중인 프로세스들을 정지하는 화상형성장치.
The method of claim 27,
The control unit
Unmounting at least one of a file system used in the terminated process and a file system not used for creating the boot image, and stopping the running processes after the unmounting of the file system is completed; Image forming apparatus.
제 27 항에 있어서,
상기 제어부는
상기 종료가 완료된 경우 상기 비휘발성 메모리에서 상기 부트 이미지가 저장될 공간을 초기화하는 화상형성장치.
The method of claim 27,
The control unit
An image forming apparatus for initializing a space in which the boot image is to be stored in the nonvolatile memory when the termination is completed.
제 27 항에 있어서,
상기 제어부는 상기 화상형성장치의 부팅 모드를 판단하고,
상기 부트 이미지 생성부는 상기 부팅 모드가 상기 부트 이미지를 생성하는 모드로 판단된 경우에 상기 부트 이미지를 생성하는 화상형성장치.
The method of claim 27,
The controller determines a booting mode of the image forming apparatus,
And the boot image generating unit generates the boot image when it is determined that the boot mode is a mode for generating the boot image.
부트 이미지를 이용한 빠른 부팅을 수행하는 화상형성장치에 있어서,
상기 화상형성장치의 부팅을 시작하는 부팅부; 및
상기 부팅이 시작되기 전 비휘발성 메모리에 미리 저장된, 상기 화상형성장치에 설치된 운영체계(Operating System) 및 적어도 하나의 응용 프로그램의 초기화가 완료된 상태에서 실행되는 프로세스들 중 상기 운영체계 및 응용 프로그램의 실행에 사용되지 않는 프로세스가 종료된 후 상기 화상형성장치에서 실행 중인 프로세스들이 정지된 동안의 시스템 상태에 대한 정보가 포함된 부트 이미지를 휘발성 메모리로 로드하는 로딩부를 포함하고,
상기 부팅부는 상기 로드된 부트 이미지에 기초하여 상기 화상형성장치를 상기 부트 이미지에 포함된 시스템 상태로 복원하여 부팅하는 화상형성장치.
In the image forming apparatus that performs a quick boot using a boot image,
A booting unit which starts booting of the image forming apparatus; And
Execution of the operating system and the application of the operating system installed in the image forming apparatus and processes executed in a state where initialization of at least one application is completed before the booting is started. And a loading unit which loads a boot image including information on a system state while processes running in the image forming apparatus are stopped after a process not used in the process is stopped, into volatile memory.
And the booting unit restores the image forming apparatus to a system state included in the boot image based on the loaded boot image and boots.
제 33 항에 있어서,
상기 부팅부는 상기 부팅이 시작된 경우 상기 비휘발성 메모리에 상기 부트 이미지가 저장되어 있는지 여부를 판단하고,
상기 로딩부는 상기 부트 이미지가 저장된 것으로 판단된 경우 상기 저장된 부트 이미지를 로드하는 화상형성장치.
34. The method of claim 33,
The booting unit determines whether the boot image is stored in the nonvolatile memory when the booting starts,
And the loading unit loads the stored boot image when it is determined that the boot image is stored.
제 33 항에 있어서,
상기 부팅부는 상기 부팅이 시작된 후 상기 화상형성장치에서 실행 중인 프로세스들을 정지하고, 상기 복원이 완료된 후 상기 정지된 프로세스들 중 상기 복원된 시스템 상태에서 실행될 프로세스들을 다시 실행하는 화상형성장치.
34. The method of claim 33,
And the booting unit stops processes running in the image forming apparatus after the booting is started, and executes processes to be executed in the restored system state among the stopped processes after the restoration is completed.
제 35 항에 있어서,
상기 부팅부는
상기 운영체계, 상기 응용 프로그램 및 상기 다시 실행된 프로세스들에서 사용되는 파일시스템들을 마운트(mount)하는 화상형성장치.
36. The method of claim 35,
The boot section
And mount file systems used in the operating system, the application program, and the redo processes.
KR1020110105528A 2010-02-26 2011-10-14 Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same KR101850275B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110105528A KR101850275B1 (en) 2011-10-14 2011-10-14 Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same
PCT/KR2012/007439 WO2013055044A1 (en) 2011-10-14 2012-09-18 Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
US13/650,752 US10394570B2 (en) 2010-02-26 2012-10-12 Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110105528A KR101850275B1 (en) 2011-10-14 2011-10-14 Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same

Publications (2)

Publication Number Publication Date
KR20130040636A true KR20130040636A (en) 2013-04-24
KR101850275B1 KR101850275B1 (en) 2018-04-20

Family

ID=48440404

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110105528A KR101850275B1 (en) 2010-02-26 2011-10-14 Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same

Country Status (1)

Country Link
KR (1) KR101850275B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160049956A (en) * 2014-10-28 2016-05-10 삼성전자주식회사 Mobile divece and operating method thereof
KR20160076924A (en) * 2014-12-23 2016-07-01 삼성전자주식회사 Method for performing job by using widget, and image forming apparatus for performing the same
WO2020218743A1 (en) * 2019-04-26 2020-10-29 Samsung Electronics Co., Ltd. Method for controlling execution of application, electronic device and storage medium for the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519808B2 (en) * 2006-04-25 2009-04-14 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
JP2009193379A (en) * 2008-02-14 2009-08-27 Konica Minolta Business Technologies Inc Image processing apparatus and starting method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160049956A (en) * 2014-10-28 2016-05-10 삼성전자주식회사 Mobile divece and operating method thereof
KR20160076924A (en) * 2014-12-23 2016-07-01 삼성전자주식회사 Method for performing job by using widget, and image forming apparatus for performing the same
WO2020218743A1 (en) * 2019-04-26 2020-10-29 Samsung Electronics Co., Ltd. Method for controlling execution of application, electronic device and storage medium for the same
US11675621B2 (en) 2019-04-26 2023-06-13 Samsung Electronics Co., Ltd. Method for controlling execution of application, electronic device and storage medium for the same

Also Published As

Publication number Publication date
KR101850275B1 (en) 2018-04-20

Similar Documents

Publication Publication Date Title
KR101959359B1 (en) Method for updating boot image for fast booting and image forming apparatus for performing the same
US10394570B2 (en) Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
US6591376B1 (en) Method and system for failsafe recovery and upgrade of an embedded operating system
TWI305319B (en) Computer having proctected data stores and switchable components providing isolated computing for vital and haker immunity
US20130036300A1 (en) Method of fixing error of boot image for fast booting and image forming apparatus for performing the method
US6317845B1 (en) System for computer recovery using removable high capacity media
US20130042097A1 (en) Method of updating boot image for fast booting and image forming apparatus for performing the method
TWI495997B (en) Method, device, and machine-readable medium for self-managed processing
CN105917306B (en) System and method for configuring system firmware configuration data
TWI505087B (en) System reset
US20040172578A1 (en) Method and system of operating system recovery
US20070094656A1 (en) Self-modifying copier for downloading executable code in a non-disruptive manner
US20080098381A1 (en) Systems and methods for firmware update in a data processing device
US8578064B2 (en) Interception and management of I/O operations on portable storage devices
KR20170040734A (en) Electronic system with update control mechanism and method of operation thereof
KR101813641B1 (en) Image forming apparatus and method for booting the same having hibernation function
KR101850275B1 (en) Method for generating boot image for fast booting and image forming apparatus for performing the same, method for performing fast booting and image forming apparatus for performing the same
TWI764454B (en) Firmware corruption recovery
KR101845467B1 (en) Method for restoring error of boot image for fast booting and image forming apparatus for performing the same
KR101850272B1 (en) Method for updating boot image for fast booting and image forming apparatus for performing the same
US11467898B2 (en) Information processing apparatus and method of controlling the same
EP2490122A2 (en) Hardware turnkey mobility
KR102423056B1 (en) Method and system for swapping booting disk
KR100792786B1 (en) Method for os restoring of computer using backup image file
TWI448967B (en) Updating method of software and computer readable medium

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right