JP2005038180A - プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体 - Google Patents

プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP2005038180A
JP2005038180A JP2003274466A JP2003274466A JP2005038180A JP 2005038180 A JP2005038180 A JP 2005038180A JP 2003274466 A JP2003274466 A JP 2003274466A JP 2003274466 A JP2003274466 A JP 2003274466A JP 2005038180 A JP2005038180 A JP 2005038180A
Authority
JP
Japan
Prior art keywords
program
application program
specific data
format
data
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.)
Pending
Application number
JP2003274466A
Other languages
English (en)
Inventor
Yoichi Iwasaki
洋一 岩崎
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2003274466A priority Critical patent/JP2005038180A/ja
Publication of JP2005038180A publication Critical patent/JP2005038180A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 アプリケーションプログラムの改変に伴いアクセスする特定データの形式が変わる場合でも,プログラムの複雑化やプログラム起動の遅延を招くことなく旧形式の特定データを用いて改変後のアプリケーションプログラムへ移行することを可能とする。
【解決手段】 データ記憶手段に特定の形式で記憶された特定データにアクセスして所定の処理を実行するアプリケーションプログラムをROM等の転送元記憶手段からRAM等の転送先記憶手段に転送するプログラム転送工程(S4)と,転送工程と並行して特定データの形式を転送中のアプリケーションプログラムに対応する形式に変換する特定データ並行変換工程(S6)と,転送先記憶手段に転送されたアプリケーションプログラムに処理を引き継ぐ処理引継ぎ工程(S9)とをCPUに実行させるためのプログラム起動用プログラム。
【選択図】図2

Description

