JP2014002613A - Information processing device, control method of the same, and computer program - Google Patents

Information processing device, control method of the same, and computer program Download PDF

Info

Publication number
JP2014002613A
JP2014002613A JP2012138172A JP2012138172A JP2014002613A JP 2014002613 A JP2014002613 A JP 2014002613A JP 2012138172 A JP2012138172 A JP 2012138172A JP 2012138172 A JP2012138172 A JP 2012138172A JP 2014002613 A JP2014002613 A JP 2014002613A
Authority
JP
Japan
Prior art keywords
software
kernel
unit
reboot
updated
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2012138172A
Other languages
Japanese (ja)
Other versions
JP5932511B2 (en
JP2014002613A5 (en
Inventor
Akira Ishikawa
亮 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012138172A priority Critical patent/JP5932511B2/en
Priority to US13/912,938 priority patent/US20130339939A1/en
Publication of JP2014002613A publication Critical patent/JP2014002613A/en
Publication of JP2014002613A5 publication Critical patent/JP2014002613A5/en
Application granted granted Critical
Publication of JP5932511B2 publication Critical patent/JP5932511B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device which reduces an update processing time in software update processing by performing reboot without initialization of an entire system if update target software does not include a kernel.SOLUTION: An information processing device 1 determines whether update target software stored in a storage unit includes only an application, then updates the update target software. When the update target software includes only an application, the device 1 does not perform reboot. When the update target software includes software other than the application, then if the update target software includes a kernel, the device 1 performs reboot with initialization of hardware, and if the update target software does not include the kernel, the device 1 performs reboot without initialization of the hardware.

Description

本発明は、情報処理装置、その制御方法及びコンピュータプログラムに関する。   The present invention relates to an information processing apparatus, a control method thereof, and a computer program.

近年の複合機は汎用PCと同様に、市場に設置した後も定期的にソフトウェアを更新することで、機能追加や不具合修正を実施している。ソフトウェアは大きく分けて、独立性の高いアプリケーション部分と、システム全体に依存するOS部分から構成されている。アプリケーションのソフトウェアを更新する場合は、独立性が高いため対象のプログラムファイルを更新して、対象のアプリケーションのみを再立ち上げ(以下リブートまたはリブート処理と呼ぶ)すれば更新が完了する。OSのソフトウェアはシステム全体に依存するため更新したOSのソフトウェアのみをリブートすることができない。そのため、OSのソフトウェアを更新する時は、更新対象のファイルを更新用のプログラムファイルで差し換えた後にシステム全体をリブートすることが必要になる。このリブート処理はアプリケーション単体のリブートに比べて時間がかかるため、ダウンタイムが生じ、ユーザはシステムがリブートを完了するまで待たなければならない。汎用PC用のディストリビューションでは、更新対象にOSのソフトウェアが含まれているか否かを判断して、OSのソフトウェアが含まれていた場合のみリブートすることで、アプリケーションの更新には不要なリブートのダウンタイムを作らない様にしている。   In recent years, multifunction devices, like general-purpose PCs, perform function additions and defect corrections by regularly updating software after installation in the market. Software is roughly divided into a highly independent application part and an OS part that depends on the entire system. When updating the software of an application, since the independence is high, the update is completed by updating the target program file and restarting only the target application (hereinafter referred to as reboot or reboot processing). Since the OS software depends on the entire system, only the updated OS software cannot be rebooted. Therefore, when updating the OS software, it is necessary to reboot the entire system after replacing the file to be updated with the program file for update. This reboot process takes more time than a single application reboot, resulting in downtime and the user having to wait for the system to complete the reboot. In the distribution for general-purpose PCs, it is determined whether or not the OS software is included in the update target, and the reboot is performed only when the OS software is included. I try not to make downtime.

また、OSのソフトウェアを更新する場合は、更新処理自体もOSが実施することになるが、更新の対象と更新の実行が同一であることから、更新処理中にプログラムファイルの不整合が発生し、システムが更新処理を実施できない課題がある。この課題への対処手段としては、従来からOS部分を機器内に2つ持ち、片方から他方を更新する手段がとられている。特許文献1は、更新用のファームウェアを非運用面のメモリ領域に記憶させ、運用面のメモリ領域で更新対象のファームウェアを同時並行的に実行し、両方のファームウェアの同期が取れたタイミングで更新用のファームウェアに切り替えるシステムを開示している。   In addition, when updating the OS software, the update process itself is also performed by the OS. However, since the update target and the execution of the update are the same, program file inconsistency occurs during the update process. There is a problem that the system cannot perform the update process. As means for coping with this problem, there has conventionally been a means of having two OS parts in a device and updating one from the other. In Patent Document 1, update firmware is stored in a non-operational memory area, the firmware to be updated is executed in parallel in the operation memory area, and the firmware is updated at the timing when both firmwares are synchronized. A system for switching to the firmware is disclosed.

特開平11−7382号公報Japanese Patent Laid-Open No. 11-7382

OSを2つ備えることで、更新処理におけるプログラムファイルの不整合を防ぐことが可能となったが、OSのソフトウェアを更新する場合はシステム全体を再立ち上げするリブート処理が必要であり、一般的には電源断を伴う。しかしながら、リブート処理で実施されるハードウェアの初期化は、必ずしも必要ではない。具体的には、OSの内、ハードウェア制御ソフトが含まれるカーネルの更新時は、システム全体の初期化が必要である。OSの内、ハードウェア制御ソフトが含まれないカーネル以外のソフトウェアの更新時は、システム全体の初期化は不要である。従来、OSのソフトウェアを更新する際には、カーネルが対象か否かに関わらずシステム全体の初期化、つまり電源断を伴う初期化を行っていたため、更新処理に時間がかかるという課題がある。そこで本発明は、ソフトウェアの更新処理において、更新対象のソフトウェアにカーネルが含まれない場合はシステム全体を初期化することなくリブートすることにより更新処理時間を低減する情報処理装置を提供することを目的とする。   By providing two OSs, it has become possible to prevent inconsistencies in program files in the update process. However, when updating OS software, a reboot process is required to restart the entire system, Is accompanied by power interruption. However, hardware initialization performed in the reboot process is not always necessary. Specifically, when updating a kernel including hardware control software in the OS, it is necessary to initialize the entire system. When updating software other than the kernel that does not include hardware control software in the OS, it is not necessary to initialize the entire system. Conventionally, when updating OS software, regardless of whether or not the kernel is the target, initialization of the entire system, that is, initialization accompanied by power-off, has been a problem. SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide an information processing apparatus capable of reducing the update processing time by rebooting without initializing the entire system when the update target software does not include a kernel in the software update process. And

本発明の一実施形態の情報処理装置は、ソフトウェアの更新処理を行う情報処理装置である。前記情報処理装置は、記憶部に記憶された前記ソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断する判断手段と、前記更新対象のソフトウェアを更新する更新手段と、前記更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合であって、前記更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、前記更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行うリブート手段とを備える。   An information processing apparatus according to an embodiment of the present invention is an information processing apparatus that performs software update processing. The information processing apparatus includes: a determination unit that determines whether or not only an application is included in an update target of the software stored in a storage unit; an update unit that updates the update target software; and the update target If the software contains only the application, do not reboot, and if the software to be updated contains software other than the application, and if the software to be updated contains a kernel And reboot means for performing a reboot with initialization of hardware and performing a reboot without initialization of the hardware when the software to be updated does not include the kernel.

本発明の情報処理装置によれば、ソフトウェアの更新処理において、更新対象のソフトウェアにカーネルが含まれない場合はシステム全体を初期化することなくリブートすることにより更新処理時間を低減することが可能となる。   According to the information processing apparatus of the present invention, in the software update process, when the update target software does not include a kernel, it is possible to reduce the update process time by rebooting without initializing the entire system. Become.

本発明の画像形成装置の構成例を示す図である。1 is a diagram illustrating a configuration example of an image forming apparatus of the present invention. 画像形成装置の内部構成図である。1 is an internal configuration diagram of an image forming apparatus. 画像形成装置のコントローラ部の詳細を示すブロック図である。2 is a block diagram illustrating details of a controller unit of the image forming apparatus. FIG. 画像形成装置のFlash上に配置されるデータの構造図である。3 is a structural diagram of data arranged on a flash of an image forming apparatus. FIG. 実施例1のバージョンアップを実施するフロー図である。FIG. 3 is a flowchart for performing version upgrade of the first embodiment. 画像形成装置のFlash上に配置されるデータの構造図である。3 is a structural diagram of data arranged on a flash of an image forming apparatus. FIG. 実施例2のバージョンアップを実施するフロー図である。FIG. 10 is a flowchart for performing version upgrade of the second embodiment.

(実施例1)
図1は、本実施例の情報処理装置として機能する画像形成装置の構成例を示す図である。本実施例では画像形成装置を例に説明するが、本発明は計算機システム全般に適用可能な技術である。画像形成装置1は、イーサネット(登録商標)等のLAN(Local Area Network)400を介してホストコンピュータ(本実施例ではPC3,4)に接続されている。
Example 1
FIG. 1 is a diagram illustrating a configuration example of an image forming apparatus that functions as an information processing apparatus according to the present exemplary embodiment. In this embodiment, an image forming apparatus will be described as an example. However, the present invention is a technique applicable to all computer systems. The image forming apparatus 1 is connected to a host computer (PCs 3 and 4 in this embodiment) via a LAN (Local Area Network) 400 such as Ethernet (registered trademark).

画像形成装置1は、リーダ部2、プリンタ部6操作部7、コントローラ部110、ハードディスク8を備える。リーダ部2は、画像データの読取処理を行う。プリンタ部6は、画像データの入出力処理を行う。操作部7は、ユーザの操作に応じた処理を実行する。例えば、操作部7は、画像データや各種機能の表示処理を行う液晶パネルを備える。コントローラ部110は、画像形成装置1が備える各処理部に指示することによって、画像形成装置全体を制御する。   The image forming apparatus 1 includes a reader unit 2, a printer unit 6, an operation unit 7, a controller unit 110, and a hard disk 8. The reader unit 2 performs image data reading processing. The printer unit 6 performs image data input / output processing. The operation unit 7 executes processing according to a user operation. For example, the operation unit 7 includes a liquid crystal panel that performs display processing of image data and various functions. The controller unit 110 controls the entire image forming apparatus by instructing each processing unit included in the image forming apparatus 1.

リーダ部2は、原稿給紙ユニット10、スキャナユニット11を備える。原稿給紙ユニット10は、原稿用紙を搬送する。スキャナユニット11は、搬送された原稿画像を光学的に読み取って電気信号としての画像データに変換する。   The reader unit 2 includes a document feeding unit 10 and a scanner unit 11. The document feed unit 10 transports document sheets. The scanner unit 11 optically reads the conveyed document image and converts it into image data as an electrical signal.

プリンタ部6は、給紙ユニット12、マーキングユニット13、排紙ユニット14を備える。給紙ユニット12は、記録用紙を収容する。このために、給紙ユニット12は、複数段の給紙カセットを備える。マーキングユニット13は、画像データを記録用紙に転写、定着する。排紙ユニット14は、印字された記録用紙にソート処理やステイプル処理を施して、外部に排出する+。ハードディスク8には、制御プログラムや画像データ等が予め書き込まれている。   The printer unit 6 includes a paper feed unit 12, a marking unit 13, and a paper discharge unit 14. The paper supply unit 12 stores recording paper. For this purpose, the paper feed unit 12 includes a plurality of paper feed cassettes. The marking unit 13 transfers and fixes the image data onto the recording paper. The paper discharge unit 14 sorts and staples the printed recording paper and discharges it to the outside. In the hard disk 8, a control program, image data, and the like are written in advance.

図2は、図1に示す画像形成装置が備えるリーダ部2及びプリンタ部6の詳細を示す内部構造であり、リーダ部2はプリンタ部6に載置されている。リーダ部2では、原稿給送ユニット210に積層された原稿用紙がその積層順にしたがって、先頭から順次1枚ずつプラテンガラス215上に給送される。スキャナユニット11が所定の読取動作を終了した後、読み取られた原稿用紙がプラテンガラス215上から原稿給送ユニット210に排出される。また、スキャナユニット11では、原稿用紙がプラテンガラス215上に搬送されてくるとランプ216が点灯し、次いで光学ユニット217が移動を開始する。このとき、原稿用紙は読み取り位置で固定される。光学ユニット217は、読取り位置で固定された原稿用紙を下方から照射し、走査する。原稿用紙からの反射光は、複数のミラー218乃至220、及びレンズ221を介してCCDイメージセンサー(以下、単に「CCD」と記す)222へと導かれ、走査された原稿画像はCCD222によって読み取られる。そして、CCD222によって読み取られた画像データは、所定の処理が施された後、コントローラ部110(図2では図示省略)に転送される。   FIG. 2 is an internal structure showing details of the reader unit 2 and the printer unit 6 included in the image forming apparatus shown in FIG. 1, and the reader unit 2 is mounted on the printer unit 6. In the reader unit 2, the original sheets stacked on the original supply unit 210 are sequentially supplied onto the platen glass 215 one by one from the top in accordance with the stacking order. After the scanner unit 11 finishes a predetermined reading operation, the read original paper is discharged from the platen glass 215 to the original feeding unit 210. In the scanner unit 11, when the original paper is conveyed onto the platen glass 215, the lamp 216 is turned on, and then the optical unit 217 starts moving. At this time, the document sheet is fixed at the reading position. The optical unit 217 irradiates and scans the original paper fixed at the reading position from below. Reflected light from the document sheet is guided to a CCD image sensor (hereinafter simply referred to as “CCD”) 222 via a plurality of mirrors 218 to 220 and a lens 221, and the scanned document image is read by the CCD 222. . The image data read by the CCD 222 is subjected to predetermined processing and then transferred to the controller unit 110 (not shown in FIG. 2).

別の方法として、プラテンガラス215上に原稿用紙が載置された時点でランプ216を点灯し、次いで光学ユニット217の移動を開始させ、原稿用紙を下方から照射し、走査することで、走査された原稿画像をCCD222によって読み取ることも可能である。以上の手順で送出されたリーダからの画像データは、コネクタ56を介してコントローラ部110に送出される。   As another method, when the original paper is placed on the platen glass 215, the lamp 216 is turned on, then the movement of the optical unit 217 is started, and the original paper is irradiated from below and scanned. It is also possible to read the original image by the CCD 222. The image data sent from the reader in the above procedure is sent to the controller unit 110 via the connector 56.

次いで、プリンタ部6では、不図示のレーザドライバ23によって駆動されるレーザ発光部224が、コントローラ部110から出力された画像データに対応するレーザ光を発光する。該レーザ光により、マーキング部13の感光ドラム225にはレーザ光に応じた静電潜像が形成される。現像器226は、形成された静電潜像の部分に現像剤を付着する。   Next, in the printer unit 6, a laser light emitting unit 224 driven by a laser driver 23 (not shown) emits laser light corresponding to the image data output from the controller unit 110. By the laser light, an electrostatic latent image corresponding to the laser light is formed on the photosensitive drum 225 of the marking unit 13. The developing device 226 attaches a developer to the portion of the formed electrostatic latent image.

一方、レーザ光の照射開始と同期したタイミングで、給紙部12(給紙カセット212a,212b)は、記録用紙を給紙して転写部227に搬送する。転写部227は、感光ドラム225に付着している現像剤を給紙された記録用紙に転写する。画像データが転写された記録用紙は定着部228に搬送され、定着部228は加熱・加圧処理により画像データを記録紙に定着する。画像データが記録用紙に片面記録される場合は、排出ローラ229が定着部228を通過した記録用紙をそのまま排紙ユニット14に排出する。   On the other hand, the paper feed unit 12 (paper feed cassettes 212a and 212b) feeds the recording paper and conveys it to the transfer unit 227 at a timing synchronized with the start of laser light irradiation. The transfer unit 227 transfers the developer attached to the photosensitive drum 225 to the fed recording paper. The recording paper on which the image data is transferred is conveyed to the fixing unit 228, and the fixing unit 228 fixes the image data on the recording paper by heating / pressurizing processing. When the image data is recorded on one side of the recording paper, the discharge roller 229 discharges the recording paper that has passed through the fixing unit 228 to the paper discharge unit 14 as it is.

排紙ユニット14は、排出された記録用紙を束ねて記録用紙の仕分けを行う。また、排紙ユニット14は仕分けされた記録用紙のステイプル処理を行う。また、排紙ユニット14は、画像データが記録用紙に両面記録される場合は、排出ローラ229まで記録用紙を搬送した後、排出ローラ229の回転方向を逆転させる。その後、記録用紙は、フラッパ230によって再給紙搬送路231へと導かれ、上述と同様にして転写部227に搬送される。コントローラ部110は、上述したように単一の電子部品で構成される。コントローラ部110はリーダ部2が読み取った画像データをコードに変換し、LAN400を介して第一及び第二のホストコンピュータ3、4に送信するスキャナ機能を有する。さらに、コントローラ部110は、ホストコンピュータ3、4から不図示のLANを介して受信したコードデータを画像データに変換し、プリンタ部6に出力するプリンタ機能を有する。上述した機能は一例であり、コントローラ部はその他の機能を有することが可能である。   The paper discharge unit 14 bundles the discharged recording sheets and sorts the recording sheets. In addition, the paper discharge unit 14 performs a stapling process on the sorted recording paper. In addition, when the image data is recorded on both sides of the recording paper, the paper discharge unit 14 conveys the recording paper to the discharge roller 229 and then reverses the rotation direction of the discharge roller 229. Thereafter, the recording sheet is guided to the refeed conveyance path 231 by the flapper 230 and conveyed to the transfer unit 227 in the same manner as described above. The controller unit 110 is composed of a single electronic component as described above. The controller unit 110 has a scanner function that converts image data read by the reader unit 2 into a code and transmits the code to the first and second host computers 3 and 4 via the LAN 400. Further, the controller unit 110 has a printer function of converting code data received from the host computers 3 and 4 via a LAN (not shown) into image data and outputting the image data to the printer unit 6. The above-described function is an example, and the controller unit can have other functions.

図3は、図1に示す画像形成装置が備えるコントローラ部の構成例を示す図である。コントローラ部110が備える構成要素のうち、メインコントローラ32は、CPU33とバスコントローラ34と後述する各種コントローラ回路を含む機能ブロックとを備える。本実施形態の画像形成装置の制御方法は、CPU33がFLASHメモリ99に格納されたコンピュータプログラムを実行することによって実現される。   FIG. 3 is a diagram illustrating a configuration example of a controller unit included in the image forming apparatus illustrated in FIG. 1. Of the components included in the controller unit 110, the main controller 32 includes a CPU 33, a bus controller 34, and functional blocks including various controller circuits described later. The control method of the image forming apparatus according to the present embodiment is realized by the CPU 33 executing a computer program stored in the FLASH memory 99.

メインコントローラ32は、DRAMI/F37を介して、DRAM38と接続される。また、メインコントローラ32は、コーデックI/F39を介して、コーデック40と接続される。また、メインコントローラ32は、ネットワークI/F41を介して、ネットワークコントローラ32と接続される。また、メインコントローラ32は、スキャナバス45を介して、スキャナI/F46に接続される。また、メインコントローラ32は、プリンタバス47を介して、プリンタI/F48に接続される。また、メインコントローラ32は、PCIバス等の汎用高速バス49を介して拡張ボードを接続するための拡張コネクタ50及び入出力制御部(I/O制御部)51に接続されている。   The main controller 32 is connected to the DRAM 38 via the DRAM I / F 37. The main controller 32 is connected to the codec 40 via the codec I / F 39. The main controller 32 is connected to the network controller 32 via the network I / F 41. The main controller 32 is connected to the scanner I / F 46 via the scanner bus 45. The main controller 32 is connected to the printer I / F 48 via the printer bus 47. The main controller 32 is connected to an expansion connector 50 and an input / output control unit (I / O control unit) 51 for connecting an expansion board via a general-purpose high-speed bus 49 such as a PCI bus.

DRAM38は、CPU33が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック40は、DRAM38に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮する。また、コーデック40は、圧縮されたデータをラスターイメージに伸長する。また、コーデック40にはSRAM43が接続されており、SRAM43は、コーデック40の一時的な作業領域として使用される。   The DRAM 38 is used as a work area for the CPU 33 to operate and an area for storing image data. The codec 40 compresses the raster image data stored in the DRAM 38 by a known compression method such as MH / MR / MMR / JBIG. Further, the codec 40 expands the compressed data into a raster image. In addition, an SRAM 43 is connected to the codec 40, and the SRAM 43 is used as a temporary work area of the codec 40.

ネットワークコントローラ42は、ネットワークコネクタ44を介して、LAN400(図2)との間で所定の制御動作を行う。I/O制御部51は、図2に示すリーダ部2やプリンタ部6との間で、制御コマンドを送受信する。I/O制御部51には、上記制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ52が2チャンネル装備されている。シリアル通信コントローラ52は、I/Oバス53を介して、スキャナI/F46及びプリンタI/F48に接続されている。   The network controller 42 performs a predetermined control operation with the LAN 400 (FIG. 2) via the network connector 44. The I / O control unit 51 transmits and receives control commands to and from the reader unit 2 and the printer unit 6 shown in FIG. The I / O control unit 51 is equipped with two channels of asynchronous serial communication controllers 52 for transmitting and receiving the control commands. The serial communication controller 52 is connected to the scanner I / F 46 and the printer I / F 48 via the I / O bus 53.

スキャナI/F46は、第一の調歩同期シリアルI/F54及び第一のビデオI/F55を介して、スキャナコネクタ56に接続されている。また、スキャナコネクタ56は、リーダ部2のスキャナユニット11に接続されている。そして、スキャナI/F46は、スキャナユニット11から受信した画像データに対して、所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行う。また、スキャナI/F46は、スキャナユニット11から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス45を介して、メインコントローラ32に転送する。   The scanner I / F 46 is connected to the scanner connector 56 via the first asynchronous serial I / F 54 and the first video I / F 55. The scanner connector 56 is connected to the scanner unit 11 of the reader unit 2. The scanner I / F 46 performs desired binarization processing and scaling processing in the main scanning direction and / or sub-scanning direction on the image data received from the scanner unit 11. The scanner I / F 46 generates a control signal based on the video signal sent from the scanner unit 11 and transfers it to the main controller 32 via the scanner bus 45.

また、プリンタI/F48は、第2の調歩同期シリアルI/F57及び第2のビデオI/F58を介して、プリンタコネクタ59に接続されている。また、プリンタコネクタ59は、プリンタ部6のマーキングユニット13に接続されている。そして、プリンタI/F48は、メインコントローラ32から出力された画像データにスムージング処理を施して、マーキングユニット13に出力する。また、プリンタI/F48は、マーキングユニット13から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス47に出力する。プリンタI/F48は、例えば、LAN400に接続されたホストコンピュータから受信したPDL(ページ記述言語)データを解釈し、ラスターイメージデータに展開する。   The printer I / F 48 is connected to the printer connector 59 via a second asynchronous serial I / F 57 and a second video I / F 58. The printer connector 59 is connected to the marking unit 13 of the printer unit 6. The printer I / F 48 performs a smoothing process on the image data output from the main controller 32 and outputs the processed image data to the marking unit 13. The printer I / F 48 outputs the generated control signal to the printer bus 47 based on the video signal sent from the marking unit 13. For example, the printer I / F 48 interprets PDL (page description language) data received from a host computer connected to the LAN 400 and develops it into raster image data.

また、バスコントローラ34は、スキャナI/F46プリンタI/F48、その他拡張コネクタ50等に接続された外部機器から入出力されるデータ転送を制御する。具体的には、バスコントローラ34は、バスの使用権のアービトレーション(調停)やDMAデータ転送の制御を行う。例えば、上述したDRAM38とコーデック40との間のデータ転送や、スキャナユニット11からDRAM38へのデータ転送、DRAM38からマーキングユニット13へのデータ転送等は、バスコントローラ34によって制御され、DMA転送される。   The bus controller 34 controls data transfer input / output from / to an external device connected to the scanner I / F 46, printer I / F 48, other extension connector 50, and the like. Specifically, the bus controller 34 controls arbitration of bus use right and DMA data transfer. For example, the above-described data transfer between the DRAM 38 and the codec 40, data transfer from the scanner unit 11 to the DRAM 38, data transfer from the DRAM 38 to the marking unit 13, and the like are controlled by the bus controller 34 and are DMA-transferred.

また、I/O制御部51は、LCDコントローラ60及びキー入力I/F61を介して、パネルI/F62に接続されている。パネルI/F62は、操作部7に接続されている。また、I/O制御部51は、E−IDEコネクタ63を介して、ハードディスク8および9、Flashメモリ99に接続されている。   The I / O control unit 51 is connected to the panel I / F 62 via the LCD controller 60 and the key input I / F 61. The panel I / F 62 is connected to the operation unit 7. The I / O control unit 51 is connected to the hard disks 8 and 9 and the flash memory 99 via the E-IDE connector 63.

Flashメモリ99は、メインコントローラ制御用の各種制御プログラム、各種データ記憶領域を記憶する。また、Flashメモリ99は、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール64に接続されている。リアルタイムクロックモジュール64は、バックアップ用電池65に接続されて、バックアップ用電池65によりバックアップされている。BIOS
ROM98は、メインコントローラ32に接続され、IO初期化プログラムを記憶する。
The flash memory 99 stores various control programs for controlling the main controller and various data storage areas. The flash memory 99 is connected to a real-time clock module 64 that updates / stores the date and time managed in the device. The real time clock module 64 is connected to the backup battery 65 and backed up by the backup battery 65. BIOS
The ROM 98 is connected to the main controller 32 and stores an IO initialization program.

次に図3と図4を参照し、Flash99の内部に配置されたソフトウェアの構成について説明する。Flash99は記憶部として機能し、内部的にソフトウェアとして、Boot
Loader1007、KernelA1008、InitrdA1009、Program StorageA1010を有する。さらに、Flash99は、KernelB1011、InitrdB1012、Program
StorageB1013を有する。
Next, with reference to FIG. 3 and FIG. 4, a configuration of software arranged in the Flash 99 will be described. Flash99 functions as a storage unit, internally as software, Boot
A loader 1007, a kernel A 1008, an initrd A 1009, and a program storage A 1010 are included. In addition, Flash99 is Kernel B1011, InitrdB1012, Program.
Storage B1013.

Boot Loader1007は、BIOS98によって、DRAM38に読み込まれたのち実行され、KernelA1008、InitrdA1009、KernelB1011およびInitrdB1012をDRAM38に読み込む。   The boot loader 1007 is executed after being read into the DRAM 38 by the BIOS 98, and reads Kernel A 1008, Initrd A 1009, Kernel B 1011, and Initrd B 1012 into the DRAM 38.

InitrdA1009およびInitrdB1012は、DRAM38に読み込まれたのちに、カーネル初期化時の一時的な起動ディスクとして使用される。KernelA1008およびKernelB1011はそれぞれ、InitrdA1009およびInitrdB1012を一時起動ディスクとして起動する。その後、KernelA1008およびKernelB1011はそれぞれ、Program
StorageA1010またはProgram StorageB1013を実際の起動ディスクとして実装する。Program StorageA1010およびProgram
StorageB1013はそれぞれ、アプリケーション部およびOS部を含むソフトウェアを記憶する。KernelA1008もしくはKernelB1011は、Program
StorageA1010およびProgram StorageB1013を実装後に、内部に配置されたソフトウェアを起動することで複写機の機能を実行する。
InitrdA 1009 and InitrdB 1012 are read into the DRAM 38 and then used as temporary startup disks at the time of kernel initialization. Kernel A 1008 and Kernel B 1011 start with Initrd A 1009 and Initrd B 1012 as temporary startup disks, respectively. Thereafter, Kernel A1008 and Kernel B1011 are each programmed.
Storage A1010 or Program Storage B1013 is mounted as an actual boot disk. Program Storage A1010 and Program
Storage B 1013 stores software including an application unit and an OS unit, respectively. Kernel A1008 or Kernel B1011 is Program
After mounting Storage A1010 and Program Storage B1013, the functions of the copier are executed by starting up the software arranged inside.

本実施例では、CPU33は、作業部として使用するDRAM38上に全てのプログラムを展開してから実行するのではなく、デマンドローディング機構により、必要なプログラムだけをオンデマンドに選択してDRAM38に読み込むものとする。KernelA1008、InitrdA1009、Program
StorageA1010とKernelB1011、InitrdB1012、Program Storage10013はソフトウェア更新のため、冗長的に構成されている。片方が他方を更新することで、更新処理中の不整合を回避すると共に、更新失敗時のリカバリ処理を可能としている。KernelA1008とInitrdA1009、KernelB1011とInitrdB1012は、それぞれ組み合わせて用いられる。Program
StorageA1010とProgram StorageB1013は更新処理のシーケンスによって、KernelA1008とKernelB1011と任意の組み合わせで用いられる。
In this embodiment, the CPU 33 does not execute all the programs on the DRAM 38 used as a working unit but executes them, but selects only the necessary programs on demand by the demand loading mechanism and loads them into the DRAM 38. And Kernel A1008, InitrdA1009, Program
Storage A 1010, Kernel B 1011, Initrd B 1012, and Program Storage 10013 are redundantly configured for software update. By updating one of the other, inconsistency during the update process can be avoided and recovery process when the update fails can be performed. Kernel A 1008 and Initrd A 1009, and Kernel B 1011 and Initrd B 1012 are used in combination. Program
Storage A 1010 and Program Storage B 1013 are used in any combination with Kernel A 1008 and Kernel B 1011 depending on the update processing sequence.

次に図5は、画像形成装置のソフトウェアのバージョンアップを説明する図である。図5に示すフローチャートは、Flashメモリ99に格納されたプログラムに従ってメインコントローラ32のCPU33が実行することによって実現される。ステップ2001でProgram
StorageA1010内に配置され、起動しているメインコントローラ32のソフトウェアがユーザの指示を受けバージョンアップを開始する。ステップ2001で使用されているソフトウェアは、KernelA1008、InitrdA1009、Program
StorageA1010であるものとする。
Next, FIG. 5 is a diagram for explaining software upgrade of the image forming apparatus. The flowchart shown in FIG. 5 is realized by the CPU 33 of the main controller 32 executing in accordance with a program stored in the flash memory 99. In step 2001, Program
The software of the main controller 32 which is arranged in the Storage A 1010 and is activated starts version upgrade in response to a user instruction. The software used in step 2001 is Kernel A1008, InitrdA1009, Program.
It is assumed that it is Storage A1010.

ステップ2002で、CPU33は、バージョンアップを指示されたソフトウェアの一覧を作成する。ステップ2003で、CPU33は、ステップ2002で作成したソフトウェア一覧にアプリケーションソフトウェア以外のソフトウェアが含まれているかを各ソフトウェアが有するメタデータを参照し確認する。すなわち、CPU33は、ソフトウェアの更新対象にアプリケーションだけが含まれているかを判断する判断手段として機能する。ステップ2003でアプリケーションソフトウェア以外のソフトウェアが検出されなかった場合、CPU33は、ステップ2031の処理を実施する。   In step 2002, the CPU 33 creates a list of software instructed to upgrade. In step 2003, the CPU 33 confirms whether software other than application software is included in the software list created in step 2002 with reference to metadata included in each software. That is, the CPU 33 functions as a determination unit that determines whether only the application is included in the software update target. If no software other than the application software is detected in step 2003, the CPU 33 performs the process of step 2031.

ステップ2031で、CPU33は更新手段として機能し、更新対象のアプリケーションに対応するプログラムファイルをProgram
StorageA1010内で差し換えることで更新を実施する。そして、ステップ2013で、CPU33はバージョンアップを終了する。アプリケーションは、他のプロセスとの依存関係がなく独立性が高いため、CPU33はこの様に簡単な処理で更新することができる。また、この様に独立性の高いソフトウェアだけが、メタデータとしてアプリケーションであることを示す情報を有する。ハードウェアの初期化を伴わないとしてもリブート処理は数十秒から数分かかるため、アプリケーションのみの更新がもっとも高速に実施される。
In step 2031, the CPU 33 functions as an updating unit, and a program file corresponding to the application to be updated is programmed.
Update is performed by replacing in StorageA1010. In step 2013, the CPU 33 ends the version upgrade. Since the application has no dependency with other processes and is highly independent, the CPU 33 can be updated by such simple processing. Also, only such highly independent software has information indicating that it is an application as metadata. Even without hardware initialization, the reboot process takes several tens of seconds to several minutes, so only the application is updated at the highest speed.

ステップ2003で、CPU33は、アプリケーション以外のソフトウェアを検出した場合には、ステップ2004の処理を実施する。ステップ2004で、CPU33は、Program
StorageAの内容をProgram StorageBへ複製した後に、更新対象のOSのソフトウェアに対応するプログラムファイルを差し換えることで更新を実施する。これにより、更新処理中にプログラムファイルの不整合が発生することを防止する。カーネル、Initrdのソフトウェアが更新対象として含まれていた場合は、KernelA1008、InitrdA1009を更新後、KernelB1011、InitrdB1012に複製し、ステップ2005の処理を実施する。
In step 2003, if the CPU 33 detects software other than the application, it executes the processing of step 2004. In step 2004, the CPU 33 executes the program.
After copying the contents of Storage A to Program Storage B, the update is performed by replacing the program file corresponding to the OS software to be updated. This prevents program file inconsistencies from occurring during the update process. When the kernel and Initrd software are included in the update target, Kernel A 1008 and Initrd A 1009 are updated, copied to Kernel B 1011 and Initrd B 1012, and the process of Step 2005 is performed.

ステップ2005で、CPU33は、システム内で起動し、実行しているプログラムに関する全プロセスに終了処理を依頼する。各プロセスは、CPU33から指示を受け、データの書き出しなど終了していない処理を実施し、プロセスの実行を終了する。この様にシステム全体の終了処理が必要なのは、OSのロジックが全てのプロセスに渡って影響を及ぼしており、それ故OSのソフトウェアを部分的に再起動するだけでは、各プロセスは、プロセス間の整合性が取れた状態で処理を再開できないためである。CPU33は、ステップ2006で全プロセスの終了が確認できるとステップ2007の処理を実施する。   In step 2005, the CPU 33 requests termination processing from all processes related to the program that is activated and executed in the system. Each process receives an instruction from the CPU 33, performs processing that has not been completed, such as data writing, and ends the execution of the process. The reason why the entire system needs to be terminated in this way is that the OS logic affects all processes. Therefore, if the OS software is only partially restarted, each process is This is because processing cannot be resumed in a state where consistency is achieved. When the completion of all the processes can be confirmed in step 2006, the CPU 33 performs the process in step 2007.

ステップ2007で、CPU33は、ステップ2002で作成したソフトウェア一覧にカーネルとInitrdのソフトウェアが含まれているか確認する。CPU33は、ステップ2007でカーネルとInitrdのソフトウェアが含まれていることを確認した場合は、ステップ2008の処理を実施する。ステップ2008ではCPU33をリセットすることで、CPUを電源投入時の初期状態へ遷移させ、ステップ2009の処理を実施する。つまり、ステップ2007で更新対象のソフトウェアにカーネルが含まれていると判定された場合は、電源断(画像形成装置1を電源OFFにしてその後電源ONにする)を必要とするリブートを実行する。   In step 2007, the CPU 33 checks whether the software list created in step 2002 includes kernel and Initrd software. When the CPU 33 confirms that the kernel and the Initrd software are included in step 2007, the CPU 33 performs the process of step 2008. In step 2008, the CPU 33 is reset to shift the CPU to the initial state when the power is turned on, and the processing in step 2009 is performed. In other words, if it is determined in step 2007 that the update target software includes a kernel, a reboot that requires power off (the image forming apparatus 1 is powered off and then powered on) is executed.

ステップ2009で、CPU33は、BIOS ROM98をDRAM38へ読み込み、BIOSの初期化を開始する。BIOSの初期化で、CPU33は、IOデバイスを中心とした部分のハードウェアの初期化を実施した後、ステップ2010の処理を実施する。ステップ2010で、CPU33は、KernelB1011とInitrdB1012をDRAM38へ読み込み、カーネルの初期化を開始する。つまり、CPU33は、カーネルを初期化する必要がある場合は、Program
StorageA1010を保持しておく。カーネルの初期化で、CPU33は、カーネル内にデバイスドライバとして記述された全ハードウェアの初期化を実行し、終了後にステップ2011の処理を実施する。
In step 2009, the CPU 33 reads the BIOS ROM 98 into the DRAM 38, and starts initialization of the BIOS. In the initialization of the BIOS, the CPU 33 performs the processing of step 2010 after initializing the hardware of the part centering on the IO device. In step 2010, the CPU 33 reads Kernel B 1011 and Initrd B 1012 into the DRAM 38, and starts initialization of the kernel. In other words, the CPU 33, when it is necessary to initialize the kernel,
Storage A1010 is held. In the initialization of the kernel, the CPU 33 executes initialization of all hardware described as device drivers in the kernel, and executes the processing of step 2011 after the completion.

ステップ2007でカーネルが含まれていないと判断された場合はステップ2021の処理を実施する。ステップ2021では、Program
StorageA1010の実装を解除し、ステップ2011の処理を実施する。カーネルが含まれていない場合は、電源断を伴うハードウェアの初期化が必要ないため、CPU33は、OSのソフトウェアに対応するプログラムを差し換えるだけで更新を実現できる。換言すれば、CPU33は、カーネルによる起動対象を実装していたProgram
StorageA1010からProgra StorageB1013に切り替える。更新処理が完了した後は、Program StorageA1010に含まれる内容は任意のタイミングで削除されてよい。上述の構成により、Progra
StorageB1013を実装後にバージョンアップが指示された場合は、CPU33は、Progra StorageB1013をProgram StorageA1010に複製する。そして複製されたProgram
StorageA1010が更新されることになる。つまり、ステップ2007で更新対象のソフトウェアにカーネルが含まれていないと判定された場合は、電源断を必要としないリブートを実行する。
If it is determined in step 2007 that no kernel is included, the processing in step 2021 is performed. In Step 2021, Program
The implementation of Storage A1010 is released, and the processing in step 2011 is performed. When the kernel is not included, it is not necessary to initialize the hardware with a power interruption, and therefore the CPU 33 can realize the update only by replacing the program corresponding to the OS software. In other words, the CPU 33 has implemented a program that implements an activation target by the kernel.
Switch from Storage A1010 to Program StorageB1013. After the update process is completed, the contents included in Program Storage A 1010 may be deleted at an arbitrary timing. With the above configuration, Program
When the upgrade is instructed after the installation of Storage B 1013, the CPU 33 copies Program Storage B 1013 to Program Storage A 1010. And the replicated Program
Storage A1010 will be updated. In other words, if it is determined in step 2007 that the update target software does not include a kernel, a reboot that does not require power-off is executed.

ステップ2011では、CPU33はProgram StorageB1013を実装し、ステップ2012の処理を実施する。ステップ2012で、CPU33は、予め設計された起動シーケンスに従い、必要なプロセス群を起動する。例えば、ステップ2005で終了させたProgram
StorageA1010に含まれるプロセスと対応するProgram StorageB1013に含まれるプロセスを再起動する。すなわち、CPU33は、更新対象のソフトウェアに含まれるソフトウェアの種類に応じてリブートするリブート手段として機能する。つまり、CPU33は、更新対象のソフトウェアがアプリケーションのみの場合はリブートしない。CPU33は、更新対象のソフトウェアにアプリケーション以外のソフトウェアが含まれている場合であって、更新対象のソフトウェアがカーネルを含む場合は初期化を行い、カーネルを含まない場合は初期化を伴わないリブートを行う。そしてステップ2013で、CPU33はバージョンアップを終了する。
In step 2011, the CPU 33 implements Program Storage B 1013 and executes the processing in step 2012. In step 2012, the CPU 33 starts a necessary process group according to a startup sequence designed in advance. For example, the program terminated in step 2005
The process included in Program Storage B 1013 corresponding to the process included in Storage A 1010 is restarted. That is, the CPU 33 functions as a reboot unit that reboots according to the type of software included in the software to be updated. That is, the CPU 33 does not reboot when the update target software is only an application. The CPU 33 performs initialization when the software to be updated includes software other than an application and the software to be updated includes a kernel, and performs reboot without initialization when the software to be updated does not include the kernel. Do. In step 2013, the CPU 33 ends the version upgrade.

ステップ2003で、アプリケーションが含まれないとCPU33が判断した場合のバージョンアップ後に使用されるソフトウェアは、KernelA1008、InitrdA1009、Program
StorageA1010である。ステップ2007でカーネルが含まれていないとCPU33が判断した場合のバージョンアップ後に使用されるソフトウェアは、KernelA1008、InitrdA1009、Program
StorageB1013である。ステップ2007でカーネルが含まれているとCPU33が判断した場合のバージョンアップ後に使用されるソフトウェアはKernelB1011、InitrdB1012、Progra
StorageB1013である。
When the CPU 33 determines that no application is included in step 2003, the software used after the version upgrade is Kernel A1008, InitrdA1009, Program.
Storage A1010. When the CPU 33 determines that the kernel is not included in step 2007, the software used after the version upgrade is Kernel A1008, InitrdA1009, Program.
Storage B1013. When the CPU 33 determines that the kernel is included in step 2007, the software used after the version upgrade is KernelB1011, InitrdB1012, and Program.
Storage B1013.

(実施例2)
次にCPU33がProgram StorageA1010およびProgram StorageB1013に配置したプログラムをデマンドローディングせず、起動時にDRAM38に全て読み込んでから実行する場合の実施例を説明する。
図3と図6を用いてFlash99の内部に配置されたソフトウェアの構成について説明する。
(Example 2)
Next, a description will be given of an embodiment in which the CPU 33 executes all the programs arranged in the Program Storage A 1010 and the Program Storage B 1013 after loading them into the DRAM 38 at the time of startup without loading them.
A configuration of software arranged in the Flash 99 will be described with reference to FIGS. 3 and 6.

図6に示すように、Flash99は内部的に、Boot Loader3007、KernelA3008、InitrdA3009、及びProgram
StorageA3010を有する。CPU33は、BIOS98によって、DRAM38にBoot Loader3007を読み込み、読み込まれたBoot Loader3007が次にKernelA3008、InitrdA3009をDRAM38に読み込む。InitrdA3009はDRAM38に読み込まれたのちに、カーネル初期化時の一時的な起動ディスクとして使用される。KernelA3008は、InitrdA3009を一時起動ディスクとして起動する。その後、CPU33は、Program
StorageA3010の内容をDRAM38に全て読み込む。
As shown in FIG. 6, Flash99 internally includes Boot Loader 3007, Kernel A3008, InitrdA3009, and Program.
Storage A3010. The CPU 33 reads the boot loader 3007 into the DRAM 38 by the BIOS 98, and the read boot loader 3007 next reads the kernel A 3008 and the initrd A 3009 into the DRAM 38. The Initrd A 3009 is read into the DRAM 38 and then used as a temporary startup disk at the time of kernel initialization. The Kernel A 3008 starts with the Initrd A 3009 as a temporary startup disk. After that, the CPU 33
All contents of Storage A 3010 are read into DRAM 38.

このため、本実施例ではデマンドローディングを実行しないため、Program StorageA3010の容量よりも容量が大きいDRAM38が必要になる。Program
StorageA3010は、アプリケーションおよびOSのソフトウェアを記憶する。Program StorageA3010を読み込んだ後にKernelA3008が内部に配置されたソフトウェアを起動することで複写機の機能を実行する。起動処理が完了するとProgram
StorageA3010はアクセスされないため、CPU33は実行時の任意のタイミングでProgram StorageA3010を書き換え、バージョンアップを実施することができる。
For this reason, in this embodiment, since demand loading is not executed, a DRAM 38 having a capacity larger than that of Program Storage A 3010 is required. Program
The Storage A 3010 stores applications and OS software. After reading Program Storage A 3010, Kernel A 3008 activates the software arranged therein to execute the function of the copier. When the startup process is complete, the program
Since the Storage A 3010 is not accessed, the CPU 33 can rewrite the Program Storage A 3010 at any timing during execution and perform version upgrade.

次に図7を用いて、バージョンアップ実施のフローを説明する。本フローチャートはFlashメモリ99に格納されたプログラムに従ってメインコントローラ32のCPU33が実行することによって実現される。   Next, a flow for performing version upgrade will be described with reference to FIG. This flowchart is realized by the CPU 33 of the main controller 32 executing in accordance with a program stored in the flash memory 99.

ステップ4001でProgram StorageA3010内に配置され、起動しているメインコントローラのソフトウェアがユーザの指示を受けてバージョンアップを開始する。ステップ4002で、CPU33は、バージョンアップを指示されたソフトウェアの一覧を作成する。ステップ4003で、CPU33は、ステップ4002で作成されたソフトウェア一覧にアプリケーションソフトウェア以外のソフトウェアが含まれているか、各ソフトウェアが有するメタデータを参照し確認する。   In step 4001, the software of the main controller which is arranged in the program storage A 3010 and is activated starts the version upgrade in response to a user instruction. In step 4002, the CPU 33 creates a list of software instructed to upgrade. In step 4003, the CPU 33 confirms whether software other than application software is included in the software list created in step 4002 by referring to metadata included in each software.

ステップ4003で、アプリケーションソフトウェア以外のソフトウェアが検出されなかった場合は、CPU33はステップ4031の処理を実施する。ステップ4031で、CPU33は、更新対象のアプリケーションに対応するプログラムファイルをProgram
StorageA30010内およびDRAM38内で差し換える。その後、ステップ4013の処理を実施する。
If no software other than the application software is detected in step 4003, the CPU 33 performs the process of step 4031. In step 4031, the CPU 33 sets a program file corresponding to the application to be updated to Program.
Replacement is performed in the Storage A 30010 and the DRAM 38. Thereafter, the process of step 4013 is performed.

ステップ4003でアプリケーション以外のソフトウェアが検出された場合には、CPU33はステップ4004の処理を実施する。ステップ4004で、CPU33は、Program
StorageA3010上で、更新対象のOSのソフトウェアに対応するプログラムファイルを差し換えることで更新を実施する。さらに、カーネル、Initrdが含まれていた場合は、KernelA3008、InitrdA3009を更新し、CPU33は、ステップ4005の処理を実施する。
If software other than the application is detected in step 4003, the CPU 33 performs the process of step 4004. In step 4004, the CPU 33 determines that the program
The update is performed by replacing the program file corresponding to the OS software to be updated on the Storage A 3010. Further, if the kernel and Initrd are included, the kernel A 3008 and the initrd A 3009 are updated, and the CPU 33 executes the processing of step 4005.

ステップ4005で、CPU33は、システム内で起動し、実行しているプログラムに関する全プロセスに終了処理を依頼する。各プロセスは、CPU33から指示を受け、データの書き出しなど終了していない処理を実施し終了した後に、プロセスの実行を終了する。ステップ4006で全プロセスの終了が確認できるとステップ4007の処理を実施する。ステップ4007で、CPU33は、ステップ4002で作成したソフトウェア一覧にカーネルとInitrdが含まれているか確認する。   In step 4005, the CPU 33 requests the end process from all processes related to the program that is activated and executed in the system. Each process receives an instruction from the CPU 33, performs a process that has not been completed, such as data writing, and ends the process, and then ends the execution of the process. If it is confirmed in step 4006 that all processes have been completed, the processing in step 4007 is performed. In step 4007, the CPU 33 checks whether the software list created in step 4002 includes a kernel and Initrd.

ステップ4007で、CPU33は、カーネルとInitrd含まれていることが確認された場合は、ステップ4008の処理を実施する。ステップ4008ではCPU33をリセットすることで、CPUを電源投入時の初期状態へ遷移させ、ステップ4009の処理を実施する。ステップ4009で、CPU33は、BIOS
ROM98をDRAM38へ読み込み、BIOSの初期化を開始する。BIOSの初期化ではIOデバイスを中心とした部分のハードウェアの初期化を実施した後、ステップ4010の処理を実施する。ステップ4010ではKernelA3008とInitrdA3009をDRAM38へ読み込み、カーネルの初期化を開始する。カーネルの初期化で、CPU33はカーネル内にデバイスドライバとして記述された全ハードウェアの初期化を実行した後、ステップ4011の処理を実施する。
If it is confirmed in step 4007 that the kernel and Initrd are included, the CPU 33 performs the process of step 4008. In step 4008, the CPU 33 is reset to shift the CPU to the initial state when the power is turned on, and the processing in step 4009 is performed. In step 4009, the CPU 33 checks the BIOS.
The ROM 98 is read into the DRAM 38, and initialization of the BIOS is started. In the initialization of the BIOS, the hardware of the part centering on the IO device is initialized, and then the process of step 4010 is executed. In step 4010, Kernel A 3008 and Initrd A 3009 are read into the DRAM 38, and initialization of the kernel is started. In the initialization of the kernel, the CPU 33 executes the processing of step 4011 after executing initialization of all hardware described as device drivers in the kernel.

ステップ4007で、CPU33はカーネルが含まれていないと判断した場合、ステップ4021の処理を実施する。ステップ4021で、CPU33は、Program
StorageA3010の再読み込みに備えて、DRAM38の内容を削除する。ステップ4011で、CPU33は、Program StorageA3010の内容をDRAM38に全て読み込み、ステップ4012の処理を実施する。ステップ4012で、CPU33は予め設計された起動シーケンスに従い、必要なプロセス群を起動する。そしてステップ4013で、CPU33はバージョンアップを終了する。
If the CPU 33 determines in step 4007 that the kernel is not included, the processing of step 4021 is performed. In step 4021, the CPU 33 determines that the program
In preparation for re-reading of Storage A 3010, the contents of DRAM 38 are deleted. In step 4011, the CPU 33 reads all the contents of Program Storage A 3010 into the DRAM 38 and executes the process of step 4012. In step 4012, the CPU 33 starts a necessary process group according to a startup sequence designed in advance. In step 4013, the CPU 33 ends the version upgrade.

これらの処理により、DRAM38の容量を増やすことでFlash99の容量を削減することができる。   With these processes, the capacity of the Flash 99 can be reduced by increasing the capacity of the DRAM 38.

上記制御を行う事で、アプリケーション部のみの場合はファイルの差し換えのみを実施し、カーネルを含まないOS部の場合はハードウェアの初期化を伴わないリブートを実施し、カーネルを含む場合はハードウェアの初期化を伴うリブートを実施する。これにより、ユーザは不要なダウンタイムを待たされることが無くなる。   By performing the above control, only the replacement of the file is performed in the case of only the application unit, the reboot without hardware initialization is performed in the case of the OS unit not including the kernel, and the hardware is included in the case of including the kernel. Perform a reboot with initialization. This eliminates the need for the user to wait for unnecessary downtime.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (computer program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media. Then, the computer (or CPU, MPU, etc.) of the system or apparatus reads out and executes the program. In this case, the program and the storage medium storing the program constitute the present invention.

99 Flash
1007 Boot Loader
1008 KernelA
1009 InitrdA
1010 Program StorageA
1011 KernelB
1012 InitrdB
1013 Program StorageB
99 Flash
1007 Boot Loader
1008 Kernel A
1009 InitrdA
1010 Program Storage A
1011 KernelB
1012 InitrdB
1013 Program Storage B

Claims (7)

ソフトウェアの更新処理を行う情報処理装置であって、
記憶部に記憶された前記ソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断する判断手段と、
前記更新対象のソフトウェアを更新する更新手段と、
前記更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合であって、前記更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、前記更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行うリブート手段とを備える
ことを特徴とする情報処理装置。
An information processing apparatus for performing software update processing,
Determining means for determining whether only the application is included in the update target of the software stored in the storage unit;
Updating means for updating the software to be updated;
When only the application is included in the software to be updated, rebooting is not performed, and software other than the application is included in the software to be updated, and the kernel is included in the software to be updated A reboot unit that performs a reboot with initialization of hardware when the software to be updated does not include the kernel, and a reboot unit that performs a reboot without initialization of the hardware. Information processing apparatus.
前記更新手段は、前記更新対象のソフトウェアに前記アプリケーションだけが含まれている場合は、前記記憶部に記憶されたソフトウェアを更新し、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合に、前記記憶部に記憶されたソフトウェアを前記記憶部とは異なる他の記憶部に複製した後に、複製された前記ソフトウェアを更新し、
前記リブート手段は、前記ソフトウェアの更新対象に前記カーネルが含まれている場合は、前記記憶部に記憶された前記更新対象のソフトウェアを保持して前記ハードウェアの初期化を行い、前記初期化の終了後に前記他の記憶部に複製され更新されたソフトウェアを実装し、前記ソフトウェアの更新対象に前記カーネルが含まれていない場合は、カーネルによる起動対象を前記記憶部に記憶された前記更新対象のソフトウェアから前記他の記憶部に複製され更新されたソフトウェアに切り替える
ことを特徴とする請求項1に記載の情報処理装置。
The update unit updates the software stored in the storage unit when the update target software includes only the application, and the update target software includes software other than the application. In this case, after copying the software stored in the storage unit to another storage unit different from the storage unit, the copied software is updated,
When the kernel is included in the software update target, the reboot unit holds the update target software stored in the storage unit, initializes the hardware, and performs the initialization. When the updated and copied software is installed in the other storage unit after the completion, and the kernel is not included in the update target of the software, the activation target by the kernel is stored in the storage unit The information processing apparatus according to claim 1, wherein the software is switched from software to software copied and updated in the other storage unit.
前記記憶部に記憶されたソフトウェアは、デマンドローディングされて実行される
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the software stored in the storage unit is executed by being demand loaded.
前記記憶部に記憶された全てのソフトウェアが実行時に読み込まれる作業部をさらに備え、
前記更新手段は、前記ソフトウェアの更新対象にアプリケーションだけが含まれている場合は、前記作業部に読み込まれたソフトウェアおよび前記記憶部に記憶された前記ソフトウェアを更新し、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合は、前記記憶部に記憶されたソフトウェアを更新し、
前記リブート手段は、前記ソフトウェアの更新対象に前記カーネルが含まれている場合は、前記作業部に読み込まれた前記ソフトウェアを保持して前記ハードウェアの初期化を行い、前記初期化の終了後に前記記憶部に記憶されたソフトウェアを実装し、前記ソフトウェアの更新対象に前記カーネルが含まれない場合は、前記作業部に読み込まれたソフトウェアを削除して前記記憶部に記憶されたソフトウェアを実装する
ことを特徴とする請求項1に記載の情報処理装置。
Further comprising a working unit in which all software stored in the storage unit is read at the time of execution;
The update unit updates the software read in the working unit and the software stored in the storage unit when only the application is included in the update target of the software, and the software to be updated includes the software If software other than the application is included, update the software stored in the storage unit,
The reboot means, when the kernel is included in the software update target, retains the software read into the working unit and initializes the hardware, and after the initialization is completed, When the software stored in the storage unit is installed and the kernel is not included in the update target of the software, the software read in the working unit is deleted and the software stored in the storage unit is installed The information processing apparatus according to claim 1.
前記ハードウェアの初期化を伴うリブートは、前記情報処理装置の電源断を必要とするリブートであり、前記ハードウェアの初期化を伴わないリブートは、前記情報処理装置の電源断を必要としないリブートであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。   The reboot with the initialization of the hardware is a reboot that requires a power-off of the information processing apparatus, and the reboot without the initialization of the hardware does not require a power-off of the information processing apparatus The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus. ソフトウェアの更新処理を行う情報処理装置の制御方法であって、
記憶部に記憶された前記ソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断する判断工程と、
前記更新対象のソフトウェアを更新する更新工程と、
前記更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合であって、前記更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、前記更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行うリブート工程とを含む
ことを特徴とする制御方法。
A method of controlling an information processing apparatus that performs software update processing,
A determination step of determining whether only the application is included in the update target of the software stored in the storage unit;
An update process for updating the software to be updated;
When only the application is included in the software to be updated, rebooting is not performed, and software other than the application is included in the software to be updated, and the kernel is included in the software to be updated A reboot process that performs a reboot with hardware initialization, and performs a reboot without the hardware initialization when the software to be updated does not include the kernel. Control method to do.
請求項6に記載の制御方法をコンピュータにより実行させることを特徴とするコンピュータプログラム。   A computer program causing a control method according to claim 6 to be executed by a computer.
JP2012138172A 2012-06-19 2012-06-19 Information processing apparatus, software update method, and computer program Active JP5932511B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012138172A JP5932511B2 (en) 2012-06-19 2012-06-19 Information processing apparatus, software update method, and computer program
US13/912,938 US20130339939A1 (en) 2012-06-19 2013-06-07 Information processing apparatus, control method thereof, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012138172A JP5932511B2 (en) 2012-06-19 2012-06-19 Information processing apparatus, software update method, and computer program

Publications (3)

Publication Number Publication Date
JP2014002613A true JP2014002613A (en) 2014-01-09
JP2014002613A5 JP2014002613A5 (en) 2015-08-06
JP5932511B2 JP5932511B2 (en) 2016-06-08

Family

ID=49757193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012138172A Active JP5932511B2 (en) 2012-06-19 2012-06-19 Information processing apparatus, software update method, and computer program

Country Status (2)

Country Link
US (1) US20130339939A1 (en)
JP (1) JP5932511B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6706278B2 (en) * 2018-03-27 2020-06-03 キヤノン株式会社 Information processing apparatus and information processing method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244874A (en) * 2001-02-15 2002-08-30 Toshiba Corp Information processor and firmware updating method
US20030005037A1 (en) * 2001-06-27 2003-01-02 Gunnar Aija Crash recovery system
JP2006239923A (en) * 2005-03-01 2006-09-14 Canon Inc Printer, information processor, and communication function extension unit
JP2009006590A (en) * 2007-06-28 2009-01-15 Fuji Xerox Co Ltd Image forming apparatus and control substrate
JP2010176517A (en) * 2009-01-30 2010-08-12 Brother Ind Ltd Information processing apparatus and control program
JP2011138231A (en) * 2009-12-25 2011-07-14 Toshiba Tec Corp Electronic equipment and program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537596A (en) * 1993-02-19 1996-07-16 Apple Computer, Inc. Method and apparatus for overriding resource maps in a computer system
US6044461A (en) * 1997-09-16 2000-03-28 International Business Machines Corporation Computer system and method of selectively rebooting the same in response to a system program code update
US6247081B1 (en) * 1998-02-19 2001-06-12 Nortel Networks Limited Method and apparatus for installing drivers without requiring system re-boot
US6237091B1 (en) * 1998-10-29 2001-05-22 Hewlett-Packard Company Method of updating firmware without affecting initialization information
US20040093592A1 (en) * 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US7149889B2 (en) * 2002-12-12 2006-12-12 Scientific-Atlanta, Inc. Proactive reboot
US8286238B2 (en) * 2006-09-29 2012-10-09 Intel Corporation Method and apparatus for run-time in-memory patching of code from a service processor
EP2315098A3 (en) * 2009-10-20 2014-07-02 BlackBerry Limited Enhanced fast reset in mobile wireless communication devices and associated methods
US8719559B2 (en) * 2010-10-13 2014-05-06 International Business Machines Corporation Memory tagging and preservation during a hot upgrade

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244874A (en) * 2001-02-15 2002-08-30 Toshiba Corp Information processor and firmware updating method
US20030005037A1 (en) * 2001-06-27 2003-01-02 Gunnar Aija Crash recovery system
JP2006239923A (en) * 2005-03-01 2006-09-14 Canon Inc Printer, information processor, and communication function extension unit
JP2009006590A (en) * 2007-06-28 2009-01-15 Fuji Xerox Co Ltd Image forming apparatus and control substrate
JP2010176517A (en) * 2009-01-30 2010-08-12 Brother Ind Ltd Information processing apparatus and control program
JP2011138231A (en) * 2009-12-25 2011-07-14 Toshiba Tec Corp Electronic equipment and program

Also Published As

Publication number Publication date
US20130339939A1 (en) 2013-12-19
JP5932511B2 (en) 2016-06-08

Similar Documents

Publication Publication Date Title
JP5383516B2 (en) Image forming apparatus, firmware updating method thereof, and program
JP4732248B2 (en) Image processing apparatus and control method thereof
JP4764056B2 (en) Image processing apparatus, control program update method, and program
US20090219569A1 (en) Information processing apparatus, information processing system, and information processing method
JP5943681B2 (en) Information processing apparatus, firmware update method for information processing apparatus, and program
JP2006201932A (en) Computer starting device, computer starting method, and computer starting program
JP2007038580A (en) Method for accelerating saving/restoring of computer
US9336463B2 (en) Image forming apparatus capable of changing partitions of storage unit, and control method and storage medium therefor
JP5932511B2 (en) Information processing apparatus, software update method, and computer program
JP2006252094A (en) Image processor
US10447886B2 (en) Image processing apparatus for updating a non-volatile memory and method controlling image processing apparatus
JP2013250911A (en) Image formation device, control method of image formation device and computer program
JP2011039847A (en) Information processing apparatus and control method thereof
JP2001022690A (en) Method and system for data communication between devices
JP2012190199A (en) Image forming apparatus
US20230300268A1 (en) Information processing apparatus, image forming apparatus, and method of installing an application program therefor
JP2002366362A (en) Electronic equipment and its control method
JP6150048B2 (en) Image forming system and diagnostic method for image forming system
JP7424457B2 (en) Image forming device and program
JP5812830B2 (en) Information processing apparatus, control method thereof, and control program
JP2009265980A (en) Information processing apparatus
JP2014178741A (en) Image forming apparatus and control method of the same, and program
JP6953828B2 (en) Information processing equipment and programs
JP2004058499A (en) Control method for image formation device
JP6071684B2 (en) Image forming apparatus, control method therefor, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150618

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160428

R151 Written notification of patent or utility model registration

Ref document number: 5932511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151