KR101850272B1 - Method for updating boot image for fast booting and image forming apparatus for performing the same - Google Patents

Method for updating boot image for fast booting and image forming apparatus for performing the same Download PDF

Info

Publication number
KR101850272B1
KR101850272B1 KR1020110105529A KR20110105529A KR101850272B1 KR 101850272 B1 KR101850272 B1 KR 101850272B1 KR 1020110105529 A KR1020110105529 A KR 1020110105529A KR 20110105529 A KR20110105529 A KR 20110105529A KR 101850272 B1 KR101850272 B1 KR 101850272B1
Authority
KR
South Korea
Prior art keywords
boot
forming apparatus
image forming
boot image
image
Prior art date
Application number
KR1020110105529A
Other languages
Korean (ko)
Other versions
KR20130040637A (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 KR1020110105529A priority Critical patent/KR101850272B1/en
Priority to PCT/KR2012/007439 priority patent/WO2013055044A1/en
Priority to US13/650,715 priority patent/US20130042097A1/en
Publication of KR20130040637A publication Critical patent/KR20130040637A/en
Application granted granted Critical
Publication of KR101850272B1 publication Critical patent/KR101850272B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

화상형성장치의 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법은 화상형성장치에 설치된 소프트웨어에 대한 변경 요청이 있는 경우 저장된 부트 이미지를 삭제하고 화상형성장치를 재부팅함으로써 부트 이미지를 재생성한다.A method of updating a boot image for quick booting of an image forming apparatus regenerates a boot image by deleting a stored boot image and rebooting the image forming apparatus when there is a change request to the software installed in the image forming apparatus.

Description

빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치{Method for updating boot image for fast booting and image forming apparatus for performing the same}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a method of updating a boot image for a quick boot and an image forming apparatus performing the same,

빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치에 관한다.A method for updating a boot image for quick boot, and an image forming apparatus performing the method.

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

빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치를 제공하는데 있다. 또한, 이 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.A method for updating a boot image for quick boot, and an image forming apparatus for performing the update. The present invention also provides a computer-readable recording medium on which a program for causing a computer to execute the method is provided. 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.

일 측면에 따르면, 화상형성장치의 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법은 상기 화상형성장치에 설치된 소프트웨어에 대한 변경 요청이 있는 경우, 상기 화상형성장치의 적어도 하나의 파일시스템의 속성을 변경하는 단계; 상기 화상형성장치에 저장된 부트 이미지를 삭제하는 단계; 상기 변경 요청에 따라 상기 소프트웨어를 변경하는 단계; 및 상기 화상형성장치를 재부팅함으로써 상기 변경된 소프트웨어에 기초하여 상기 부트 이미지를 재생성하는 단계를 포함한다.According to one aspect, a method for updating a boot image for a quick boot of an image forming apparatus changes an attribute of at least one file system of the image forming apparatus when there is a change request for software installed in the image forming apparatus step; Deleting a boot image stored in the image forming apparatus; Changing the software according to the change request; And regenerating the boot image based on the changed software by rebooting the image forming apparatus.

다른 일 측면에 따르면, 상기 부트 이미지 업데이트 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.According to another aspect, there is provided a computer-readable recording medium having recorded thereon a program for causing a computer to execute the boot image updating method.

또 다른 일 측면에 따르면, 빠른 부팅을 위한 부트 이미지를 업데이트하는 화상형성장치는 상기 화상형성장치에 설치된 소프트웨어에 대한 변경 요청이 있는 경우 상기 화상형성장치의 적어도 하나의 파일시스템의 속성을 변경하고, 상기 화상형성장치에 저장된 부트 이미지를 삭제하고, 상기 변경 요청에 따라 상기 소프트웨어를 변경하는 제어부; 및 상기 변경된 소프트웨어에 기초하여 상기 부트 이미지를 재생성하는 부트 이미지 생성부를 포함한다.According to another aspect, an image forming apparatus that updates a boot image for quick boot changes an attribute of at least one file system of the image forming apparatus when there is a change request for software installed in the image forming apparatus, A control unit for deleting the boot image stored in the image forming apparatus and changing the software according to the change request; And a boot image generating unit for reproducing the boot image based on the changed software.

상기된 바에 따르면, 전자제품에 설치된 펌웨어, 응용 프로그램과 같은 소프트웨어가 변경되더라도 부트 이미지를 이용하여 빠른 부팅(fast booting)을 수행함으로써 전자제품의 하드웨어적인 변경 없이 소프트웨어적으로 전자제품의 부팅 속도를 개선할 수 있다. 따라서, 사용자는 부팅 시간의 감소 또는 부팅 속도의 증대로 인해 보다 효율적으로 전자제품을 사용할 수 있다.According to the above description, even if the software such as the firmware and the application program installed in the electronic product are changed, the fast booting is performed using the boot image, thereby improving the boot speed of the electronic product by software without changing the hardware of the electronic product can do. Therefore, the user can use the electronic product more efficiently because of a decrease in the boot time or an increase in the booting 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 showing an entire booting method of an image forming apparatus according to an embodiment of the present invention.
3 is a configuration diagram of an image forming apparatus including a processor for generating a boot image according to an embodiment of the present invention.
4 is a flowchart of a method of generating a boot image for a quick boot of an image forming apparatus according to an embodiment of the present invention.
5 is a detailed flowchart of a method of generating a boot image for quick booting of an image forming apparatus according to an embodiment of the present invention.
6 is a detailed flowchart illustrating a process of changing attributes of a file system according to an embodiment of the present invention.
7 is a diagram for explaining 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 differ according to an 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.
10 is a view illustrating a screen for selecting a boot mode displayed on the user interface unit according to an embodiment of the present invention.
11 is a diagram illustrating a screen displayed on the 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 configuration diagram of an image forming apparatus including a processor for performing a quick boot using a boot image according to an embodiment of the present invention.
13 is a flowchart of a method for performing a quick boot of an image forming apparatus using a boot image according to an embodiment of the present invention.
14 is a detailed flowchart of a method for performing a quick 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 embodiment of the present invention.
16 is a flow diagram of a method for updating a boot image in accordance with an embodiment of the present invention.
17A is a detailed flowchart of a method for updating a boot image according to an embodiment of the present invention.
17B is a detailed flowchart of a method for updating a boot image according to another embodiment of the present invention.
18 is a configuration diagram of an image forming apparatus including a processor for recovering an error of a boot image according to an embodiment of the present invention.
19 is a flowchart of a method of recovering an error in a boot image for a quick boot of an image forming apparatus according to an embodiment of the present invention.
20 is a detailed flowchart of a method for recovering an error of a boot image for a quick boot of an image forming apparatus according to an embodiment of the present invention.
FIG. 21 is a diagram illustrating a screen for selecting a recovery mode displayed in the 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 configuration diagram of a device 1 according to an embodiment of the present invention. 1A, a device 1 includes a processor 10, a memory unit 20, a user interface unit 30, and a network interface unit 40.

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

본 실시예에서 디바이스(1)는 일반적으로 사용되는 휴대폰, PDA 등의 모바일 장치 또는 컴퓨터 등과 같은 일종의 컴퓨팅 장치를 포함한다. 또한, 디바이스(1)는 임베디드(embedded) 장치를 포함할 수도 있다.In the present embodiment, the device 1 includes a sort of a computing device such as a mobile phone, a mobile device such as a PDA, or a computer, which is generally used. Also, the device 1 may 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. 1B, the image forming apparatus 2 includes a processor 10, a memory unit 20, a user interface unit 30, a network interface unit 40, a printing unit, a facsimile unit, a scanning unit, . In FIG. 1B, only the hardware components related to the present embodiment are shown in order to prevent the features of the present embodiment from being blurred. However, it should be understood that the image forming apparatus 2 according to the present embodiment can include general hardware components other than the hardware components shown in FIG. 1B. .

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

본 실시예에 따른 화상형성장치(2)는 복사, 인쇄, 스캔, 팩스 송수신, 이메일 전송 등의 기능들을 하나의 장치에서 수행할 수 있는 일반적인 복합기를 포함한다. 이하에서는 화상형성장치(2)가 복합기인 경우를 예로 들어 설명하겠으나, 본 실시예에 따른 화상형성장치(2)는 이에 한정되지 않고 프린터, 스캐너, 팩스 등과 같은 개별적인 장치에 해당될 수 있다.The image forming apparatus 2 according to the present embodiment includes a general multifunctional apparatus capable of performing functions such as copying, printing, scanning, fax transmission / reception, and e-mail transmission in one apparatus. Hereinafter, the image forming apparatus 2 will be described as an example of a multifunction apparatus, but the image forming apparatus 2 according to the present embodiment is not limited thereto and may be an individual apparatus such as a printer, a scanner, a facsimile, or 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 program by using the data stored in the memory unit 20, And corresponds to a central processing unit (CPU).

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

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

휘발성 메모리(210)는 화상형성장치(2)에서 실행되고 있는 운영체계 및 응용 프로그램과 관련된 데이터를 비휘발성 메모리(220)에서 읽어 로드함으로써, 프로세서(10)가 운영체계 및 응용 프로그램과 관련된 데이터에 액세스할 수 있게 한다. 여기서, 휘발성 메모리(210)는 메인 메모리로서 RAM(random access memory)일 수 있다.Volatile memory 210 reads and loads data associated with the operating system and application programs running in image forming apparatus 2 in nonvolatile memory 220 so that processor 10 can read data associated with the operating system and application programs Access. Here, the volatile memory 210 may be a random access memory (RAM) as a 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 be a hard disk drive, a ferroelectric RAM (FRAM), a magnetoresistive random access memory (MRAM) , A PRAM (Phase-change RAM), or the like, unlike the volatile memory 210, the stored data is not erased even when the power of 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 GUI soft keyboard, or a voice recognition device. The user interface unit 30 may include a device for displaying time information (for example, an LCD screen, an LED screen, a scale display device, or the like), a device for providing auditory information And reports the information processed by the image forming apparatus 2 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, or a network. For example, the image forming apparatus 2 can communicate with devices having WIFI, Bluetooth function, and the like via the network interface unit 40, connect to a network, or connect peripheral devices such as a USB (Universal Serial Bus) Lt; / RTI >

화상형성장치(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 supplied. Furthermore, the image forming apparatus 2 according to the present embodiment can perform booting by performing a fast booting using a boot image or by generating a boot image.

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

도 2는 본 발명의 일 실시예에 따른 화상형성장치(2)의 전체 부팅 방법을 나타내는 흐름도이다. 도 2를 참고하면, 도 2의 흐름도에 따른 전체 부팅 방법은 도 1b에 도시된 화상형성장치(2)에서 수행되는 부팅 방법이다.2 is a flowchart showing a whole booting method of the image forming apparatus 2 according to an embodiment of the present invention. Referring to FIG. 2, the entire booting method according to the flowchart of FIG. 2 is a booting method performed in 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 the boot loader when the image forming apparatus 2 is powered on.

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

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

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

206 단계에서, 프로세서(10)는 205 단계에서 부트 이미지가 저장되어 있다고 판단된 경우 저장된 부트 이미지에 에러가 있는지 여부를 검사한다.In step 206, if it is determined in step 205 that the boot image is stored, the processor 10 determines 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 boot image.

208 단계에서, 프로세서(10)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원하여 부팅한다.In step 208, the processor 10 restores the image forming apparatus 2 to the system state included in the boot image and boots 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 step 210, the processor 10 recovers the saved boot image if it is checked in step 206 that the stored boot image is erroneous. After the recovery of the stored boot image is completed, the processor 10 performs the process from step 201 again.

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

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

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

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

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

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

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

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

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

도 4는 본 발명의 일 실시예에 따른 화상형성장치(2)의 빠른 부팅을 위한 부트 이미지를 생성하는 방법의 흐름도이다. 도 4를 참고하면, 부트 이미지 생성 방법은 도 3의 화상형성장치(2)에서 시계열적으로 수행되는 방법이다. 따라서, 이하에서는 도 3 및 4를 연계하여 부트 이미지를 생성하는 방법을 설명하도록 하겠다.4 is a flowchart of a method of generating a boot image for quick 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 in which the image forming apparatus 2 of FIG. Therefore, in the following, a method of generating a boot image in conjunction with FIGS. 3 and 4 will be described.

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

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

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

404 단계에서, 부트 이미지 생성부(120)는 실행 중인 프로세스들이 정지된 동안 휘발성 메모리(210)에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성한다. 이 때, 스와핑부(130)는 생성된 부트 이미지를 비휘발성 메모리(220)에 저장한다.In step 404, the boot image generating unit 120 generates a boot image based on information on the system state stored in the volatile memory 210 while the running processes are stopped. At this time, 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 quick booting of the image forming apparatus 2 according to an embodiment of the present invention. The boot image generating method shown in FIG. 5 corresponds to a flowchart showing the boot image generating method shown in FIG. 4 in more detail.

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

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

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

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

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

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

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

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

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

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

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

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

509 단계에서, 부트 이미지 생성부(120)는 실행 중인 프로세스들이 정지된 동안 휘발성 메모리(210)에 저장된 시스템 상태에 대한 정보에 기초하여 부트 이미지를 생성한다. 보다 상세하게 설명하면, 508 단계를 통해 모든 프로세스들이 멈추게 되면, 제어부(110)는 부트 이미지를 생성하기 위한 사전 단계로써 비휘발성 메모리(220)의 부트 이미지의 저장 공간에 헤더(header) 정보를 저장한다. 이와 같이 부트 이미지의 생성 준비가 완료되면, 부트 이미지 생성부(120)는 시스템 상태에 대한 정보를 저장하고 있는 휘발성 메모리(210)의 모든 데이터, CPU(프로세서(10)) 레지스터 값들 및 CPU 캐쉬 정보들에 기초하여 부트 이미지를 생성한다.In step 509, the boot image generating unit 120 generates a boot image based on the information about the system state stored in the volatile memory 210 while the running processes are stopped. More specifically, when all the 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, the boot image generating unit 120 generates all the data of the volatile memory 210 storing the system state information, the CPU (processor 10) register values, and the CPU cache information Lt; / RTI > to generate a boot image.

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

510 단계에서, 스와핑부(130)는 생성된 부트 이미지를 비휘발성 메모리(220)에 저장한다. 스와핑부(130)는 비휘발성 메모리(220)의 특정 파일에 또는 특정 파티션에, 생성된 부트 이미지를 저장할 수 있다.In step 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 of the nonvolatile memory 220 or in a specific partition.

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

601 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 설치된 운영체계(OS)를 초기화한다.In step 601, the control unit 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 step 602, the controller 110 changes the attributes of at least one filesystem to a read / write state in a state in which the initialization of the operating system is completed.

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

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

하지만, 다른 일 실시예에 따르면, 예를 들어 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 달라질 수 없는 파일시스템에 대해서는 읽기/쓰기 전용(read/write)의 상태로 변경시키지 않거나, 언마운트하지 않을 수 있다.However, according to another embodiment, for example, 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 can not be changed, a read / write ) State, or may not be unmounted.

603 단계에서, 제어부(110)는 적어도 하나의 응용 프로그램을 초기화한다.In step 603, the control unit 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 a state changed to a read / write attribute. At this time, the control unit 110 closes all file / socket / database open by the operating system and application programs before unmounting the file system. The reason for closing file / Socket / Database is to prevent the file / Socket / Database from being unmountable normally and protect the file system safely. This will be described in more detail in Fig. 7 below. When a file system is unmounted, all information about the operating system (OS) and the file system that the application is opening is deleted, so that the file system is stored in the boot image without regard to the file system.

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

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

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

부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 다를 수 있는 경우가 발생될 수 있다고 앞서 설명하였다. 이에 대해서는 이하의 도 7을 참고하여 설명하도록 하겠다.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 from each other. This will be described with reference to FIG. 7 below.

도 7은 본 발명의 일 실시예에 따라 부트 이미지에 저장된 파일시스템의 정보와 비휘발성 메모리(220)에 실제로 저장된 파일시스템의 정보가 다를 수 있는 경우를 설명하는 도면이다.7 is a view for explaining 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 an 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 the file A is stored in the volatile memory 210 at the time the boot image is generated, the file A is stored in the boot image. Thereafter, when the user deletes the file A while using the application program and uses the file B, the file B is stored in the nonvolatile memory 220 instead of the file A. When a subsequent user performs a quick boot using a boot image, File A is stored in the boot image, and the application program reads the file A from the nonvolatile memory 220. However, File B is stored in the non-volatile memory 220 instead of File A. Therefore, the application program can not read the file A, which causes malfunction.

그러므로, 이와 같은 오동작을 방지하기 위해서는 부트 이미지 생성 전에 모든 파일시스템들 또는 적어도 하나의 특정 파일시스템을 언마운트하여야 한다.Therefore, in order to prevent such a malfunction, all file systems or at least one specific file system 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 shown.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

도 11은 본 발명의 일 실시예에 따라 부트 이미지 생성 모드에 따라 부트 이미지가 생성될 때 사용자 인터페이스부(30)에 표시되는 화면을 도시한 도면이다. 도 11을 참고하면, 부트 이미지를 생성하는 진행 상황에 대해 도시되어 있다. 특히, 진행 상황은 백분율과 같은 숫자(10) 또는 그래프(20) 등의 다양한 형태로 표시될 수 있다. 나아가서, 사용자에게 필요한 메세지(30)도 함께 표시될 수 있다.11 is a view showing a screen displayed on the UI 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, the progress of generating a boot image is shown. In particular, progress can be expressed in various forms, such as a number (10) such as a percentage or a graph (20). Further, a message 30 necessary for the user can also be displayed together.

이와 같은 도 10 및 11의 화면 구성은 일 실시예에 해당될 뿐, 다른 형태로 변경될 수 있음을 당해 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.It should be understood by those skilled in the art that the screen configurations of FIGS. 10 and 11 correspond to one embodiment and can be changed to other forms.

이제까지, 화상형성장치(2)에서 부트 이미지를 생성하는 과정에 대해 살펴보았다. 이하에서는 화상형성장치(2)에서 생성된 부트 이미지를 이용하여 빠른 부팅을 수행하는 과정에 대해 살펴보도록 하겠다.Up to now, a 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 in the image forming apparatus 2 will be described.

도 12는 본 발명의 일 실시예에 따른 부트 이미지를 이용하여 빠른 부팅을 수행하는 프로세서(10)를 포함하는 화상형성장치(2)의 구성도이다. 도 12를 참고하면, 화상형성장치(2)는 도 1b에 도시된 바와 같이 프로세서(10) 및 메모리부(20)를 포함한다. 그러나, 본 실시예의 설명의 편의를 위하여 다른 구성 요소들은 생략하여 도시하였다. 또한, 도 12에는 도 1c에 도시된 프로세서(10)의 구성 요소들 중 본 실시예와 관련된 구성 요소들만 도시되었음을 당해 기술분야에서 통상의 지식을 가진 자라면 알 수 있다.12 is a configuration diagram of an image forming apparatus 2 including a processor 10 that performs a quick 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, for ease of explanation of this embodiment, other constituent elements are omitted. It is also known to those skilled in the art that only the components of the processor 10 shown in FIG. 1C, which are related to the present embodiment, are shown in FIG.

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

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

1301 단계에서, 부팅부(140)는 화상형성장치(2)의 전원이 인가된 경우 화상형성장치(2)의 부팅을 시작한다. 즉, 부팅부(140)는 부트로더를 초기화한다.In step 1301, the booting unit 140 starts booting 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 step 1302, the loading unit 150 loads the boot image previously stored in the image forming apparatus 2. [ Here, the boot image corresponds to the boot image described above. More specifically, an OS (Operating System) installed in the image forming apparatus 2, which is stored in advance before booting in step 1301, and an operating system (OS) among processes executed in a state in which at least one application program is initialized Is a boot image including information on the state of the system while the processes being executed in the image forming apparatus 2 are stopped after the process not used for execution of the application is terminated.

1303 단계에서, 부팅부(140)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원한다.In step 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 for performing a quick boot of the image forming apparatus 2 using a boot image according to an embodiment of the present invention. The quick boot method shown in FIG. 14 corresponds to a flowchart showing the fast boot method shown in FIG. 13 in more detail.

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

1402 단계에서, 부팅부(140)는 프로세스들의 정지가 완료된 경우 화상형성장치(2)가 정지되도록 제어한다. 화상형성장치(2)가 정지되면, 화상형성장치(2)의 네트워크 장치와 USB 장치와 같은 주변 장치들도 함께 정지된다. 또한, 화상형성장치(2)의 프린팅부, 팩스부 등과 같은 내부 장치들도 함께 정지될 수 있다.In step 1402, the booting unit 140 controls the image forming apparatus 2 to stop when the processes are stopped. 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 facsimile unit, etc. of the image forming apparatus 2 can also be stopped.

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

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

1404 단계에서, 부팅부(140)는 로드된 부트 이미지에 기초하여 화상형성장치(2)를 부트 이미지에 포함된 시스템 상태로 복원한다.In step 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 step 1405, the booting unit 140 executes the suspended processes again, and drives the image forming apparatus 2 again.

1406 단계에서, 부팅부(140)는 운영체계(OS), 응용 프로그램 및 다시 실행된 프로세스들에서 사용되는 파일시스템들을 마운트(mount)한다. 예를 들어, 화상형성장치(2)에서 마운트되는 파일시스템들은 사용자 문서, 사용자 주소록, 임시 프린트 데이터, 스캔 이미지 데이터 등을 포함한다. 하지만, 이에 한정되지 않고 다른 사용자 정보들에 대한 파일시스템도 마운트될 수 있다. In step 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, scan image data, and the like. However, the file system for other user information can also be mounted, including without limitation.

1407 단계에서, 부팅부(140)는 추가적으로 필요한 프로세스들을 실행한다. 예를 들어, 리눅스 운영체계(Linux OS)의 경우 부팅부(140)는 samba 또는 ssh 등과 같은 프로세스들을 추가적으로 실행할 수 있다. 또한, 화상형성장치(2)의 펌웨어(F/W)를 업데이트하는 응용 프로그램의 프로세스, 사용자 및 개발 로그 등을 저장할 수 있는 프로그램의 프로세스, 사용자에 의해 직접 설치된 프로그램의 프로세스 등이 실행될 수 있다. 하지만, 추가적으로 실행할 프로세스가 없는 경우 부팅부(140)는 1407 단계를 생략할 수 있다.In step 1407, the booting unit 140 executes additional necessary processes. For example, in the case of the Linux operating system (Linux OS), the booting unit 140 can 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, a process of a program directly installed by the user, and the like can be executed. However, if there is no additional process to be executed, the booting unit 140 may skip step 1407. [

1408 단계에서, 부팅부(140)는 화상형성장치(2)에 필요한 주변 장치를 구동하기 위한 장치 드라이버(device driver)를 실행한다. 예를 들어, 부팅부(140)는 USB 장치와 같은 주변 장치를 구동하기 위한 USB driver를 실행한다. 또한, 예를 들어 화상형성장치(2)의 프린팅부, 팩스부, 스캐닝부 등과 통신할 수 있는 드라이버를 실행한다.In step 1408, the booting unit 140 executes a device driver for driving a peripheral device necessary 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 capable of communicating with the printing section, the facsimile section, the scanning section, etc. of the image forming apparatus 2 is executed.

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

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

1411 단계에서, 부팅부(140)는 응용 프로그램을 재초기화한다. 이 때, 부팅부(140)는 앞서 설명된 응용 프로그램의 가변 정보와 같이 사용자에 의해 변경될 수 있는 데이터 및 스레드(thread)를 초기화할 수 있다. 보다 상세하게 설명하면, 재초기화가 필요한 가변 정보는 사용자 및 시스템에 의해 변경이 일어나는 데이터들로, 예를 들어 히스토리 정보, 카운트(count) 정보, 옵션 정보 등을 포함한다. 화상형성장치(2)의 경우 가변 정보는 작업(Job) 히스토리 정보 및 사용자 사용 이력 정보, 토너(toner) 및 트레이(tray) 정보, 네트워크 설정 정보 등을 포함한다. 또한, 가변 정보는 사용자에 의해 변경된 응용 프로그램의 옵션 정보, 복사(copy) 기능에서 사용자에 의해 설정된 옵션 정보 등을 포함한다.In step 1411, the booting unit 140 reinitializes the application program. In this case, the booting unit 140 may initialize data and threads that can be changed by the user, such as the variable information of the application program described above. More specifically, the variable information requiring re-initialization includes 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 use history information, toner and tray information, network setting information, and the like. The variable information includes option information of the application program changed by the user, option information set by the user in the copy function, and the like.

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

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

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

구분division COPY 화면 표시 시점COPY display time Printing 가능 시점Printing Availability 전체 부팅 완료 시점Full Boot Completion Time 정상 부팅
(cold booting)
Normal boot
(cold booting)
3분 40초3 minutes 40 seconds 5분 30초5 minutes 30 seconds 10분 20초10 minutes 20 seconds
부트 이미지를 이용한 빠른 부팅Quick boot with 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 installed in the image forming apparatus 2 in advance. For example, the image forming apparatus 2 is provided with firmware, an operating system (OS), an application program, and the like. Such software is then stored in the non-volatile memory 220.

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

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

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

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

프로세서(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 flow diagram of a method for updating a boot image in accordance with an embodiment of the present invention. Referring to FIG. 16, the boot image generating method is a method in which the image forming apparatus 2 of FIG. Therefore, a method of updating the boot image in conjunction with FIGS. 15 and 16 will be described below.

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

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

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

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

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

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

1702 단계에서, 제어부(110)는 설치된 소프트웨어의 변경 요청이 있는 경우, 화상형성장치(2)의 적어도 하나의 파일시스템의 속성을 변경한다. 이 때, 제어부(110)는 읽기 전용(read only) 상태인 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경한다.In step 1702, the control unit 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, which is a read only state, to a read / write state.

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

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

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

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

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

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

1712 단계에서, 제어부(110)는 설치된 소프트웨어의 변경 요청이 있는 경우, 화상형성장치(2)의 적어도 하나의 파일시스템의 속성을 변경한다. 이 때, 제어부(110)는 읽기 전용(read only) 상태인 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경한다.In step 1712, the control unit 110 changes the attribute 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, which is a read only state, to a read / write state.

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

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

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

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

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

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

1718 단계에서, 부트 이미지 생성부(120)는 화상형성장치(2)의 재부팅후 복사된 부트 이미지에 기초하여 부트 이미지를 재생성한다. 여기서, 1718 단계에서의 부트 이미지의 재생성은 복사된 부트 이미지를 화상형성장치(2)의 새로운 부트 이미지로써 설치하는 것을 의미한다.In step 1718, the boot image generating unit 120 regenerates the boot image based on the copied boot image after the reboot of the image forming apparatus 2. [ Here, the re-creation of the boot image in step 1718 means that the copied boot image is installed 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 if it is checked that there is an error in the boot image (step 210). This process will be described in more detail as follows.

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

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

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

1901 단계에서, 제어부(110)는 화상형성장치(2)의 부팅이 시작된 후 화상형성장치(2)에 저장된 제 1 부트 이미지에 에러가 있는 경우 제 1 부트 이미지를 삭제한다. 여기서, 제 1 부트 이미지란 현재 화상형성장치(2)의 부팅이 시작되기 이전의 시점에 생성되어 화상형성장치(2)에 미리 저장된 부트 이미지를 의미한다.In step 1901, the control unit 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 image forming apparatus 2 starts booting. Here, the first boot image means a boot image that is generated at a point in time before the start of booting of the image forming apparatus 2 and stored in advance in the image forming apparatus 2. [

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

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

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

제 1, 2 및 3 부트 이미지는 앞서 도 2, 3, 4 및 5 등에서 설명된 부트 이미지로써, 화상형성장치(2)의 부팅 초기의 시스템 상태에 필요한 정보를 나타내는 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터가 포함된 이미지를 의미한다.The first, second, and third boot images are the boot images described in FIGS. 2, 3, 4, 5, and so on. The boot image includes data of the volatile memory indicating the information required for the system state at the booting start of the image forming apparatus 2, Means an image containing data.

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

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

제 1 부트 이미지를 이용하여 빠른 부팅을 시도한 후 소정 시간 동안 정상적으로 빠른 부팅이 수행되지 않을 경우, 제어부(110)는 제 1 부트 이미지에 대하여 에러가 존재하는 것으로 검사한다. 이를 위하여 제어부(110)는 부트 이미지를 로딩하기 전, 이전 부팅 상태에 대한 플래그(flag)를 체크하고, 정상적인 빠른 부팅이 수행되었다고 판단될 수 있는 부분까지 수행되었다면 정상 부팅 여부를 플래그(flag)에 저장한다.If a fast 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. For this, the control unit 110 checks a flag of the previous boot state before loading the boot image, and if it is determined that the normal booting has been performed, .

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

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

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

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

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

2005 단계에서, 제어부(110)는 부트 이미지 생성부(120)가 제 3 부트 이미지를 생성하도록 제어함으로써 에러를 복구한다. 2001 단계는 앞서 설명된 도 2의 210 단계에 대응된다. In step 2005, the control unit 110 restores the error by controlling the boot image generating unit 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 step 2007, the control unit 110 restores the error by copying and replacing the second boot image stored in advance in the image forming apparatus 2 when the determined recovery mode is the backup boot image replacement mode. 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 of the past time points at which the first boot image was created or the past time points where the fast boot was 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. Thereafter, the process proceeds to step 2006, where the booting unit 120 performs a quick boot using the replaced second boot image.

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

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

도 21은 본 발명의 일 실시예에 따른 사용자 인터페이스부(30)에 표시된 복구 모드를 선택하는 화면을 도시한 도면이다. 앞서 설명한 바와 같이, 복구 모드는 부트 이미지 생성 모드, 백업 부트 이미지 대체 모드 및 정상 부팅 전환 모드를 포함한다. 사용자 인터페이스부(30)는 사용자에게 복구 모드에 대한 선택 화면을 표시하고, 사용자로부터 복구 모드에 대한 선택을 입력받을 수 있다. 이와 같이, 사용자 인터페이스부(30)를 통해 사용자로부터 복구 모드에 대한 선택을 입력받은 경우, 제어부(110)는 입력된 복구 모드에 기초하여 에러를 복구한다. 또한, 다른 실시예에 따라서는 화상형성장치(2)와 네트워크로 연결된 외부의 다른 디바이스와 네트워크 인터페이스부(40)를 통해 통신함으로써 복구 모드에 대한 선택을 입력받을 수 있다.FIG. 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 generation mode, a backup boot image replacement mode, and a normal boot switching mode. The user interface unit 30 displays a selection screen for the recovery mode to the user, and receives a selection of the recovery mode from the user. In this manner, when the user inputs a selection of the recovery mode through the user interface unit 30, the control unit 110 restores the error based on the input recovery mode. Further, according to another embodiment, the selection of the recovery mode can be inputted by communicating with the external device other than the image forming apparatus 2 via the network interface unit 40. [

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

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

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. 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 device
10: processor (CPU) 20: memory unit
30: user interface unit 40: network interface unit
110: control unit 120: boot image generating unit
130: Swapping part 140: Boot part
150: loading unit 210: volatile memory
220: nonvolatile memory

Claims (14)

화상형성장치의 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법에 있어서,
상기 화상형성장치에 설치된 이전 소프트웨어에 대한 변경 요청이 있는 경우, 상기 화상형성장치의 적어도 하나의 파일시스템의 속성을 변경하는 단계;
상기 이전 소프트웨어가 변경된 새로운 소프트웨어에 대응되는 부트 이미지가 생성되기 전에 상기 화상형성장치 내의 비휘발성 메모리에 저장된 상기 이전 소프트웨어에 대응되는 부트 이미지를 삭제하는 단계;
상기 변경 요청에 따라 상기 이전 소프트웨어를 상기 새로운 소프트웨어로 변경하는 단계;
상기 화상형성장치를 재부팅함으로써 상기 변경된 새로운 소프트웨어에 기초하여 상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 단계; 및
상기 화상형성장치 내의 상기 비휘발성 메모리에 상기 생성된 새로운 소프트웨어에 대응되는 부트 이미지를 저장하는 단계를 포함하고,
상기 새로운 소프트웨어로 변경된 이후에 수행되는 상기 빠른 부팅은 상기 비휘발성 메모리에 저장된 상기 새로운 소프트웨어에 대응되는 상기 저장된 부트 이미지가 상기 화상형성장치 내의 휘발성 메모리에 로드되고, 상기 로드된 부트 이미지를 이용하여 수행되는 방법.
A method for updating a boot image for quick booting of an image forming apparatus,
Changing an attribute of at least one file system of the image forming apparatus when there is a change request for previous software installed in the image forming apparatus;
Deleting the boot image corresponding to the old software stored in the nonvolatile memory in the image forming apparatus before the boot image corresponding to the new software in which the old software is changed is created;
Changing the old software to the new software in response to the change request;
Generating a boot image corresponding to the new software based on the changed new software by rebooting the image forming apparatus; And
And storing the boot image corresponding to the generated new software in the nonvolatile memory in the image forming apparatus,
Wherein the quick boot performed after the change to the new software is performed by loading the stored boot image corresponding to the new software stored in the nonvolatile memory into the volatile memory in the image forming apparatus, How to do it.
제 1 항에 있어서,
상기 부트 이미지는
상기 화상형성장치의 부팅 초기의 시스템 상태에 필요한 정보를 나타내는, 휘발성 메모리의 데이터 및 CPU 레지스터의 데이터가 포함된 이미지인 방법.
The method according to claim 1,
The boot image
Wherein the image of the volatile memory and the data of the CPU register are indicative of information necessary for a system state at an initial boot of the image forming apparatus.
제 1 항에 있어서,
상기 이전 소프트웨어 및 상기 새로운 소프트웨어는
상기 화상형성장치를 위한 펌웨어(firmware) 및 응용 프로그램 중 적어도 하나인 방법.
The method according to claim 1,
The old software and the new software
Wherein the image forming apparatus is at least one of firmware and an application program for the image forming apparatus.
제 3 항에 있어서,
상기 변경 요청은
상기 펌웨어의 업데이트에 대한 요청, 상기 응용 프로그램의 설치에 대한 요청, 상기 응용 프로그램의 업데이트에 대한 요청 및 상기 응용 프로그램의 삭제에 대한 요청 중 적어도 하나인 방법.
The method of claim 3,
The change request
A request for an update of the firmware, a request for installation of the application program, a request for an update of the application program, and a request for deletion of the application program.
제 3 항에 있어서,
상기 펌웨어가 변경된 경우, 상기 변경된 펌웨어에 부트 이미지가 저장되어 있는지 여부를 판단하는 단계를 더 포함하는 방법.
The method of claim 3,
If the firmware is changed, determining whether a boot image is stored in the changed firmware.
제 5 항에 있어서,
상기 변경된 펌웨어에 부트 이미지가 저장된 것으로 판단된 경우, 상기 변경된 펌웨어에 저장된 부트 이미지를 상기 화상형성장치의 비휘발성 메모리로 복사하는 단계를 더 포함하고,
상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 단계는 상기 복사된 부트 이미지에 기초하여 상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 방법.
6. The method of claim 5,
And copying the boot image stored in the changed firmware to the nonvolatile memory of the image forming apparatus when it is determined that the boot image is stored in the changed firmware,
Wherein the step of generating a boot image corresponding to the new software generates a boot image corresponding to the new software based on the copied boot image.
제 1 항에 있어서,
상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 단계는
상기 변경된 새로운 소프트웨어에 기초하여 상기 화상형성장치를 재부팅함으로써 상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 방법.
The method according to claim 1,
The step of generating a boot image corresponding to the new software
And rebooting the image forming apparatus based on the changed new software to generate a boot image corresponding to the new software.
제 1 항에 있어서,
상기 파일시스템의 속성을 변경하는 단계는
상기 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경하는 방법.
The method according to claim 1,
The step of modifying the attributes of the file system
And changing an attribute of the file system to a read / write state.
제 8 항에 있어서,
상기 새로운 소프트웨어로의 변경이 완료된 경우 상기 파일시스템의 속성을 읽기 전용(read only) 상태로 다시 변경하는 단계를 더 포함하는 방법.
9. The method of claim 8,
Further comprising changing the attribute of the file system back to a read only state when the change to the new software is completed.
제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 9. 빠른 부팅을 위한 부트 이미지를 업데이트하는 화상형성장치에 있어서,
상기 화상형성장치에 설치된 이전 소프트웨어에 대한 변경 요청이 있는 경우 상기 화상형성장치의 적어도 하나의 파일시스템의 속성을 변경하고, 상기 변경 요청에 따라 상기 이전 소프트웨어가 변경된 새로운 소프트웨어에 대응되는 부트 이미지가 생성되기 전에 상기 화상형성장치 내의 비휘발성 메모리에 저장된 상기 이전 소프트웨어에 대응되는 부트 이미지를 삭제하고, 상기 변경 요청에 따라 상기 이전 소프트웨어를 새로운 소프트웨어로 변경하고, 상기 화상형성장치를 재부팅함으로써 상기 변경된 새로운 소프트웨어에 기초하여 상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 프로세서;
상기 화상형성장치에 상기 생성된 새로운 소프트웨어에 대응되는 부트 이미지를 저장하는 비휘발성 메모리; 및
상기 비휘발성 메모리에 저장된 상기 새로운 소프트웨어에 대응되는 부트 이미지를 로드하는 휘발성 메모리를 포함하고,
상기 새로운 소프트웨어로 변경된 이후에 상기 프로세서는, 상기 휘발성 메모리에 로드된 상기 새로운 소프트웨어에 대응되는 상기 부트 이미지를 이용하여 상기 빠른 부팅을 수행하는 화상형성장치.
An image forming apparatus for updating a boot image for quick boot,
Wherein when a change request is made to the old software installed in the image forming apparatus, the attribute of at least one file system of the image forming apparatus is changed, and a boot image corresponding to the new software changed by the old software is generated The boot image corresponding to the old software stored in the nonvolatile memory in the image forming apparatus is deleted before the new software is changed, the old software is changed to the new software in response to the change request, A processor configured to generate a boot image corresponding to the new software;
A nonvolatile memory for storing a boot image corresponding to the created new software in the image forming apparatus; And
And a volatile memory for loading a boot image corresponding to the new software stored in the nonvolatile memory,
Wherein the processor performs the quick boot using the boot image corresponding to the new software loaded in the volatile memory after the change to the new software.
제 11 항에 있어서,
상기 이전 소프트웨어 및 상기 새로운 소프트웨어는
상기 화상형성장치를 위한 펌웨어(firmware) 및 응용 프로그램 중 적어도 하나인 화상형성장치.
12. The method of claim 11,
The old software and the new software
Wherein the image forming apparatus is at least one of firmware and an application program for the image forming apparatus.
제 11 항에 있어서,
상기 프로세서는
상기 변경된 새로운 소프트웨어에 기초하여 상기 화상형성장치를 재부팅함으로써 상기 새로운 소프트웨어에 대응되는 부트 이미지를 생성하는 화상형성장치.
12. The method of claim 11,
The processor
And generates a boot image corresponding to the new software by rebooting the image forming apparatus based on the changed new software.
제 11 항에 있어서,
상기 프로세서는
상기 파일시스템의 속성을 읽기/쓰기(read/write) 상태로 변경하는 화상형성장치.
12. The method of claim 11,
The processor
And changes an attribute of the file system to a read / write state.
KR1020110105529A 2010-02-26 2011-10-14 Method for updating boot image for fast booting and image forming apparatus for performing the same KR101850272B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110105529A KR101850272B1 (en) 2011-10-14 2011-10-14 Method for updating boot image for 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,715 US20130042097A1 (en) 2010-02-26 2012-10-12 Method of updating boot image for fast booting and image forming apparatus for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110105529A KR101850272B1 (en) 2011-10-14 2011-10-14 Method for updating boot image for fast booting and image forming apparatus for performing the same

Publications (2)

Publication Number Publication Date
KR20130040637A KR20130040637A (en) 2013-04-24
KR101850272B1 true KR101850272B1 (en) 2018-04-20

Family

ID=48440405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110105529A KR101850272B1 (en) 2010-02-26 2011-10-14 Method for updating boot image for fast booting and image forming apparatus for performing the same

Country Status (1)

Country Link
KR (1) KR101850272B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102247599B1 (en) * 2014-07-09 2021-05-03 한화테크윈 주식회사 Booting image restoration system and restoration method thereof
US11237841B2 (en) * 2019-08-21 2022-02-01 Micron Technology, Inc. Configurable media structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US20050060531A1 (en) * 2003-09-15 2005-03-17 Davis Michael Ryan Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US20050060531A1 (en) * 2003-09-15 2005-03-17 Davis Michael Ryan Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems

Also Published As

Publication number Publication date
KR20130040637A (en) 2013-04-24

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
US20130036300A1 (en) Method of fixing error of boot image for fast booting and image forming apparatus for performing the method
US20130042097A1 (en) Method of updating boot image for fast booting and image forming apparatus for performing the method
TWI505087B (en) System reset
US8578144B2 (en) Partial hibernation restore for boot time reduction
CN105917306B (en) System and method for configuring system firmware configuration data
CN102591675B (en) Method and system for management of multiple software images with shared memory blocks
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
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
KR101850272B1 (en) Method for updating boot image for fast booting and image forming apparatus for performing the same
KR101845467B1 (en) Method for restoring error of boot image for fast booting and image forming apparatus for performing the same
KR20180023575A (en) Firmware auto updating method and computer readable recording medium writing firmware auto updating method
US11467898B2 (en) Information processing apparatus and method of controlling the same
JP2021047806A (en) Information processing system, information processing apparatus, and information processing program
KR100792786B1 (en) Method for os restoring of computer using backup image file
US11922170B2 (en) Systems and method for bootup activation of firmware images
US10958802B2 (en) Image forming apparatus, control method of image forming apparatus, and storage medium
TWI448967B (en) Updating method of software and computer readable medium
JP7087087B2 (en) BIOS code for storing the operating system on computer-readable media
KR100947136B1 (en) Incremental provisioning of software
JP2005078336A (en) Image forming apparatus and program rewriting method for image forming apparatus
CN114610226A (en) Data storage device and method for maintaining normal startup of data storage device

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