本発明は,データ記憶手段に特定の形式で記憶された特定データにアクセスして所定の処理を実行するアプリケーションプログラムをハードディスクやROM等の転送元記憶手段からRAM等の転送先記憶手段に転送して処理を引き継ぐプログラム起動方法及びそのプログラム起動用プログラム,並びにそのプログラム起動用プログラムが記憶されたコンピュータ読み取り可能な記憶媒体に関するものである。
所定の処理を実行するアプリケーションプログラムが,そのプログラムに対応した特定のデータ形式を有するデータ(特定データ)にアクセスしながら処理を実行することは一般的である。例えば,圧縮データを解凍するプログラムは,特定のデータ形式を有するその圧縮データにアクセスしながら解凍データ(復元データ)を生成する等である。
また,アプリケーションプログラムが,ROMやハードディスク等の保存用の記憶手段に予め記憶され,実行時には,まず,RAM等の高速な主記憶手段に転送(展開)された上で処理を引き継ぐ起動処理が行われることは一般的である。
ここで,アプリケーションプログラムのバージョンアップ等に伴い,これに対応する特定データのデータ形式が変更されることは通常行われることである。この場合,アプリケーションプログラムを新バージョンのものに入れ替えても,旧形式の特定データをそのまま取り扱うことはできず,何らかの対処をしなければならない。
従来,例えば特許文献1では,プログラムのバージョンアップ等により,特定データの形式が変更された場合でも,プログラム側が旧バージョンと新バージョンの両形式の特定データに対応できるにするものが示されている。
この他にも,新たなアプリケーションプログラムに旧形式の特定データを新形式に変換するプログラムを付加し,特定データの形式を新形式に変換した後,新たなアプリケーションプログラムの処理を実行することも考えられる。
特開平01−310456号公報
しかしながら,新たなアプリケーションプログラムを,新旧両形式の特定データに対応できるものとするためには,処理手順が複雑となり,プログラムコードが複雑化するため,バグが発生しやすいという問題点があった。
また,アプリケーションプログラムに特定データの形式の変換処理を付加した場合,主記憶手段に転送されたアプリケーションプログラムが,データの変換処理の完了を待って本来の処理の実行を開始することになるので,アプリケーションプログラムの主記憶手段への転送を開始してから本来の処理が開始されるまでの時間,即ち,起動時間が長くなるという問題点があった。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,アプリケーションプログラムの改変に伴いアクセスする特定データの形式が変わる場合でも,プログラムの複雑化やプログラム起動の遅延を招くことなく旧形式の特定データを用いて改変後のアプリケーションプログラムへ移行することを可能とするプログラム起動方法,プログラム起動用プログラム及びそれが記憶されたコンピュータ読み取り可能な記憶媒体を提供することにある。
上記目的を達成するために本発明は,データ記憶手段に特定の形式で記憶された特定データにアクセスして所定の処理を実行するアプリケーションプログラムを転送元記憶手段から転送先記憶手段に転送するプログラム転送工程と,前記転送先記憶手段に転送された前記アプリケーションプログラムに処理を引き継ぐ処理引継ぎ工程と,を有してなるプログラム起動方法において,前記アプリケーションプログラムの前記転送と並行して,前記特定データの形式を前記転送中の前記アプリケーションプログラムに対応する形式に変換する特定データ並行変換工程を有してなることを特徴とするプログラム起動方法である。
これにより,前記アプリケーションプログラムは,複数のデータ形式の特定データに対応する必要がないので,プログラムが複雑化しない。
また,前記アプリケーションプログラムの主記憶手段等への転送処理は,通常,メモリコントローラによるDMA転送,或いはCODEC(データ圧縮・伸長手段)によるデータ伸長を行いながらのデータ転送等が行われるため,CPUを占有することはなく,転送中(起動中)にCPUによって特定データの変換を並行処理することにより,前記アプリケーションプログラムの起動がデータ変換に要する時間だけ遅延することを防止できる。
また,前記データ記憶手段に記憶された前記特定データの形式が,起動する前記アプリケーションプログラムに対応する形式であるか否かをチェックし,対応しない形式である場合にのみ前記特定データ並行変換工程を実行する形式チェック工程を有するものであれば,データ変換処理の重複を防止できる。
また,前記アプリケーションプログラムの起動時間より前記特定データの形式の変換時間の方が常に短いという保証がない場合には,前記アプリケーションプログラムの前記転送の完了と,前記特定データ並行変換工程の完了との両方を確認した後に前記アプリケーションプログラムに処理を引き継ぐ完了確認工程を有することが考えられる。
また,本発明は,前記プログラム起動方法における各工程をコンピュータに実行させるためのプログラム起動用プログラムとして捉えたものや,該プログラム起動用プログラムが記憶されたコンピュータ読み取り可能な記憶媒体として捉えたものであってもよい。
本発明によれば,アプリケーションプログラムは,アクセスが必要な特定データについて複数のデータ形式に対応する必要がないので,特定データのデータ形式が改編されるごとにプログラムが複雑化することを防止できる。
さらに,アプリケーションプログラムの主記憶手段等への転送中(起動中)に特定データの変換を並行処理することにより,アプリケーションプログラムの起動が遅延することを防止できる。
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施の形態に係るブートプログラムXを実行する演算装置の概略構成を表すブロック図,図2はブートプログラムXの処理手順を表すフローチャート,図3はブートプログラムXにおける特定データの変換処理の手順を表すフローチャート,図4は特定データの具体的構成の一例を表すデータ構成図である。
まず,図1のブロック図を用いて,本発明の実施の形態に係るブートプログラムX(プログラム起動用プログラムの一例)を実行する演算装置1の構成について説明する。
前記演算装置1は,各種プログラムを実行するCPU1,各種メモリの制御を行うメモリコントローラ2,ブートプログラムXを記憶するブート(BOOT)コード用ROM3,ブートプログラムXにより起動されるアプリケーションプログラム(以下,アプリプログラムと略す)を記憶するアプリコード用ROM4,前記アプリプログラムの実行の際に該アプリプログラムが前記アプリコード用ROM4から転送されて一時記憶する主記憶手段であるRAM5と,各種入出力装置に対するデータの入出力を制御するインターフェースであるI/O部6と,データ入力手段である入力キー(Key)7と,各種データが記憶されるHDD(ハードディスクドライブ)8と,データ出力(表示)手段であるLCD(液晶表示手段)9とを具備し,これらがアドレスバス及びデータバスを備えたシステムバス11を介して接続されている。
また,前記入力キー7,前記HDD8及び前記LCD9は,前記I/O部6によって制御され,前記CPU1との間で,前記システムバス11及び前記I/O部6を介してデータの授受がなされる。
ここで,前記HDD8には,前記アプリプログラムが所定の処理を実行する際にアクセスするデータであって,特定のデータ形式を有する(特定の形式で記憶された)特定データが記憶されている。
また,前記メモリコントローラ2は,前記アプリコード用ROM4内のデータ(前記アプリプログラム)を,システムバス11を介したDMA(Direct Memory Access)データ転送によって前記CPU1に負荷をかけずに前記RAM5へ転送するDMA部10を備えている。
次に,図2のフローチャートを用いて,本発明の実施の形態に係るブートプログラムXの処理手順について説明する。前記演算装置1の電源が投入されると,前記CPU1は,前記システムバス11及び前記メモリコントローラ2を介して,前記ブートコード用ROM3内から前記ブートプログラムXを読み出しながら(前記RAM5に展開(転送)することなしに)実行することにより,図2に示す処理を実行するものとする。
以下,S1,S2,…は,処理手順(ステップ)の番号を表す。
まず,CPU1により,前記アプリコード用ROM4内の前記アプリプログラムが参照され,そのバージョン情報が取得(確認)される(S1)。このバージョン情報は,前記アプリプログラムのヘッダ部分等に表されるものである。
次に,CPU1により,前記I/O部6を介して前記HDD8内の前記特定データ(前記アプリプログラムがアクセスする特定の形式のデータ)が参照され,そのバージョン情報が取得(確認)される(S2)。
次に,CPU1は,前記メモリコントローラ2に対し,前記アプリコード用ROM4内の前記アプリプログラムを前記RAM5にDMA転送するよう要求を出すアプリプログラムのロード開始処理を行う(S3)。
ここでは,CPU1が前記アプリコード用ROM4から前記アプリプログラムのコードサイズを読み込み,これに応じた転送アドレス及び所定のカウンタを指定したデータ転送要求を前記メモリコントローラ2に対して出力する。
これにより,前記DMA部10により前記アプリプログラムのDMA転送(前記アプリコード用ROM4から前記RAM5へのロード)が実行(開始)される(S4)。
一方,CPU1は,前記アプリプログラムのロード処理(S4)と並行して,次のS5,S6の処理を実行する。
まず,S1,S2で取得したバージョン情報を比較(S5)し,バージョンが一致している場合はS6をスキップしてS7の処理へ,バージョンが異なる場合は,前記HDD8内の前記特定データを,現在の形式から前記アプリプログラムのバージョンに対応した形式へ変換するデータ変換処理を実行(S6)し,これが完了した後にS7へ移行する。
次に,S7では,CPU1は,前記アプリプログラムのロード処理(DMA転送)が完了(終了)したか否かを監視(チェック)し,その完了を確認すると,前記RAM5内の所定のワークエリア(領域)の初期化(S8)を行った後,その処理の実行を,当該ブートプログラムXから前記RAM5に転送(展開)された前記アプリプログラムに引き継いで(S9),当該ブートプログラムXに従った処理が終了する。
このように,アプリケーションプログラムへ処理が引き継がれる前にアクセスが必要な特定データの変換を完了させるので,アプリケーションプログラムは,複数の形式の(旧形式と新形式の)特定データに対応する必要がなく,特定データのデータ形式が改編されるごとにプログラムが複雑化することを防止できる。
さらに,アプリケーションプログラムの主記憶手段(RAM5)等への転送中(起動中)(S4)に特定データの変換を並行処理(S6)することにより,アプリケーションプログラムの起動が遅延することを防止できる。
次に,図3のフローチャート及び図4のデータ構成図を用いて,前記データ変換処理(S6)の具体例について説明する。
ここで,図4(a)は,旧バージョンの形式の特定データd1のデータ構造を表し,図4(b)は,新バージョン,即ち前記アプリコード用ROM4に格納された現在の前記アプリプログラムに対応したバージョンの形式の特定データd2の構造を表すものとする。
図4(a)に示すように,旧バージョンの特定データd1は,そのヘッダ部に当該特定データd1のバージョン情報(バージョンを表す記号)d11及び当該特定データd1内に含まれる複数のデータブロックd13の各ブロックサイズや先頭アドレス等が設定されているデータ管理テーブルd12が設定され,それに後続した複数のデータブロックd13を有している。
図2のS2に示したバージョン情報の取得(確認)は,前記バージョン情報d11を参照することにより行われる。
一方,図4(b)に示すように,新バージョンの特定データd2は,旧バージョンの特定データd1における各データブロックd13ごとに,各データブロックd13のサムチェックデータであるSUM値d14が追加されたものである。
図3に示すように,前記データ変換処理(S6)では,まず,CPU1は,前記HDD8内の旧バージョン(現在)の特定データd1から,前記データ管理テーブルd12を読み出し(S11),さらに所定のワーク変数Mを「1」にセット(S12)した後,前記データ管理テーブルd12から読み取れる前記データブロックd13の数だけ,以下のS13〜S18の処理を繰り返す。
まず,M番目(最初は1番目)のデータブロックd13を読み出し(S13),該データブロックd13のSUM値d14を計算する(S14)。
次に,M番目のデータブロックd13とそのSUM値d14とを前記HDD8に書き込む(S15)。
次に,前記HDD8への書き込みアドレスやサイズに応じて,新たなデータ管理テーブルd12を,CPU1のワークメモリ内で生成(1番目のとき)或いは更新(2番目以降)する(S16)。
次に,S11で読み出した旧バージョンの前記データ管理テーブルd12と現在のワーク変数Mの値とに基づいて次のデータブロックd13(未変換のデータブロックd13)が存在するか否かをチェックし(S17),存在する場合は,ワーク変数Mをカウントアップ(S18)した後に,S13へ戻って前述した処理を繰り返す。
一方,全てのデータブロックd13について,変換(SUM値d14の追加)が済んだ場合(S17のNo側)には,CPU1は,新たなバージョン情報d11とCPU1のワークメモリ内で生成した新たなデータ管理テーブルd12とを前記HDD8に書き込み(S19),処理を終了する。
ここで,旧バージョンの前記特定データd1は,前記HDD8から削除してもよく,また,再度旧バージョンの前記アプリプログラムに戻されても処理が可能なように,前記HDD8内にバックアップとして残しておいてもよい。
なお,ブートプログラムXを更新するには,マスクROM,EPROM(Erasable Programmable Read Only Memory),EEPROM(Electrically Erasable Programmable Read Only Memory),フラッシュROM等の半導体メモリ(記憶媒体)である前記ブートコード用ROM3を交換すればよい。あるいは,前記ブートコード用ROM3をフラッシュROM等の書き替え可能なメモリで構成しておけば,フレキシブルディスクやハードディスク等の磁気ディスク,CD/MO/DVD等の光ディスク,ICカード(メモリカード)/光カード等の記憶媒体に記憶したブートプログラムXを,前記I/O部6を介して記憶媒体に対応する外部装置(図示せず)より取り込んで,前記ブートコード用ROM3に書き込むことも可能である。
本発明は,CPUと該CPUによって実行されるプログラムを静的に記憶するメモリとそのプログラムを実行時に一次記憶するメモリとを有する演算装置等への利用が可能である。
本発明の実施の形態に係るブートプログラムXを実行する演算装置の概略構成を表すブロック図。 ブートプログラムXの処理手順を表すフローチャート。 ブートプログラムXにおける特定データの変換処理の手順を表すフローチャート。 特定データの具体的構成の一例を表すデータ構成図。
符号の説明
1…CPU
2…メモリコントローラ
3…ブートコード用ROM(プログラム起動用プログラムを記憶する記憶手段)
4…アプリコード用ROM(転送元記憶手段)
5…RAM(転送先記憶手段)
6…I/O部
7…入力キー
8…ハードディスクドライブ
9…LCD(液晶表示手段)
10…DMA部(データ転送手段)
S1,S2,,,…処理手順(ステップ)

