(57)【要約】【課題】  ジョブの実行時間を短縮することができる電子機器およびデータ管理プログラムを提供する。【解決手段】  ＭＦＰは、アプリケーション側プロセスが使用するデータを入れるためのデータ構造を生成するデータ構造生成手段と、アプリケーション側プロセスからのデータ構造に対するアクセスを管理するアクセス管理手段とを備え、データ構造生成手段は、アプリケーション側プロセスによるジョブの実行前にデータ構造を生成する（Ｓ５２）ことを特徴とする。【選択図】  図３
2016085709.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を生成するデータ構造生成手段と、
前記アプリケーションソフトウェアのプロセスからの前記データ構造に対するアクセスを管理するアクセス管理手段とを備え、
前記データ構造生成手段は、前記アプリケーションソフトウェアのプロセスによるジョブの実行前に前記データ構造を生成することを特徴とする電子機器。
【請求項２】
前記アプリケーションソフトウェアのプロセスは、前記アプリケーションソフトウェアの起動後に実行可能であり、
前記データ構造生成手段は、前記アプリケーションソフトウェアが起動されるソフトウェア起動処理の実行時に前記データ構造を生成し、
前記データ構造生成手段は、前記ソフトウェア起動処理を実行するスレッドとは別のスレッドによって実行されることを特徴とする請求項１に記載の電子機器。
【請求項３】
アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を生成するデータ構造生成手段、および、
前記アプリケーションソフトウェアのプロセスからの前記データ構造に対するアクセスを管理するアクセス管理手段として電子機器を機能させ、
前記データ構造生成手段は、前記アプリケーションソフトウェアのプロセスによるジョブの実行前に前記データ構造を生成することを特徴とするデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を管理する電子機器およびデータ管理プログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を管理する電子機器として、アプリケーションソフトウェアのプロセスによるジョブを実行する度にデータ構造を生成するものが知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３１６５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の電子機器おいては、ジョブを実行する度にデータ構造を生成するので、ジョブを実行する度にデータ構造の生成時間が必要であるという問題がある。
【０００５】
そこで、本発明は、ジョブの実行時間を短縮することができる電子機器およびデータ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の電子機器は、アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を生成するデータ構造生成手段と、前記アプリケーションソフトウェアのプロセスからの前記データ構造に対するアクセスを管理するアクセス管理手段とを備え、前記データ構造生成手段は、前記アプリケーションソフトウェアのプロセスによるジョブの実行前に前記データ構造を生成することを特徴とする。
【０００７】
この構成により、本発明の電子機器は、アプリケーションソフトウェアのプロセスによるジョブの実行前にデータ構造を生成するので、ジョブの実行の際にデータ構造の生成時間が必要ない分、ジョブの実行時間を短縮することができる。
【０００８】
また、本発明の電子機器において、前記アプリケーションソフトウェアのプロセスは、前記アプリケーションソフトウェアの起動後に実行可能であり、前記データ構造生成手段は、前記アプリケーションソフトウェアが起動されるソフトウェア起動処理の実行時に前記データ構造を生成し、前記データ構造生成手段は、前記ソフトウェア起動処理を実行するスレッドとは別のスレッドによって実行されても良い。
【０００９】
この構成により、本発明の電子機器は、データ構造の生成と、ソフトウェア起動処理とが別のスレッドによって実行されるので、ソフトウェア起動処理の実行時にデータ構造が生成されたとしても、アプリケーションソフトウェアの起動が遅延することを抑えることができる。
【００１０】
本発明のデータ管理プログラムは、アプリケーションソフトウェアのプロセスが使用するデータを入れるためのデータ構造を生成するデータ構造生成手段、および、前記アプリケーションソフトウェアのプロセスからの前記データ構造に対するアクセスを管理するアクセス管理手段として電子機器を機能させ、前記データ構造生成手段は、前記アプリケーションソフトウェアのプロセスによるジョブの実行前に前記データ構造を生成することを特徴とする。
【００１１】
この構成により、本発明のデータ管理プログラムは、アプリケーションソフトウェアのプロセスによるジョブの実行前にデータ構造を生成するので、ジョブの実行の際にデータ構造の生成時間が必要ない分、ジョブの実行時間を短縮することができる。
【発明の効果】
【００１２】
本発明の電子機器およびデータ管理プログラムは、ジョブの実行時間を短縮することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係るＭＦＰのブロック図である。
【図２】図１に示すデータ構造の各領域を示す図である。
【図３】システム起動処理が実行される場合の図１に示すＭＦＰの動作のフローチャートである。
【図４】（ａ）図１に示すＭＦＰによって実行されるアプリケーション側プロセスの処理の順序を説明する図である。  （ｂ）図１に示すＭＦＰによって実行されるプラットフォーム側プロセスの処理の順序を説明する図である。
【図５】データ構造に対するアクセスの希望がアプリケーション側プロセスから通知された場合の図１に示すアクセス管理手段の動作のフローチャートである。
【図６】データ構造に対するアクセスの希望がプラットフォーム側プロセスから通知された場合の図１に示すアクセス管理手段の動作のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００１５】
まず、本実施の形態に係る電子機器としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の構成について説明する。
【００１６】
図１は、本実施の形態に係るＭＦＰ１０のブロック図である。
【００１７】
図１に示すように、ＭＦＰ１０は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部１１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部１２と、原稿から画像データを読み取る読取デバイスであるスキャナー１３と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター１４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部１５と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部１６と、各種のデータを記憶しているＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性の記憶デバイスである記憶部２０と、ＭＦＰ１０全体を制御する制御部３０とを備えている。
【００１８】
記憶部２０は、プラットフォームソフトウェア２１と、プラットフォームソフトウェア２１上で動作する複数のアプリケーションソフトウェア２２とを記憶している。プラットフォームソフトウェア２１およびアプリケーションソフトウェア２２は、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされている。
【００１９】
プラットフォームソフトウェア２１は、ＭＦＰ１０を含む複数の機種から構成されるＭＦＰの製品シリーズに共通するソフトウェアである。プラットフォームソフトウェア２１は、製品シリーズの個々の機種が製造される前に製造されることが可能である。プラットフォームソフトウェア２１は、複数の機種が製造されることが可能であるように、製品シリーズの個々の機種のみに依存する機能を備えていない。
【００２０】
アプリケーションソフトウェア２２は、製品シリーズの個々の機種のうちＭＦＰ１０が所属している機種のみのために製造されることが可能である。アプリケーションソフトウェア２２は、製品シリーズの個々の機種のうちＭＦＰ１０が所属している機種に依存する機能を備えている。
【００２１】
複数のアプリケーションソフトウェア２２の１つは、例えば、表示のジョブ、すなわち、表示部１２による画面の表示のジョブを実行するための表示アプリケーションソフトウェアである。また、複数のアプリケーションソフトウェア２２の１つは、例えば、スキャンのジョブ、すなわち、スキャナー１３による画像データの読み取りのジョブを実行するためのスキャンアプリケーションソフトウェアである。また、複数のアプリケーションソフトウェア２２の１つは、例えば、プリントのジョブ、すなわち、ネットワーク通信部１６を介して受信した印刷データに基づいたプリンター１４による印刷のジョブを実行するためのプリントアプリケーションソフトウェアである。また、複数のアプリケーションソフトウェア２２の１つは、例えば、コピーのジョブ、すなわち、スキャナー１３によって読み取られた画像データに基づいたプリンター１４による印刷のジョブを実行するためのコピーアプリケーションソフトウェアである。また、複数のアプリケーションソフトウェア２２の１つは、例えば、ファックスのジョブ、すなわち、ファックス通信部１５を介したファックスのジョブを実行するためのファックスアプリケーションソフトウェアである。
【００２２】
記憶部２０は、プラットフォームソフトウェア２１のプロセス（以下「プラットフォーム側プロセス」という。）が使用するデータと、アプリケーションソフトウェア２２のプロセス（以下「アプリケーション側プロセス」という。）が使用するデータとを入れるためのデータ構造２３を記憶することが可能である。データ構造２３は、アプリケーションソフトウェア２２毎に用意される領域である。
【００２３】
なお、プラットフォーム側プロセスは、プラットフォームソフトウェア２１の起動後に実行可能である。同様に、アプリケーション側プロセスは、アプリケーションソフトウェア２２の起動後に実行可能である。
【００２４】
図２は、データ構造２３の各領域を示す図である。
【００２５】
図２に示すように、データ構造２３は、プラットフォーム側プロセスおよびアプリケーション側プロセスのうちプラットフォーム側プロセスのみが使用するデータのための独自領域２３ａと、プラットフォーム側プロセスおよびアプリケーション側プロセスの両方が使用するデータのための共用領域としての共有領域２３ｂと、プラットフォーム側プロセスおよびアプリケーション側プロセスのうちアプリケーション側プロセスのみが使用するデータのための拡張領域２３ｃとに区分されている。
【００２６】
独自領域２３ａは、利用者が使用しているプロセス、すなわち、アプリケーション側プロセスから切り離されている必要がある動作パラメーターなど、利用者に対して隠蔽する必要がある機密のデータのための領域である。
【００２７】
共有領域２３ｂは、プラットフォーム側プロセスと、アプリケーション側プロセスとによってデータを共有することができる領域である。
【００２８】
拡張領域２３ｃは、アプリケーションソフトウェア２２に応じて自由に変更されることができる領域である。
【００２９】
図１に示すように、記憶部２０は、データ構造２３を管理するデータ管理プログラム２４を記憶している。データ管理プログラム２４は、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＳＤカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリーなどの記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００３０】
制御部３０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムおよび各種のデータを記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えている。ＣＰＵは、ＲＯＭまたは記憶部２０に記憶されているプログラムを実行する。
【００３１】
制御部３０は、記憶部２０に記憶されているデータ管理プログラム２４を実行することによって、データ構造２３を生成するデータ構造生成手段３１、および、データ構造２３に対するアクセスを管理するアクセス管理手段３２として機能する。
【００３２】
次に、ＭＦＰ１０の動作について説明する。
【００３３】
まず、プラットフォームソフトウェア２１およびアプリケーションソフトウェア２２が起動されるソフトウェア起動処理としてのシステム起動処理が実行される場合のＭＦＰ１０の動作について説明する。
【００３４】
図３は、システム起動処理が実行される場合のＭＦＰ１０の動作のフローチャートである。
【００３５】
ＭＦＰ１０が起動される場合や、省エネ状態であったＭＦＰ１０が通常の状態に復帰させられる場合など、特定の場合に、ＭＦＰ１０は、図３に示す動作を実行する。
【００３６】
図３に示すように、ＭＦＰ１０の制御部３０は、システム起動処理の実行を開始する（Ｓ５１）。ここで、システム起動処理は、プラットフォームソフトウェア２１、アプリケーションソフトウェア２２の順で起動する処理である。
【００３７】
次いで、データ構造生成手段３１は、データ構造２３を生成する（Ｓ５２）。ここで、データ構造生成手段３１は、システム起動処理によってアプリケーションソフトウェア２２が起動される度に、起動されたアプリケーションソフトウェア２２に対応するデータ構造２３を生成する。なお、データ構造生成手段３１は、システム起動処理を実行するスレッドとは別のスレッドによって実行される。
【００３８】
次いで、制御部３０は、システム起動処理の実行が終了したと判断するまで、システム起動処理の実行が終了したか否かを判断する（Ｓ５３）。
【００３９】
制御部３０は、システム起動処理の実行が終了したとＳ５３において判断すると、図３に示す動作を終了する。
【００４０】
次に、ジョブが実行される場合のＭＦＰ１０の動作について説明する。
【００４１】
ＭＦＰ１０は、図３に示すシステム起動処理の実行が終了した後、システム起動処理において起動されたアプリケーションソフトウェア２２のアプリケーション側プロセスによるジョブを、例えば、操作部１１を介した指示に応じて何度も実行することができる。
【００４２】
なお、以下においては、本発明に対する理解を容易にするために、表示のジョブを例に説明する。表示のジョブは、複数のアプリケーションソフトウェア２２のうち表示アプリケーションソフトウェアのアプリケーション側プロセスによって実行される。アプリケーションソフトウェア２２が表示アプリケーションソフトウェアである場合に、プロセスによって使用されるデータの項目としては、例えば、表示部１２に表示する画像の圧縮方法のデータ、表示部１２を制御するためのデータ、表示部１２に表示される画面のレイアウトのデータなどの項目が存在する。表示部１２に表示する画像の圧縮方法のデータは、例えば、独自領域２３ａに含まれている。表示部１２を制御するためのデータは、例えば、共有領域２３ｂに含まれている。表示部１２に表示される画面のレイアウトのデータは、例えば、拡張領域２３ｃに含まれている。
【００４３】
図４（ａ）は、アプリケーション側プロセス３４の処理の順序を説明する図である。図４（ｂ）は、プラットフォーム側プロセス３３の処理の順序を説明する図である。
【００４４】
図４（ａ）に示すように、制御部３０（図１参照。）は、アプリケーションソフトウェア２２（図１参照。）を実行することによってアプリケーション側プロセス３４を生成する。また、図４（ｂ）に示すように、制御部３０は、プラットフォームソフトウェア２１（図１参照。）を実行することによってプラットフォーム側プロセス３３を生成する。
【００４５】
制御部３０がアプリケーションソフトウェア２２を実行する場合、アプリケーション側プロセス３４がプラットフォーム側プロセス３３を利用するように処理が流れる。
【００４６】
図４（ａ）に示すように、アプリケーション側プロセス３４は、処理を実行する場合に、データ構造２３上にデータを設定したり、データ構造２３上のデータを取得したりするとき、データ構造２３に対するアクセスの希望をアクセス管理手段３２に通知する。ここで、アクセス管理手段３２は、データ構造２３に対するアクセスの希望がアプリケーション側プロセス３４から通知された場合、データ構造２３上の領域のうち共有領域２３ｂおよび拡張領域２３ｃのみを制御部３０のＲＡＭにマップする。したがって、アプリケーション側プロセス３４は、データ構造２３上の領域のうち共有領域２３ｂおよび拡張領域２３ｃのみにアクセスすることができる。アクセス管理手段３２は、データ構造２３に対するアクセスの希望がアプリケーション側プロセス３４から通知されると、図５に示す動作を実行する。
【００４７】
図５は、データ構造２３に対するアクセスの希望がアプリケーション側プロセス３４から通知された場合のアクセス管理手段３２の動作のフローチャートである。
【００４８】
図５に示すように、アクセス管理手段３２は、アプリケーション側プロセス３４から通知されたアクセスの対象のデータの項目が含まれる領域が独自領域２３ａ、共有領域２３ｂおよび拡張領域２３ｃの何れであるかを判断する（Ｓ７１）。
【００４９】
アクセス管理手段３２は、アプリケーション側プロセス３４から通知されたアクセスの対象のデータの項目が例えば「表示部１２に表示する画像の圧縮方法のデータ」である場合、自身が管理している共有領域２３ｂおよび拡張領域２３ｃにおけるデータの項目に「表示部１２に表示する画像の圧縮方法のデータ」が含まれていないので、独自領域２３ａであるとＳ７１において判断し、アプリケーション側プロセス３４にエラーを返して（Ｓ７２）、図５に示す動作を終了する。アプリケーション側プロセス３４は、アクセス管理手段３２からエラーが返されると、エラーの場合の特定の振る舞いを実行する。
【００５０】
アクセス管理手段３２は、アプリケーション側プロセス３４から通知されたアクセスの対象のデータの項目が例えば「表示部１２を制御するためのデータ」である場合、自身が管理している共有領域２３ｂにおけるデータの項目に「表示部１２を制御するためのデータ」が含まれているので、共有領域２３ｂであるとＳ７１において判断し、アプリケーション側プロセス３４から通知されたアクセスの方法が設定および取得の何れであるかを判断する（Ｓ７３）。
【００５１】
アクセス管理手段３２は、設定であるとＳ７３において判断すると、アプリケーション側プロセス３４にデータを共有領域２３ｂに設定させて（Ｓ７４）、図５に示す動作を終了する。
【００５２】
アクセス管理手段３２は、取得であるとＳ７３において判断すると、アプリケーション側プロセス３４にデータを共有領域２３ｂから取得させて（Ｓ７５）、図５に示す動作を終了する。
【００５３】
アクセス管理手段３２は、アプリケーション側プロセス３４から通知されたアクセスの対象のデータの項目が例えば「表示部１２に表示される画面のレイアウトのデータ」である場合、自身が管理している拡張領域２３ｃにおけるデータの項目に「表示部１２に表示される画面のレイアウトのデータ」が含まれているので、拡張領域２３ｃであるとＳ７１において判断し、アプリケーション側プロセス３４から通知されたアクセスの方法が設定および取得の何れであるかを判断する（Ｓ７６）。
【００５４】
アクセス管理手段３２は、設定であるとＳ７６において判断すると、アプリケーション側プロセス３４にデータを拡張領域２３ｃに設定させて（Ｓ７７）、図５に示す動作を終了する。
【００５５】
アクセス管理手段３２は、取得であるとＳ７６において判断すると、アプリケーション側プロセス３４にデータを拡張領域２３ｃから取得させて（Ｓ７８）、図５に示す動作を終了する。
【００５６】
図４（ｂ）に示すように、プラットフォーム側プロセス３３は、処理を実行する場合に、データ構造２３上にデータを設定したり、データ構造２３上のデータを取得したりするとき、データ構造２３に対するアクセスの希望をアクセス管理手段３２に通知する。ここで、アクセス管理手段３２は、データ構造２３に対するアクセスの希望がプラットフォーム側プロセス３３から通知された場合、データ構造２３上の領域のうち独自領域２３ａおよび共有領域２３ｂのみを制御部３０のＲＡＭにマップする。したがって、プラットフォーム側プロセス３３は、データ構造２３上の領域のうち独自領域２３ａおよび共有領域２３ｂのみにアクセスすることができる。アクセス管理手段３２は、データ構造２３に対するアクセスの希望がプラットフォーム側プロセス３３から通知されると、図６に示す動作を実行する。
【００５７】
図６は、データ構造２３に対するアクセスの希望がプラットフォーム側プロセス３３から通知された場合のアクセス管理手段３２の動作のフローチャートである。
【００５８】
図６に示すように、アクセス管理手段３２は、プラットフォーム側プロセス３３から通知されたアクセスの対象のデータの項目が含まれる領域が独自領域２３ａ、共有領域２３ｂおよび拡張領域２３ｃの何れであるかを判断する（Ｓ９１）。
【００５９】
アクセス管理手段３２は、プラットフォーム側プロセス３３から通知されたアクセスの対象のデータの項目が例えば「表示部１２に表示する画像の圧縮方法のデータ」である場合、自身が管理している独自領域２３ａにおけるデータの項目に「表示部１２に表示する画像の圧縮方法のデータ」が含まれているので、独自領域２３ａであるとＳ９１において判断し、プラットフォーム側プロセス３３から通知されたアクセスの方法が設定および取得の何れであるかを判断する（Ｓ９２）。
【００６０】
アクセス管理手段３２は、設定であるとＳ９２において判断すると、プラットフォーム側プロセス３３にデータを独自領域２３ａに設定させて（Ｓ９３）、図６に示す動作を終了する。
【００６１】
アクセス管理手段３２は、取得であるとＳ９２において判断すると、プラットフォーム側プロセス３３にデータを独自領域２３ａから取得させて（Ｓ９４）、図６に示す動作を終了する。
【００６２】
アクセス管理手段３２は、プラットフォーム側プロセス３３から通知されたアクセスの対象のデータの項目が例えば「表示部１２を制御するためのデータ」である場合、自身が管理している共有領域２３ｂにおけるデータの項目に「表示部１２を制御するためのデータ」が含まれているので、共有領域２３ｂであるとＳ９１において判断し、プラットフォーム側プロセス３３から通知されたアクセスの方法が設定および取得の何れであるかを判断する（Ｓ９５）。
【００６３】
アクセス管理手段３２は、設定であるとＳ９５において判断すると、プラットフォーム側プロセス３３にデータを共有領域２３ｂに設定させて（Ｓ９６）、図６に示す動作を終了する。
【００６４】
アクセス管理手段３２は、取得であるとＳ９５において判断すると、プラットフォーム側プロセス３３にデータを共有領域２３ｂから取得させて（Ｓ９７）、図６に示す動作を終了する。
【００６５】
アクセス管理手段３２は、プラットフォーム側プロセス３３から通知されたアクセスの対象のデータの項目が例えば「表示部１２に表示される画面のレイアウトのデータ」である場合、自身が管理している独自領域２３ａおよび共有領域２３ｂにおけるデータの項目に「表示部１２に表示される画面のレイアウトのデータ」が含まれていないので、拡張領域２３ｃであるとＳ９１において判断し、プラットフォーム側プロセス３３にエラーを返して（Ｓ９８）、図６に示す動作を終了する。プラットフォーム側プロセス３３は、アクセス管理手段３２からエラーが返されると、エラーの場合の特定の振る舞いを実行する。
【００６６】
以上に説明したように、ＭＦＰ１０は、システム起動処理の実行時、すなわち、アプリケーション側プロセス３４によるジョブの実行前にデータ構造２３を生成する（Ｓ５２）ので、ジョブの実行の際にデータ構造２３の生成時間が必要ない分、ジョブの実行時間を短縮することができる。
【００６７】
また、ＭＦＰ１０は、データ構造２３の生成と、システム起動処理とが別のスレッドによって実行されるので、システム起動処理の実行時にデータ構造２３が生成されたとしても、アプリケーションソフトウェア２２の起動が遅延することを抑えることができる。
【００６８】
なお、ＭＦＰ１０は、データ構造２３の生成と、システム起動処理とが同一のスレッドによって実行されても良い。
【００６９】
また、ＭＦＰ１０は、アプリケーション側プロセス３４によるジョブの実行前であれば、システム起動処理の実行時以外のタイミングでデータ構造２３を生成しても良い。
【００７０】
ＭＦＰ１０は、独自領域２３ａに対するアクセスをプラットフォーム側プロセス３３からのみ許可する（Ｓ９３およびＳ９４）ので、独自領域２３ａ上のデータをアプリケーション側プロセス３４に対して隠蔽することができる。すなわち、ＭＦＰ１０は、プロセスの種類に応じてデータを隠蔽することができる。
【００７１】
特に、ＭＦＰ１０は、プラットフォームソフトウェア２１およびアプリケーションソフトウェア２２のうちプラットフォームソフトウェア２１のプロセス、すなわち、プラットフォーム側プロセス３３のみが使用するデータを、利用者によって直接使用されるアプリケーションソフトウェア２２のプロセス、すなわち、アプリケーション側プロセス３４に対して隠蔽することができるので、機密のデータを利用者に対して隠蔽することができる。例えば、ＭＦＰ１０の製造業者は、表示部１２に表示する画像の圧縮方法のデータが利用者に対して秘密にしたい重要なデータである場合に、ＭＦＰ１０を含む複数の機種から構成されるＭＦＰの製品シリーズにおいて、表示部１２に表示する画像の圧縮方法のデータを独自領域２３ａに配置するように設計することによって、表示部１２に表示する画像の圧縮方法のデータを利用者に対して隠蔽することができる。
【００７２】
ＭＦＰ１０は、拡張領域２３ｃに対するアクセスをアプリケーションソフトウェア２２のプロセス、すなわち、アプリケーション側プロセス３４からのみ許可するので、拡張領域２３ｃ上に記憶されるデータの定義としてプラットフォームソフトウェア２１に関わらずアプリケーションソフトウェア２２独自のものを採用することができる。すなわち、ＭＦＰ１０は、プロセスによって使用するデータの定義をアプリケーションソフトウェア２２に応じて拡張することができる。例えば、ＭＦＰ１０の製造業者は、表示部１２に表示される画面のレイアウトのデータを、ＭＦＰ１０を含む複数の機種から構成されるＭＦＰの製品シリーズのうち、ＭＦＰ１０が所属している機種の独自のデータに変更することができる。また、ＭＦＰ１０の製造業者は、整数型、文字型などのデータ型を、プラットフォーム側プロセス３３のみが使用する独自領域２３ａにおけるデータや、アプリケーション側プロセス３４だけではなくプラットフォーム側プロセス３３も使用する共有領域２３ｂにおけるデータに関しては変更することができないが、アプリケーション側プロセス３４のみが使用する拡張領域２３ｃにおけるデータに関しては、アプリケーションソフトウェア２２に応じて変更することができる。
【００７３】
ＭＦＰ１０は、データ構造２３上に共有領域２３ｂを設けているので、アプリケーション側プロセス３４からプラットフォーム側プロセス３３に処理を依頼する場合に必要なデータをアプリケーション側プロセス３４からプラットフォーム側プロセス３３に共有領域２３ｂを介して円滑に渡せるだけでなく、プラットフォーム側プロセス３３によって変更した共有領域２３ｂ上のデータをアプリケーション側プロセス３４から参照することができる。
【００７４】
本発明の電子機器は、本実施の形態においてＭＦＰであるが、データ構造に対するアクセスを実行する電子機器であれば、プリンター専用機、コピー専用機、ＦＡＸ専用機など、ＭＦＰ以外の画像形成装置であっても良いし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）など、画像形成装置以外の電子機器であっても良い。
【符号の説明】
【００７５】
１０  ＭＦＰ（電子機器）
２２  アプリケーションソフトウェア
２３  データ構造
２４  データ管理プログラム
３１  データ構造生成手段
３２  アクセス管理手段
３４  アプリケーション側プロセス（アプリケーションソフトウェアのプロセス）
【図１】
2016085709.tif 000003
【図２】
2016085709.tif 000004
【図３】
2016085709.tif 000005
【図４】
2016085709.tif 000006
【図５】
2016085709.tif 000007
【図６】
2016085709.tif 000008