Claims (5)

  1. データ記憶手段に特定の形式で記憶された特定データにアクセスして所定の処理を実行するアプリケーションプログラムを転送元記憶手段から転送先記憶手段に転送するプログラム転送工程と,
    前記転送先記憶手段に転送された前記アプリケーションプログラムに処理を引き継ぐ処理引継ぎ工程と,を有してなるプログラム起動方法において,
    前記アプリケーションプログラムの前記転送と並行して,前記特定データの形式を前記転送中の前記アプリケーションプログラムに対応する形式に変換する特定データ並行変換工程を有してなることを特徴とするプログラム起動方法。
  2. 前記データ記憶手段に記憶された前記特定データの形式が,起動する前記アプリケーションプログラムに対応する形式であるか否かをチェックし,対応しない形式である場合にのみ前記特定データ並行変換工程を実行する形式チェック工程を有してなる請求項1に記載のプログラム起動方法。
  3. 前記アプリケーションプログラムの前記転送の完了と,前記特定データ並行変換工程の完了との両方を確認した後に前記アプリケーションプログラムに処理を引き継ぐ完了確認工程を有してなる請求項1又は2に記載のプログラム起動方法。
  4. 請求項1〜3に記載のプログラム起動方法における各工程をコンピュータに実行させるためのプログラム起動用プログラム。
  5. 請求項4に記載のプログラム起動用プログラムが記憶されてなることを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2003274466A 2003-07-15 2003-07-15 プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体 Pending JP2005038180A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003274466A JP2005038180A (ja) 2003-07-15 2003-07-15 プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003274466A JP2005038180A (ja) 2003-07-15 2003-07-15 プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体

Publications (1)

Publication Number Publication Date
JP2005038180A true JP2005038180A (ja) 2005-02-10

Family

ID=34211410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003274466A Pending JP2005038180A (ja) 2003-07-15 2003-07-15 プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体

Country Status (1)

Country Link
JP (1) JP2005038180A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033553A (ja) * 2006-07-27 2008-02-14 Olympus Corp バージョン管理システムおよびバージョン管理方法
JP2009140337A (ja) * 2007-12-07 2009-06-25 Canon Inc 情報処理装置および情報処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033553A (ja) * 2006-07-27 2008-02-14 Olympus Corp バージョン管理システムおよびバージョン管理方法
JP2009140337A (ja) * 2007-12-07 2009-06-25 Canon Inc 情報処理装置および情報処理方法

Similar Documents

Publication Publication Date Title
EP2362312B1 (en) Firmware update system, and information apparatus, as well as program
JP6070360B2 (ja) 情報処理装置およびその処理方法
JP2013520744A (ja) 最小ブートイメージの生成方法及びその装置
EP2329368B1 (en) Updating content without using a mini operating system
JP2005071303A (ja) プログラム起動装置
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
JP2005038180A (ja) プログラム起動方法,プログラム起動用プログラム,コンピュータ読み取り可能な記憶媒体
JP2006202233A (ja) コントローラ、そのプログラム
JP2005258642A (ja) 組込型情報処理装置
JP5545432B2 (ja) Biosアップデート方法、biosアップデート装置及びbiosアップデートプログラム
JP2010009195A (ja) バッチ処理方法、バッチ処理プログラム、リクエスト実行装置、および、データベースシステム
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP2004246787A (ja) 情報処理装置およびプログラム制御方法
JP2014085909A (ja) 情報処理装置、起動方法およびプログラム
JP5023169B2 (ja) 要実行パッチリスト作成装置および方法
JP3022011B2 (ja) データバックアップシステム
JP4066406B2 (ja) ファイルシステム管理方式、管理方法及び管理プログラム並びに記憶媒体
JPH07129079A (ja) プログラミングローダのインストール方法
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム
JPH11353120A (ja) 磁気ディスク装置およびライトデータのバックアップ方法
JPH0973372A (ja) 記憶制御方法及び記憶制御装置
JP2006330124A (ja) データ処理装置
JPH06161842A (ja) 外部記憶装置およびこれを用いたコンピュータ
JP6080491B2 (ja) 情報処理装置、起動方法およびプログラム