(57)【要約】【課題】他のアプリケーションプログラムの起動に必要な計算機資源を割り当てる。【解決手段】アプリケーションプログラムの起動に計算機資源（リソース）を用いるために、ヒューマンマシンインターフェース機能を実現するＨＭＩアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率である全計算機資源使用率を低下させることができる低下可能幅を計算するリソース使用率低下準備部８４１と、リソース使用率低下準備部８４１によって計算された前記低下可能幅で当該ＨＭＩ計算機資源使用率を低下させる使用率低下実行部８４２とを備える。【選択図】図２
2016153986.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの起動に計算機資源を用いるために、ヒューマンマシンインターフェース機能を実現するＨＭＩアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率であるＨＭＩ計算機資源使用率を低下させることができる低下可能幅を計算する低下可能幅計算部と、
前記低下可能幅計算部によって計算された前記低下可能幅で前記ＨＭＩ計算機資源使用率を低下させる使用率低下実行部とを備えていることを特徴とする計算機資源使用制御装置。
【請求項２】
前記ＨＭＩアプリケーションプログラムが複数のタスクから構成され、
前記ＨＭＩ計算機資源使用率は、前記計算機資源を各タスクが使用する使用量の、前記計算機資源の総量に対する比率であるタスク計算機資源使用率の総計であり、
各タスクには、前記タスク計算機資源使用率の低下の可否が定められており、
前記使用率低下実行部は、前記タスク計算機資源使用率を低下させることが可能なタスクについてのみ前記タスク計算機資源使用率を低下させることを特徴とする請求項１に記載の計算機資源使用制御装置。
【請求項３】
前記使用率低下実行部は、低下させる前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅を満たさないときに、前記タスク計算機資源使用率を前記総計だけ低下させることを特徴とする請求項２に記載の計算機資源使用制御装置。
【請求項４】
前記使用率低下実行部は、低下可能である前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅より大きいときに、重要度の低いタスクから順に前記タスク計算機資源使用率を低下させることを特徴とする請求項２に記載の計算機資源使用制御装置。
【請求項５】
前記低下可能幅計算部は、起動される前記アプリケーションプログラムの実行ファイルのサイズに基づいて前記アプリケーションプログラムの起動に前記計算機資源を優先的に割り当てる程度である起動優先度を算出することを特徴とする請求項１から４のいずれか１項に記載の計算機資源使用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定のアプリケーションプログラムが実行されている状態において、他のアプリケーションプログラムの起動を円滑に行うために、実行されているアプリケーションプログラムによる計算機資源の使用を制御する計算機資源使用制御装置に関する。
【背景技術】
【０００２】
コンピュータ機器においては、各種のアプリケーションプログラムを実行することにより、これらのアプリケーションプログラムによって実現される機能を利用することができる。また、このようなコンピュータ機器においては、マルチタスクの機能によって複数のアプリケーションプログラムを同時に実行することができる。
【０００３】
しかしながら、コンピュータ機器では、ＣＰＵ（Central Processing Unit）の性能やメモリの容量を含む計算機資源に制限がある。特に、ＣＰＵの性能が低い場合やメモリの容量が少ない場合には、いくつかのアプリケーションプログラムを実行すると、計算機資源に余裕がなくなることがある。また、計算機資源が豊富であっても、すでに起動しているアプリケーションプログラムの実行に多くの計算機資源が使用される場合、未使用の計算機資源が残り少なくなっていることがある。このような計算機資源に余裕がない状態で、他のアプリケーションプログラムを起動しようとすると、当該アプリケーションプログラムの起動に十分な計算機資源を確保できなければ、当該アプリケーションプログラムの起動が遅くなってしまう。
【０００４】
上記のような不都合を解消するものとして、例えば、特許文献１に開示されている手法が有効である。特許文献１には、アプリケーションプログラムを起動するときに、その起動のために計算機資源が不足していると判定されると、起動するアプリケーションプログラムより優先度の低いアプリケーションプログラムを停止させることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４０１２３号公報（２００８年６月１９日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、アプリケーションプログラムの実行中に他のアプリケーションプログラムを起動する場合、実行中のアプリケーションプログラムが優先度の高いアプリケーションプログラムであれば、当該アプリケーションプログラムを停止することができない。例えば、このようなアプリケーションプログラムとして、プログラマブル表示器のようなＨＭＩ（Human Machine Interface）機器の機能を汎用のコンピュータ機器において実現するためのＨＭＩアプリケーションプログラムが挙げられる。
【０００７】
ＨＭＩアプリケーションプログラムを利用する場合、ＨＭＩアプリケーションプログラムを常時実行することでコンピュータ機器をＨＭＩ機器として動作させ、必要に応じて他のアプリケーションプログラムを起動させる。このような場合、他のアプリケーションプログラムの起動時に計算機資源が不足していても、ＨＭＩアプリケーションプログラムを停止させることはできない。このため、他のアプリケーションプログラムの起動に十分な計算機資源を確保することができないので、当該アプリケーションプログラムの起動時間を短縮することはできない。
【０００８】
ＨＭＩアプリケーションプログラムを停止させることはできないが、ＨＭＩアプリケーションプログラムによる計算機資源の使用率をＨＭＩアプリケーションプログラムの必要最低限の機能を保持した状態で低下させることが考えられる。しかしながら、現状のＨＭＩアプリケーションプログラムでは、ＨＭＩアプリケーションプログラムによる計算機資源の使用状況に応じて、ＨＭＩアプリケーションプログラムによる計算機資源の使用率を適切に低下させることができない。
【０００９】
本発明は上記の問題点を解決するためになされたものであり、その目的は、ＨＭＩアプリケーションプログラムによる計算機資源の使用率を適切に低下させることにより、他のアプリケーションプログラムの起動に必要な計算機資源を割り当てることにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の計算機資源使用制御装置は、アプリケーションプログラムの起動に計算機資源を用いるために、ヒューマンマシンインターフェース機能を実現するＨＭＩアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率であるＨＭＩ計算機資源使用率を低下させることができる低下可能幅を計算する低下可能幅計算部と、前記低下可能幅計算部によって計算された前記低下可能幅で前記ＨＭＩ計算機資源使用率を低下させる使用率低下実行部とを備えていることを特徴としている。
【００１１】
上記のように構成される計算機資源使用制御装置においては、低下可能幅計算部によって計算された低下可能幅で、使用率低下実行部がＨＭＩ計算機資源使用率を低下させるので、低下したＨＭＩ計算機資源使用率がアプリケーションプログラムの起動に割り当てることができる。
【００１２】
前記計算機資源使用制御装置において、前記ＨＭＩアプリケーションプログラムが複数のタスクから構成され、前記ＨＭＩ計算機資源使用率は、前記計算機資源を各タスクが使用する使用量の、前記計算機資源の総量に対する比率であるタスク計算機資源使用率の総計であり、各タスクには、前記タスク計算機資源使用率の低下の可否が定められており、前記使用率低下実行部は、前記タスク計算機資源使用率を低下させることが可能なタスクについてのみ前記タスク計算機資源使用率を低下させることが好ましい。
【００１３】
これにより、ＨＭＩアプリケーションプログラムの根幹をなすシステム稼働上で重要なタスクのＨＭＩ計算機資源使用率を低下させないようにすることができる。これにより、ＨＭＩアプリケーションプログラムによって実現される機能が完全に停止するという事態を回避しながら、アプリケーションプログラムの起動のために必要な計算機資源を確保することができる。
【００１４】
前記計算機資源使用制御装置において、前記使用率低下実行部は、低下させる前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅を満たさないときに、前記タスク計算機資源使用率を前記総計だけ低下させることが好ましい。
【００１５】
これにより、低下させる前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅を満たさない場合、低下させるタスク計算機資源使用率の総計を可能な限り必要とされる低下幅に近づけることができる。
【００１６】
前記計算機資源使用制御装置において、前記使用率低下実行部は、低下可能である前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅より大きいときに、重要度の低いタスクから順に前記タスク計算機資源使用率を低下させることが好ましい。
【００１７】
これにより、低下可能である前記タスク計算機資源使用率の総計がＨＭＩ計算機資源使用率の必要とされる低下幅より大きい場合、重要度の高いタスクのタスク計算機資源使用率を低下させないようにすることができる。
【００１８】
前記計算機資源使用制御装置において、前記使用率低下準備部は、起動される前記アプリケーションプログラムの実行ファイルのサイズに基づいて前記アプリケーションプログラムの起動に前記計算機資源を優先的に割り当てる程度である起動優先度を算出することが好ましい。
【００１９】
これにより、ユーザによる起動優先度の設定が必要なくなる。
【００２０】
あるいは、計算機資源使用制御装置は、アプリケーションプログラムの起動時に、ヒューマンマシンインターフェース機能を実現するＨＭＩアプリケーションプログラムを含む、すでに実行されている全てのアプリケーションプログラムが使用している計算機資源の使用量の、当該計算機資源の総量に対する比率である全計算機資源使用率と、起動させる前記アプリケーションプログラムについて定められた、当該アプリケーションプログラムの起動に前記計算機資源を優先的に確保する程度である起動優先度とに基づいて、前記アプリケーションプログラムの起動に前記計算機資源を用いるために、前記ＨＭＩアプリケーションプログラムが使用している前記計算機資源の使用量の、前記計算機資源の総量に対する比率であるＨＭＩ計算機資源使用率を低下させる要否を判定する使用率低下要否判定部と、前記使用率低下要否判定部によって前記ＨＭＩ計算機資源使用率の低下が必要であると判定されたときに当該ＨＭＩ計算機資源使用率を低下させる使用率低下実行部とを備えているものであってもよい。
【００２１】
上記のように構成される計算機資源使用制御装置においては、アプリケーションプログラムの起動時に、使用率低下要否判定部が、全計算機資源使用率および起動優先度に基づいて、ＨＭＩ計算機資源使用率を低下させる必要があると判定すると、使用率低下実行部がＨＭＩ計算機資源使用率を低下させる。これにより、全計算機資源使用率および起動優先度に応じてアプリケーションプログラムの起動のために必要な計算機資源を割り当てることができる。
【００２２】
前記計算機資源使用制御装置において、前記使用率低下要否判定部は、前記起動優先度に基づいて前記ＨＭＩ計算機資源使用率の低下幅を決定し、前記使用率低下実行部は、前記低下幅で前記ＨＭＩ計算機資源使用率を低下させることが好ましい。
【００２３】
これにより、起動優先度に応じた低下幅でＨＭＩ計算機資源使用率を低下させることにより、アプリケーションプログラムを起動させるために適切な計算機資源を確保することができる。
【００２４】
前記計算機資源使用制御装置は、前記起動優先度を各アプリケーションプログラムについて定めた起動優先度テーブルをさらに備え、前記使用率低下要否判定部が、前記起動優先度テーブルを参照して、前記ＨＭＩ計算機資源使用率を低下させる要否を判定することが好ましい。
【００２５】
これにより、ユーザが所望に設定した起動優先度に基づいて、ＨＭＩ計算機資源使用率を低下させることができる。
【発明の効果】
【００２６】
本発明は、ＨＭＩアプリケーションプログラムによる計算機資源の使用率を適切に低下させることにより、他のアプリケーションプログラムの起動に必要な計算機資源を割り当てることができるという効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態１および２に係るコンピュータ機器のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態１およびその変形例に係る上記コンピュータ機器のシステム構成を示すブロック図である。
【図３】ＨＭＩアプリケーションプログラムが使用する計算機資源（リソース）の使用率を低下させる対象となるアプリケーションプログラムと起動優先度との対応付けに用いられるダイアログボックスを示す図である。
【図４】上記コンピュータ機器に表示されるＨＭＩ画像を示す図である。
【図５】上記コンピュータ機器においてアプリケーションプログラムの起動時に行われる、ＨＭＩアプリケーションプログラムのリソースの使用率を低下させる処理の手順を示すフローチャートである。
【図６】ＨＭＩアプリケーションプログラムのリソースの使用率を低下させない場合および低下させた場合のそれぞれのアプリケーションプログラムのＣＰＵ使用率の変化を示すグラフである。
【図７】実施形態１の変形例に係るコンピュータ機器においてアプリケーションプログラムの起動時に行われる、ＨＭＩアプリケーションプログラムのリソースの使用率を低下させる処理の手順を示すフローチャートである。
【図８】本発明の実施形態２に係るコンピュータ機器のシステム構成を示すブロック図である。
【図９】図８のコンピュータ機器に設けられた使用率低下可否テーブルの構成を示す図である。
【発明を実施するための形態】
【００２８】
〔実施形態１〕
本発明の一実施形態について図１〜図７に基づいて説明すると、以下の通りである。
【００２９】
図１は、本実施形態に係るコンピュータ機器１の構成を示すブロック図である。図２は、本実施形態およびその変形例に係るコンピュータ機器１のシステム構成を示すブロック図である。
【００３０】
コンピュータ機器１（計算機資源使用制御装置）は、汎用のＯＳ（Operating System）を実装しており、アプリケーションプログラムを実行する機能を備えている。また、コンピュータ機器１としては、パーソナルコンピュータ、ワークステーション、産業用コンピュータなどが用いられる。産業用コンピュータは、工場などの厳しい環境に適合するように、防塵性、防滴性、耐振動性などを高めた専用のコンピュータである。
【００３１】
本実施形態において、コンピュータ機器１は、ＨＭＩ（Human Machine Interface）アプリケーションプログラムを実行させることによりＨＭＩ機器として動作するともに、他のアプリケーションプログラムも併せて実行するように構成されている。ＨＭＩ機器としては、制御対象の監視および制御を行うプログラマブル表示器、ＳＣＡＤＡ（Supervisory Control And Data Acquisition）のような監視・制御システムなどが該当する。ＨＭＩアプリケーションプログラムは、ＨＭＩ機器で行われるような、外部機器との通信、当該外部機器から取得したデータの表示、入力装置を用いた操作者による操作の受け付けなどの各種の機能を実現するアプリケーションプログラムである。このＨＭＩアプリケーションプログラムは、ＨＭＩアプリケーションプログラムを伝送可能な任意の伝送媒体（通信ネットワーク、放送波など）を介してコンピュータ機器１に供給されてもよい。なお、ＨＭＩアプリケーションプログラムは、電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００３２】
また、本実施形態において、コンピュータ機器１の計算機資源（以降「リソース」と称する）とは、アプリケーションプログラムを実行するために使用されるコンピュータ機器１のハードウェア資源である。以降の説明では、特に、後述するＣＰＵ１１およびメインメモリ１２をリソースとして着目した構成について述べる。これは、後述する実施形態２におけるコンピュータ機器１Ａ（図７参照）についても同様である。
【００３３】
まず、コンピュータ機器１のハードウェア構成について説明する。
【００３４】
図１に示すように、コンピュータ機器１は、ＣＰＵ（Central Processing Unit）１１と、メインメモリ１２と、ＲＯＭ（Read Only Memory）１３と、補助記憶装置１４と、入力部１５と、出力部１６と、インターフェース部１７とを備えている。
【００３５】
ＣＰＵ１１は、アプリケーションプログラムを実行する処理装置である。具体的には、ＣＰＵ１１は、アプリケーションプログラムの実行に際して、メインメモリ１２、補助記憶装置１４、入力部１５などからデータを受け取り、当該データに対して演算または加工を施した上で、メインメモリ１２、補助記憶装置１４、出力部１６などに出力する。
【００３６】
メインメモリ１２は、コンピュータ機器１における主記憶装置を構成するメモリであり、ＤＲＡＭ（Dynamic Random Access Memory）によって構成される。メインメモリ１２が有する記憶領域は、システム領域およびユーザ領域に区分される。システム領域はＯＳが使用する領域であり、ユーザ領域はアプリケーションプログラムを実行するために用いられる領域である。各アプリケーションプログラムは、起動するときに、ユーザ領域においてそれぞれの使用領域がＯＳにより割り当てられる。
【００３７】
ＲＯＭ１３は、コンピュータ機器１の起動時やリセット時に実行されるＢＩＯＳ（Basic Input Output System）などの、コンピュータ機器１の動作に不可欠なプログラムを記憶している。
【００３８】
補助記憶装置１４は、ＯＳ、アプリケーションプログラム、各種のデータなどを記憶する大容量の記憶装置であり、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）などで構成される。
【００３９】
入力部１５は、ユーザによる入力操作に用いられ、タッチパネル、マウス、キーボードなどの各種の入力機器が装備される。
【００４０】
出力部１６は、ＯＳおよびアプリケーションプログラムの実行に伴ってコンピュータ機器１の内部で生成される、画像、音、文字などの各種の出力情報の出力に用いられ、表示装置、スピーカ、プリンタなどの各種の出力機器が装備される。
【００４１】
入力部１５および出力部１６は、コンピュータ機器１に搭載される機器であってもよいが、外部機器としてコンピュータ機器１に接続される機器であってもよい。このような外部機器は、次に説明するインターフェース部１７を介してコンピュータ機器１と接続されることにより、コンピュータ機器１と一体に稼働する。
【００４２】
インターフェース部１７は、外部機器をコンピュータ機器１と通信可能に接続するための接続部であり、シリアルインターフェース、Ｉ／Ｏインターフェース、ＵＳＢ（Universal Serial Bus）インターフェース、ＬＡＮ（Local Area Network）インターフェース、メモリカードインターフェースなどの各種のインターフェースを装備している。
【００４３】
例えば、シリアルインターフェースには、ＰＬＣ（Programmable Logic Controller）、温度調節計、インバータなどの制御機器２が接続される。また、Ｉ／Ｏインターフェースには、デジタル／アナログ入力に対応した各種の入力機器（センサ、スイッチ、カウンタなど）およびデジタル／アナログ出力に対応した出力機器（アクチュエータ、リレー、電磁弁、表示器など）のようなＩ／Ｏ機器３が接続される。ＬＡＮインターフェースには、ＰＣ（Personal Computer）４などのネットワーク接続機器が接続される。ＵＳＢインターフェースには、ＵＳＢメモリ５などの各種のＵＳＢ接続対応機器が接続される。そして、メモリカードインターフェースには、各種のメモリカード６が接続される。
【００４４】
続いて、コンピュータ機器１のシステム構成について説明する。本実施形態では、ＨＭＩアプリケーションプログラムを実行することにより、コンピュータ機器１をＨＭＩ機器として動作させるとともに、コンピュータ機器１において他のアプリケーションプログラムを実行させるためのシステム構成について説明する。
【００４５】
図２に示すように、コンピュータ機器１において、オペレーティングシステム（以降「ＯＳ」と称する）７が実装されるとともに、ＨＭＩ制御部８が設けられている。また、コンピュータ機器１において、上述した入力部１５としてタッチパネル９が設けられ、上述した出力部１６として表示部１０が設けられている。表示部１０は、液晶表示パネルのようなコンピュータ機器１に搭載される部品であるが、コンピュータ機器１とは別体に設けられる表示装置であってもよい。タッチパネル９は、表示部１０の表示面に重ねて配置されている。
【００４６】
ＯＳ７は、上述したメインメモリ１２、ＲＯＭ１３、補助記憶装置１４、入力部１５、出力部１６およびインターフェース部１７の管理など、アプリケーションプログラムから共通して利用される基本的な機能を提供し、コンピュータ機器１のシステム全体を管理するプログラムである。また、ＯＳ７は、実行中の各アプリケーションプログラムが使用するリソースの使用状況を監視するリソースモニタ部７１と、アプリケーションプログラムについての情報を管理するアプリケーションプログラム情報管理部７２と、アプリケーションプログラムを実行するアプリケーションプログラム実行処理部７３とを有している。
【００４７】
リソースモニタ部７１は、実行されている各アプリケーションプログラムについて、時々刻々と変化する各リソースの使用状況を各リソースの使用率として提示する。
【００４８】
アプリケーションプログラム情報管理部７２は、アプリケーションプログラムの情報として、インストールされているアプリケーションプログラムのプログラム名、各アプリケーションプログラムの実行ファイルのサイズなどを管理している。
【００４９】
アプリケーションプログラム実行処理部７３は、補助記憶装置１４に記憶（保存）されている複数のアプリケーションプログラムのうち、起動が指示されたアプリケーションプログラムを起動して実行する。また、アプリケーションプログラム実行処理部７３は、実行されているアプリケーションプログラムのうち、終了が指示されたアプリケーションプログラムを終了する。
【００５０】
ＨＭＩ制御部８は、ＨＭＩアプリケーションプログラムが実行されることにより実現されるＨＭＩ機能（ヒューマンマシンインターフェース機能）の部分である。
【００５１】
ここで、ＨＭＩ機能とは、ユーザの入力操作に応じた制御機器２への指示の発生と、制御機器２からの各種データの取得と、取得した当該各種データの表示および上記入力操作の受け付けを行うためのＨＭＩ画像の表示とを含む機能である。ＨＭＩ制御部８は、ＨＭＩ機能として、制御機器２との通信を制御する通信制御部８１と、ユーザの操作入力に基づいて各部を制御する操作制御部８２と、ＨＭＩ画像の表示を制御する表示制御部８３と、他のアプリケーションプログラムの起動時にＨＭＩアプリケーションプログラムが使用するリソースの使用率（以降「ＨＭＩリソース使用率」と称する）を管理するリソース使用率管理部８４とを有している。
【００５２】
ＨＭＩリソース使用率（ＨＭＩ計算機資源使用率）は、ＨＭＩアプリケーションプログラムが使用しているリソースの使用量の、リソースの総量に対する比率である。また、ＨＭＩアプリケーションプログラムを含む実行中のアプリケーションプログラムの全てによって使用されているリソースの使用率（以降「全リソース使用率」と称する）が、上述したリソースモニタ部７１から取得できる。この全リソース使用率（全計算機資源使用率）は、実行されている全てのアプリケーションプログラムが使用しているリソースの使用量の、リソースの総量に対する比率である。
【００５３】
リソースの総量のうち、所定量（例えば２０％）が、ＯＳ７が動作するために常時用いられる。したがって、リソースの総量からＯＳ７に固定的に割り当てられるリソースを除いたリソースが、ＨＭＩアプリケーションプログラムを含むアプリケーションプログラムの使用に割り当てられる。このため、アプリケーションプログラムを起動させる際に、ＯＳ７の動作が変化することでＯＳ７によるリソース使用率が低下しても、その低下分がアプリケーションプログラムの起動のために用いられることはない。
【００５４】
ＨＭＩ画像は、制御機器２に接続された装置２０の状態を表示したり、タッチパネル９への操作を受け付けたりするための各種のオブジェクトを含む画像である。ＨＭＩ画像に設けられるオブジェクトとしては、ランプ画像、データ表示器画像、スイッチ画像などの各種の部品画像が用意されている。ランプ画像は、上記装置２０のオン・オフを点灯・消灯として表すランプを模した画像である。データ表示器画像は、制御機器２に収集された上記装置２０の出力データを表示するデータ表示器を模した画像である。スイッチ画像は、上記装置２０のオン・オフを操作するスイッチを模した画像である。このようなＨＭＩ画像を表示するための画像データは、ＰＣ４において作成され、例えば補助記憶装置１４に保存されている。
【００５５】
通信制御部８１は、制御機器２の通信プロトコルにしたがって制御機器２との通信を制御する。具体的には、通信制御部８１は、操作制御部８２からの操作指示を制御機器２に送信したり、制御機器２からデータを取得するために制御機器２にデータ送信を要求したりする。
【００５６】
操作制御部８２は、タッチパネル９におけるユーザのタッチによる入力操作に応じた操作指示を発生する。操作指示としては、制御機器２の起動・停止指示、制御機器２に与える制御データの変更、アプリケーションプログラムを起動させる起動指示などがある。操作制御部８２は、ＨＭＩ画像に設けられた起動スイッチのスイッチ画像がタッチされることで起動指示を発生して、ＯＳ７に与える。
【００５７】
表示制御部８３は、画像データに基づいて表示部１０にＨＭＩ画像を表示させる制御処理を行う。また、表示制御部８３は、通信制御部８１を介して取得した制御機器２のデータを、ＨＭＩ画像に反映させる処理を行う。例えば、表示制御部８３は、ＨＭＩ画像において、上述のランプ画像を点灯・消灯させたり、上述のデータ表示器画像にデータを表示させたりする処理を行う。また、表示制御部８３は、上記操作指示に応じてＨＭＩ画像の状態を変化させる処理を行う。例えば、表示制御部８３は、上述のスイッチ画像を操作する上記操作指示を受けて、当該スイッチ画像の表示状態（色、形状など）を変化させる処理を行う。
【００５８】
リソース使用率管理部８４は、少なくともＨＭＩ制御部８が動作している状態、すなわち少なくともＨＭＩアプリケーションプログラムが実行されている状態で、他のアプリケーションプログラムが起動されるとき、当該アプリケーションプログラムが円滑に起動されるようにＨＭＩリソース使用率を管理する。
【００５９】
リソース使用率管理部８４は、ＨＭＩリソース使用率を管理するために、アプリケーションプログラムの起動時に、ＨＭＩリソース使用率の低下が可能な幅（低下可能幅）を計算するリソース使用率低下準備部８４１と、アプリケーションプログラムの起動時に必要に応じてＨＭＩリソース使用率を低下させるリソース使用率低下実行部８４２とを有している。
【００６０】
リソース使用率低下準備部８４１（低下可能幅計算部）は、ＯＳ７のリソースモニタ部７１から取得したＨＭＩリソース使用率と、ＨＭＩアプリケーションプログラムの動作に最低限必要なＨＭＩリソース使用率とに基づいて、ＨＭＩリソース使用率の低下可能幅を計算する。低下可能幅は、ＨＭＩリソース使用率から、ＨＭＩアプリケーションプログラムの動作に支障を来さない最低限必要なＨＭＩリソース使用率を減じることで得られる。
【００６１】
リソース使用率低下実行部８４２（使用率低下実行部）は、リソース使用率低下準備部８４１によって計算された低下可能幅でＨＭＩリソース使用率を低下させる。
【００６２】
ここで、ＰＣ４について説明する。
【００６３】
ＰＣ４は、アプリケーションプログラムの実行が可能な汎用のコンピュータである。このＰＣ４は、図２に示すように、ユーザの入力操作に用いられる入力部４１を用いてアプリケーションプログラムの操作を行うことで生成された画像データに基づいて、表示部４２が画像を表示する。
【００６４】
また、ＰＣ４は、コンピュータ機器１に供給する上述の画像データを作成する画像データ作成部４３を備えている。
【００６５】
画像データ作成部４３は、画像データを作成するためのアプリケーションプログラムが実行されることによって実現される機能部分である。画像データ作成部４３は、上述の部品画像、各種の基本図形などのオブジェクトを配置するとともに配置したオブジェクトに各種の設定を行うＧＵＩ（Graphical User Interface）を表示部４２に表示させる。また、画像データ作成部４３は、入力部４１を用いたユーザの入力操作を受け付けることによって、ユーザによる画像データの作成を支援する。そして、画像データ作成部４３は、作成した画像データをコンピュータ機器１に転送する。上述のように、画像データは、コンピュータ機器１において補助記憶装置１４に保存される。
【００６６】
また、画像データ作成部４３は、ＨＭＩ画像からアプリケーションプログラムを起動するための起動スイッチについての設定を行う起動スイッチ設定部４３１を有している。
【００６７】
起動スイッチ設定部４３１は、起動するアプリケーションプログラムの実行ファイルの所在を示すパス（ＥＸＥパス）と、当該アプリケーションプログラムの実行において利用されるデータファイルのパスとを起動スイッチに対して設定する。
【００６８】
続いて、上記のように構成されるコンピュータ機器１によるＨＭＩリソース使用率を低下させる動作について説明する。
【００６９】
図４は、コンピュータ機器１における表示部１０の表示面１０ａに表示されたＨＭＩ画像２００を示す図である。図５は、コンピュータ機器１においてアプリケーションプログラムの起動時に行われるＨＭＩリソース使用率を低下させる処理の手順を示すフローチャートである。
【００７０】
ＨＭＩアプリケーションプログラムが実行されることにより、ＨＭＩ制御部８が動作しており、図４に示すように、ＨＭＩ画像２００が表示されている。このＨＭＩ画像２００には、アプリケーションプログラムを起動する起動スイッチ２０１がスイッチ画像として設けられている。通常、１つの起動スイッチ２０１には、１つのアプリケーションプログラムが関連付けられている。他のＨＭＩ画像に設けられた、起動スイッチ２０１と同等の機能を有する起動スイッチにも、１つのアプリケーションプログラムが対応付けられている。すなわち、起動スイッチを有するＨＭＩ画像については、起動スイッチが必ず１つのアプリケーションプログラムと対応付けられている。各起動スイッチに対応付けられるアプリケーションプログラムは、全て異なっていてもよいし、一部または全てが同じであってもよい。
【００７１】
この状態から、図５に示すように、リソース使用率管理部８４のリソース使用率低下準備部８４１が、アプリケーションプログラムを起動させる起動指示が発生したか否かを判定する（ステップＳ１）。起動指示は、ＨＭＩ画像２００における起動スイッチ２０１がコンピュータ機器１の操作者によってタッチされたときに、タッチパネル９から出力されるタッチ信号に基づいて操作制御部８２によって発生する。
【００７２】
リソース使用率低下準備部８４１は、ステップＳ１において、起動指示が発生していない状態（ＮＯ）では、継続して起動指示の有無を監視し、ＨＭＩアプリケーションプログラムは通常動作をする。リソース使用率低下準備部８４１は、起動指示が発生したと判定すると（ＹＥＳ）、ＯＳ７のアプリケーションプログラム実行処理部７３にアプリケーションプログラムの起動を待機するように指示する（ステップＳ２）。
【００７３】
次いで、リソース使用率低下準備部８４１は、ＨＭＩリソース使用率の低下可能幅を計算する（ステップＳ３）。リソース使用率低下準備部８４１は、低下可能幅の計算において、ＯＳ７のリソースモニタ部７１より取得したＨＭＩリソース使用率から、ＨＭＩアプリケーションプログラムの動作に支障を来さない最低限必要なＨＭＩリソース使用率を減算する。
【００７４】
リソース使用率低下実行部８４２は、計算されたＨＭＩリソース使用率の低下可能幅でＨＭＩリソース使用率を低下させる（ステップＳ４）。リソース使用率低下準備部８４１は、リソース使用率低下実行部８４２からＨＭＩリソース使用率の低下が完了したという通知を受けると、アプリケーションプログラム実行処理部７３に、アプリケーションプログラムの起動を実行するように指示を与える（ステップＳ５）。
【００７５】
アプリケーションプログラム実行処理部７３は、上記の指示を受けてアプリケーションプログラムの起動を開始させ（ステップＳ６）、アプリケーションプログラム実行処理部７３は、アプリケーションプログラムの起動が完了したか否かを判定する（ステップＳ７）。アプリケーションプログラム実行処理部７３は、ステップＳ７において、アプリケーションプログラムの起動が完了していない状態（ＮＯ）では、継続してアプリケーションプログラムの起動の完了を監視する。また、アプリケーションプログラム実行処理部７３が、ステップＳ７において、アプリケーションプログラムの起動が完了したと判定すると、リソース使用率低下実行部８４２は、ＨＭＩリソース使用率の低下を解除する（ステップＳ８）。アプリケーションプログラムが起動を完了したときには、リソース使用率低下準備部８４１が、アプリケーションプログラム実行処理部７３から起動完了の通知を受けると、リソース使用率低下実行部８４２にＨＭＩリソース使用率の低下を解除するように指示を与える。これにより、アプリケーションプログラムが起動を完了して通常の動作状態に移行したときには、ＨＭＩリソース使用率が低下前の状態に戻される。そして、ステップＳ８の後には、処理がステップＳ１に移行する。
【００７６】
なお、ステップＳ３において計算された低下可能幅が０である場合、ステップＳ４，Ｓ７，Ｓ８の処理は行われない。
【００７７】
続いて、コンピュータ機器１によるＨＭＩリソース使用率の低下の効果について説明する。ここでは、ＨＭＩリソース使用率としてＣＰＵ１１の使用率（ＣＰＵ使用率）の低下の有無について比較する。
【００７８】
図６は、ＨＭＩリソース使用率を低下させない場合および低下させた場合のそれぞれのアプリケーションプログラムのＣＰＵ使用率の変化を示すグラフである。図６において、上側のグラフは、ＨＭＩリソース使用率を低下させない場合のＣＰＵ使用率の変化を示し、下側のグラフは、ＨＭＩリソース使用率を低下させた場合のＣＰＵ使用率の変化を示している。
【００７９】
なお、ＯＳ７がリソースを使用するため、図６に示される、ＨＭＩリソース使用率と、起動するアプリケーションプログラムのリソース使用率との総計は、１００％にはならない。ここでは、ＯＳ７に２０％のリソースが割り当てられ、アプリケーションプログラムに８０％のリソースが割り当てられている例について説明するが、８０％等の数値はあくまで例示であり、ＯＳ７に割り当てられているリソースの比率および下記に述べる各アプリケーションプログラムに割り当てられているリソースの比率は適宜変化する。
【００８０】
図６の上側のグラフに示すように、実行中のＨＭＩアプリケーションプログラムのＣＰＵ使用率（細線にて示す）をほぼ５０％に維持したまま、アプリケーションプログラムを起動する場合、アプリケーションプログラムの起動には、３０％程度のＣＰＵ使用率（太線にて示す）しかＣＰＵ１１を使用できないため、起動に時間Ｔ１を要する。この場合は、アプリケーションプログラムの起動に割り当てられるリソースが少ないので、アプリケーションプログラムの起動に長時間を要している。
【００８１】
これに対し、図６の下側のグラフに示すように、実行中のＨＭＩアプリケーションプログラムのＣＰＵ使用率（細線にて示す）を２０％程度にまで低下させた状態で、アプリケーションプログラムを起動する場合、アプリケーションプログラムのＣＰＵ使用率（太線にて示す）がほぼ６０％近くにまで確保することができるので、起動時間が時間Ｔ１のほぼ半分の時間Ｔ２まで短縮されている。この場合は、アプリケーションプログラムの起動に割り当てられるリソースが多いので、アプリケーションプログラムの起動時間を大幅に短縮することができる。
【００８２】
以上のように、本実施形態に係るコンピュータ機器１は、リソース使用率低下準備部８４１、リソース使用率低下実行部８４２を含むリソース使用率管理部８４を備えている。これにより、リソース使用率低下準備部８４１は、アプリケーションプログラムの起動待機時のＨＭＩリソース使用率およびＨＭＩアプリケーションプログラムの動作に最低限必要なＨＭＩリソース使用率に基づいて、ＨＭＩリソース使用率の低下可能幅を算出する。リソース使用率低下実行部８４２は、リソース使用率低下準備部８４１によって算出された低下可能幅でＨＭＩリソース使用率を低下させる。
【００８３】
このように、ＨＭＩ制御部８（リソース使用率管理部８４）がＯＳ７から取得した情報に基づいて算出した低下可能幅で、起動するアプリケーションプログラムのサイズに関わらず、ＨＭＩリソース使用率を低下させる。これにより、低下した使用率に応じてＨＭＩアプリケーションプログラムの動作に使用されなくなったリソースが、アプリケーションプログラムの起動のために割り当てられる。アプリケーションプログラムの起動時には、補助記憶装置１４からメインメモリ１２にアプリケーションプログラムをロードするために、リソース使用率が高くなる。それゆえ、低下幅に応じて適切に確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
【００８４】
続いて、本実施形態の変形例について説明する。
【００８５】
本変形例では、ＨＭＩリソース使用率を低下させる要否を判定した上で、低下可能幅の範囲内で最適なＨＭＩリソース使用率の低下幅を決定し、その低下幅でＨＭＩリソース使用率を低下させる。
【００８６】
このため、リソース使用率管理部８４は、アプリケーションプログラムの起動時に、ＨＭＩリソース使用率を低下させるか否かを判定するとともにＨＭＩリソース使用率の低下幅を決定するリソース使用率低下準備部８４１に代えて、図２に示すように、リソース使用率低下準備部８４１ａを有している。また、リソース使用率管理部８４は、アプリケーションプログラムの起動にリソースを優先的に確保する程度である優先度（以降「起動優先度」と称する）を各アプリケーションプログラムに対応付けた起動優先度テーブル８４３を有している。
【００８７】
リソース使用率低下準備部８４１ａは、リソース使用率低下準備部８４１と同様に低下可能幅を計算するだけでなく、上述した全リソース使用率と、起動優先度とに基づいて、ＨＭＩリソース使用率の低下の要否を判定する。リソース使用率低下準備部８４１ａは、上記の起動優先度を、上述した起動優先度テーブル８４３から取得する（後述する「手動モード」）。あるいは、リソース使用率低下準備部８４１ａは、上述したアプリケーションプログラム情報管理部７２から取得した実行ファイルのサイズに基づいて算出する（後述する「自動モード」）。
【００８８】
また、リソース使用率低下準備部８４１ａは、ＨＭＩリソース使用率を低下させる必要があると判定した場合、起動されるアプリケーションプログラムに対応した起動優先度に基づいてＨＭＩリソース使用率の低下幅を決定する。ただし、リソース使用率低下準備部８４１ａは、低下可能幅の範囲内でＨＭＩリソースの低下幅を決定する。
【００８９】
リソース使用率低下実行部８４２（使用率低下実行部）は、リソース使用率低下準備部８４１ａがＨＭＩリソース使用率を低下させる必要があると判定したときに、リソース使用率低下準備部８４１ａによって決定された低下幅でＨＭＩリソース使用率を低下させる。
【００９０】
起動優先度テーブル８４３は、ＨＭＩアプリケーションプログラム以外のアプリケーションプログラムと起動優先度とを１対１に対応付けたテーブルである。起動優先度は、例えば、高、中、低の３段階が設けられるが、これには限定されない。また、起動優先度テーブル８４３における起動優先度は、後述するようにユーザによって予め設定されるのが通常である。
【００９１】
ＰＣ４において、画像データ作成部４３は、上述の起動優先度を設定する起動優先度設定部４３２を有している。
【００９２】
起動スイッチ設定部４３１は、起動するアプリケーションプログラムの実行ファイルの所在を示すパス（ＥＸＥパス）と、当該アプリケーションプログラムの実行において利用されるデータファイルのパスとを起動スイッチに対して設定する。
【００９３】
起動優先度設定部４３２は、起動優先度を設定するために、図３に示すような、ＨＭＩリソース使用率を低下させる対象となるアプリケーションプログラムと起動優先度との対応付けに用いられるダイアログボックス１００を表示部４２に表示させる。ダイアログボックス１００は、自動モードおよび手動モードのいずれか一方を選択するラジオボタン１０１を有している。
【００９４】
自動モードは、上述のように、リソース使用率低下準備部８４１がアプリケーションプログラム情報管理部７２から取得した実行ファイルのサイズに基づいて起動優先度を算出するモードである。手動モードは、ユーザが起動優先度を設定するモードである。
【００９５】
また、起動優先度設定部４３２は、アプリケーションプログラムの実行ファイルの名称（ＥＸＥ名）を入力する名称入力ボックス１０２と、起動優先度を選択するドロップダウンリスト１０３とを有している。名称入力ボックス１０２とドロップダウンリスト１０３とは対をなしており、それぞれ複数設けられている。
【００９６】
起動優先度設定部４３２は、ダイアログボックスに入力されたＥＸＥ名と起動優先度との対応付けをテーブル形式のデータファイルとして作成し、コンピュータ機器１に転送する。このデータファイルには、設定されたモード（自動モードまたは手動モード）のデータも含まれている。
【００９７】
上記のように構成される変形例のコンピュータ機器１によるＨＭＩリソース使用率を低下させる動作について説明する。
【００９８】
図７に示すように、図５に示すステップＳ３とステップＳ４との間に、ステップＳ３１〜Ｓ３３の処理が追加される点が、上述の実施形態と異なる。また、コンピュータ機器１において、ＨＭＩアプリケーションプログラムが実行されるときに、起動優先度が設定された上述のデータファイルが読み込まれることにより、リソース使用率管理部８４が起動優先度テーブル８４３を備えるようになる。
【００９９】
ステップＳ２の後、リソース使用率低下準備部８４１ａは、ＨＭＩアプリケーションプログラムを含む全ての実行中のアプリケーションプログラムについての全リソース使用率を、ＡＰＩ（Application Program Interface）を利用してＯＳ７のリソースモニタ部７１から取得する（ステップＳ３）。リソース使用率低下準備部８４１は、取得した全リソース使用率と起動優先度とに基づいて、ＨＭＩリソース使用率の低下の必要であるか否かを判定する（ステップＳ３１）。
【０１００】
リソース使用率低下準備部８４１ａは、全リソース使用率と起動優先度との関係に基づいて、ＨＭＩリソース使用率の低下の要否を判定する。例えば、全リソース使用率が比較的低く余裕があり（所定の使用率以下）、かつ起動優先度が低い場合、リソース使用率低下準備部８４１ａは、ＨＭＩリソース使用率の低下が必要ないと判定する。また、全リソース使用率が所定の使用率を超え、かつ起動優先度が中程度または高い場合、リソース使用率低下準備部８４１ａは、ＨＭＩリソース使用率の低下が必要であると判定する。リソース使用率低下準備部８４１ａによるＨＭＩリソース使用率の低下の要否判定については、この判定方法に限定されない。
【０１０１】
手動モードが設定されている場合、リソース使用率低下準備部８４１ａは、ステップＳ４の判定において、起動優先度テーブル８４３から取得した起動優先度を用いる。一方、自動モードが設定されている場合、リソース使用率低下準備部８４１ａは、ステップＳ３２の判定において、アプリケーションプログラム情報管理部７２からＡＰＩを利用して取得した実行ファイルのサイズに基づいて起動優先度を決定して用いる。具体的には、リソース使用率低下準備部８４１ａは、実行ファイルのサイズが第１閾値より大きいと判断したときに、起動優先度を「高」に決定する。また、リソース使用率低下準備部８４１ａは、実行ファイルのサイズが、第１閾値以下であり、かつ第１閾値より小さい第２閾値以上であると判断したときに、起動優先度を「中」に決定する。そして、リソース使用率低下準備部８４１ａは、実行ファイルのサイズが第２閾値より小さいと判断したときに、起動優先度を「低」に決定する。なお、自動モードにおける起動優先度の決定方法は、上記の例に限定されず、種々の方法が採用できる。
【０１０２】
リソース使用率低下準備部８４１ａは、ステップＳ３２において、ＨＭＩリソース使用率の低下が必要であると判定すると（ＹＥＳ）、上記の判定に用いた起動優先度に基づいて、計算したＨＭＩリソース使用率の低下可能幅の範囲内でＨＭＩリソース使用率の低下幅を決定する（ステップＳ３３）。例えば、リソース使用率低下準備部８４１ａは、必要な低下幅が、低下可能幅以上である場合、低下可能幅を必要な低下幅として決定し、必要な低下幅が低下可能幅より小さい場合は、必要な低下幅を低下幅として決定する。
【０１０３】
そして、ステップＳ６において、リソース使用率低下実行部８４２は、決定されたＨＭＩリソース使用率の低下幅でＨＭＩリソース使用率を低下させる。
【０１０４】
また、リソース使用率低下準備部８４１は、ステップＳ３２において、ＨＭＩリソース使用率の低下の必要でないと判定すると（ＮＯ）、処理をステップＳ５に移行する。
【０１０５】
ここで、ステップＳ３３の処理の詳細について説明する。
【０１０６】
リソース使用率低下準備部８４１ａは、まず、全リソース使用率の下記の３つの大きさに応じてＨＭＩリソース使用率の低下幅を調整する。
【０１０７】
なお、ここでは、ＨＭＩアプリケーション使用率の低下可能幅が十分に大きい場合について説明する。
【０１０８】
（１）全リソース使用率が高い場合
この場合は、ＨＭＩアプリケーションプログラム以外に他のアプリケーションプログラムが実行されており、他のアプリケーションプログラムのリソース使用率が高いことが考えられるので、ＨＭＩリソース使用率の低下幅を大きくする（例えば低下可能幅の１００％）。これにより、実行中のアプリケーションプログラムの実行速度を低下させることなく、アプリケーションプログラムを円滑に起動できるリソースを確保することができる。
【０１０９】
（２）全リソース使用率に占めるＨＭＩリソース使用率が高い場合
この場合は、ＨＭＩアプリケーションプログラム以外に他のアプリケーションプログラムが実行されてないか、あるいは実行されていても他のアプリケーションプログラムのリソース使用率が低いことが考えられるので、ＨＭＩリソース使用率の低下幅を中程度にする（例えば低下可能幅の４０％）。これにより、アプリケーションプログラムを円滑に起動できるリソースを確保することができる。
【０１１０】
（３）全リソース使用率に占めるユーザ権限実行プロセスのリソース使用率が高い場合
リソースを使用するプロセスには、アプリケーションプログラムが実行されることによって実行されるユーザ権限実行プロセスと、ＯＳ７が実行するプロセスがある。このうち、ＯＳ７が実行するプロセスは、上述のように一定の割合で使用できるリソースが割り当てられている。これに対し、ユーザ権限で実行されているプロセスは、アプリケーションプログラムの起動によってリソースの余裕が少なくなって動作に影響を受けることがあっても、支障のないことが多い。そこで、この場合は、ＨＭＩリソース使用率の低下幅を小さくする（例えば低下可能幅の２０％）。これにより、アプリケーションプログラムの起動に割り当てることができるリソースを増やすことができる。
【０１１１】
上記のように、ＨＭＩリソース使用率の低下幅の調整を全リソース使用率に基づいて行うことにより、リソースの使用実態に即してアプリケーションプログラムの起動に割り当てることができるリソースを増やすことができる。
【０１１２】
なお、上記の各場合について付記したＨＭＩリソース使用率の低下幅の値は、一例であって、これには限定されない。ＨＭＩリソース使用率の低下幅は、リソースの総量（ＣＰＵ１１の能力およびメインメモリ１２の容量）に基づいて決定されるからである。
【０１１３】
また、リソース使用率低下準備部８４１は、ＨＭＩリソース使用率が同じである場合、起動優先度が高いほどＨＭＩリソース使用率の低下幅が大きくなるように、ＨＭＩリソース使用率の低下幅を決定するが、（１）〜（３）の場合について、それぞれ起動優先度に応じた調整を行う。例えば、（１）〜（３）の場合でそれぞれ定められた低下幅を、起動優先度が高い場合にはより大きくし、起動優先度が中である場合には維持し、起動優先度が低い場合にはより小さくする。
【０１１４】
このように、起動優先度を反映させることにより、ＨＭＩリソース使用率の低下幅を、アプリケーションプログラムの起動に適した値に調整することができる。
【０１１５】
以上のように、本変形例に係るコンピュータ機器１は、リソース使用率低下準備部８４１ａ、リソース使用率低下実行部８４２および起動優先度テーブル８４３を含むリソース使用率管理部８４を備えている。これにより、リソース使用率低下準備部８４１ａは、アプリケーションプログラムの起動時に、全リソース使用率および起動優先度に基づいて、ＨＭＩリソース使用率を低下させるか否かを判定するとともに、ＨＭＩリソース使用率を低下させると判定したときのＨＭＩリソース使用率の低下幅を決定する。リソース使用率低下実行部８４２は、リソース使用率低下準備部８４１によってＨＭＩリソース使用率を低下させる必要があると判定されたときに、リソース使用率低下準備部８４１によって決定された低下幅でＨＭＩリソース使用率を低下させる。
【０１１６】
このように、ＨＭＩ制御部８（リソース使用率管理部８４）がＯＳ７から情報を取得して、全リソース使用率および起動優先度に応じてＨＭＩリソース使用率を低下させる。これにより、低下した使用率に応じてＨＭＩアプリケーションプログラムの動作に使用されなくなったリソースが、アプリケーションプログラムの起動のために割り当てられる。それゆえ、起動優先度の高いアプリケーションプログラムでは、リソースの割り当てを多くし、起動優先度の低いアプリケーションプログラムではリソースの割り当てを少なくすることができる。
【０１１７】
アプリケーションプログラムの起動時には、補助記憶装置１４からメインメモリ１２にアプリケーションプログラムをロードするために、リソース使用率が高くなる。それゆえ、低下幅に応じて適切に確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
【０１１８】
これは、特にサイズの大きいアプリケーションプログラムに対して有効である。例えば、動画を再生する動画再生アプリケーションプログラム、ＰＬＣ機能を汎用のパーソナルコンピュータで実現するＰＬＣアプリケーションプログラム（いわゆる「ソフトウェアＰＬＣ」）などのサイズの大きいアプリケーションプログラムを短時間で起動することができる。また、上記のアプリケーションプログラムほどリソース使用率が高くないＰＤＦ（Portable Document Format）プログラムや表計算プログラムのようなアプリケーションプログラムについては、ＨＭＩリソース使用率の低下幅を小さくする。そして、テキスト作成アプリケーションプログラムなどのリソース使用率が低いアプリケーションプログラムについては、ＨＭＩリソース使用率の低下幅をさらに小さくする。
【０１１９】
また、自動モードにおいては、リソース使用率低下準備部８４１が、アプリケーションプログラム情報管理部７２から取得した実行ファイルのサイズに基づいて起動優先度を算出する。これにより、ユーザによる起動優先度の設定が必要なく、実行ファイルのサイズの大きいアプリケーションプログラムであるほど、大きいＨＭＩリソース使用率の低下幅が定められる。
【０１２０】
一方、手動モードにおいては、リソース使用率低下準備部８４１が、起動優先度テーブル８４３からユーザによって設定された起動優先度を取得する。これにより、ユーザが所望に設定した起動優先度に基づいて、ＨＭＩリソース使用率を低下させることができる。また、例えば、上述のようなサイズの大きいアプリケーションプログラムであっても、起動時間を短縮する必要がない場合には、起動優先度を設定しないことも可能となる。
【０１２１】
なお、本実施形態では、ＣＰＵ１１およびメインメモリ１２の双方のＨＭＩリソース使用率を低下させるが、これには限定されない。例えば、メインメモリ１２の容量が十分大きい場合は、ＣＰＵ１１のみのＨＭＩリソース使用率を低下させてもよいし、高性能のＣＰＵ１１を使用する場合は、メインメモリ１２のみのＨＭＩリソース使用率を低下させてもよい。
【０１２２】
また、本実施形態では、起動優先度を定めるモードとして自動モードと手動モードとを選択できるようにしているが、自動モードおよび手動モードとは異なる規定モードを設け、これらの３つのモードから１つを選択できるようにしてもよい。規定モードは、アプリケーションプログラムごとに予め定められた規定の起動優先度を用いるモードである。
【０１２３】
そして、本実施形態では、起動スイッチ２０１の操作によってアプリケーションプログラムを起動させる例について説明したが、アプリケーションプログラムの起動はこれに限定されない。例えば、起動スイッチ２０１の操作以外の何らかのトリガ、例えば、制御機器２またはＩ／Ｏ機器３から取得するデータ（ビット、数値など）の変化に応じてアプリケーションプログラムを起動するようにしてもよい。
【０１２４】
〔実施形態２〕
本発明の他の実施形態について図１、図８および図９に基づいて説明すると、以下の通りである。なお、本実施形態において、実施形態１における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【０１２５】
ＨＭＩアプリケーションプログラムは、シングルタスクから構成されるものもあるが、複数のタスクから構成されるものもある。本実施形態では、ＨＭＩアプリケーションプログラムが複数のタスクから構成されている場合、ＨＭＩアプリケーションプログラムのタスクに応じてＨＭＩリソース使用率の低下が可能か否か定めるようにしている。
【０１２６】
ここで、各タスクが使用するリソースの使用率は、各タスクが使用するリソースの使用量の、リソースの総量に対する比率であるタスクリソース使用率（タスク計算機資源使用率）で規定される。また、ＨＭＩリソース使用率は、タスクリソース使用率の全てのタスクについての総計である。
【０１２７】
図８は、本実施形態に係るコンピュータ機器１Ａの構成を示すブロック図である。図９は、コンピュータ機器１Ａに設けられた使用率低下可否テーブル８４４の構成を示す図である。
【０１２８】
図１に示すように、コンピュータ機器１Ａ（計算機資源使用制御装置）は、実施形態１におけるコンピュータ機器１と同様、ＣＰＵ１１と、メインメモリ１２と、ＲＯＭ１３と、補助記憶装置１４と、入力部１５と、出力部１６と、インターフェース部１７とを備えている。また、図８に示すように、コンピュータ機器１Ａは、コンピュータ機器１と同様、ＯＳ７が実装されるとともに、入力部１５としてタッチパネル９が設けられ、出力部１６として表示部１０が設けられているが、ＨＭＩ制御部８（図２参照）の代わりにＨＭＩ制御部８Ａが設けられている。
【０１２９】
ＨＭＩ制御部８Ａは、ＨＭＩ制御部８と同様、通信制御部８１、操作制御部８２および表示制御部８３を有しているが、リソース使用率管理部８４に代えてリソース使用率管理部８４Ａを有している。リソース使用率管理部８４Ａは、リソース使用率管理部８４と同様、リソース使用率低下準備部８４１、リソース使用率低下実行部８４２および起動優先度テーブル８４３を有している。リソース使用率管理部８４Ａは、さらにタスクリソース使用率の低下の可否およびタスクの停止の可否をＨＭＩアプリケーションプログラムのタスクごとに定めた使用率低下可否テーブル８４４を有している。
【０１３０】
使用率低下可否テーブル８４４は、図９に示すように、タスクリソース使用率の低下の可否およびタスクの停止の可否をＨＭＩアプリケーションプログラムのタスクごとに定めたテーブルである。ここで、使用率低下の“×”は、タスクリソース使用率を低下させるリソース低下率が０％であることを意味し、タスクの停止は、タスクがその処理を行わない状態であり、リソース低下率が１００％であることを意味する。
【０１３１】
図９に示す例では、Ａタスクは、停止が可能（○）であるので、タスクリソース使用率の低下も可能（○）であり、ＢタスクおよびＣタスクはＨＭＩリソース使用率の低下のみが可能（○）であり、Ｄタスクは停止およびタスクリソースの使用率低下の双方が不可能（×）である。また、使用率低下可否テーブル８４４は、タスクリソース使用率の低下が可能なタスクについては、最大低下可能率であるリソース低下可能率も併せ持つ。また、ＢタスクとＣタスクとでは低下可能率が異なり、Ｂタスクの低下可能率がＣタスクの低下可能率より大きい。
【０１３２】
なお、以降の説明では、タスクリソース使用率の低下および停止のいずれもが可能なタスクを停止可能タスクと称し、タスクリソース使用率の低下のみが可能なタスクを使用率低下可能タスクと称する。
【０１３３】
リソース使用率管理部８４Ａにおいて、リソース使用率低下実行部８４２は、使用率低下可否テーブル８４４を参照して、ＨＭＩアプリケーションプログラムのタスクのうち、リソース使用率低下準備部８４１によって決定された低下幅を満たすように、停止可能タスクおよび使用率低下可能タスクの少なくとも一方を選択し、選択した停止可能タスクを停止させ、選択した使用率低下可能タスクのタスクリソース使用率を低下させる。
【０１３４】
使用率低下可能タスクとしては、データサンプリングタスク、アラームタスクなどが挙げられ、停止可能タスクとしては、遠隔モニタリングタスク、画像表示タスク、アラームタスクなどが挙げられる。
【０１３５】
データサンプリングタスクは、制御機器２などから一定周期でデータを収集するタスクである。データサンプリングタスクは、一時的に処理をしない状態となったり、遅くしたり（処理周期の長期化）、スキップ（間引き）したりすることでサンプリングのタイミングがずれても、システム稼働上は致命的な欠陥とはならない場合があり、そのような場合に使用率低下可能タスクとして扱うことができる。
【０１３６】
遠隔モニタリングタスクは、遠隔地からＨＭＩ制御部８の動作状況をモニタリングするタスクである。遠隔モニタリングタスクは、一時的に中断しても、すなわちアプリケーションが起動する数秒〜数十秒間中断しても、システム稼働に致命的な影響を及ぼさないので、停止可能なタスクとして扱うことができる。
【０１３７】
画像表示タスクは、表示制御部８３が行う画像表示処理のタスクであり、一時的に停止しても差し支えない場合は、停止可能なタスクとして扱うことができる。
【０１３８】
アラームタスクは、コンピュータ機器１Ａの内部、制御機器２などで発生したアラームを取得して必要に応じて出力するタスクである。アラームタスクは、アラームに対して即時に対応するためにリアルタイムにアラームを発報する必要があるようなシステム設計がされている場合は一時停止できない。しかしながら、アラームタスクは、このようなシステム設定がされていない場合、一時停止可能であるので、停止可能なタスクとして扱うことができる。
【０１３９】
データ通信タスク、Ｉ／Ｏ制御タスクなどの、システム稼働の都合上で停止させることもタスクリソース使用率を低下させることもできない重要なタスクは、停止可能タスクおよび使用率低下可能タスクとして扱うことができない。
【０１４０】
以上の各タスクの扱いは、あくまでも例示であって、使用率低下可能タスクおよび停止可能タスクは、ユーザの使用環境やシステム、その他各種条件によって適宜設定可能である。
【０１４１】
上記のように構成されるコンピュータ機器１Ａにおいて、リソース使用率低下実行部８４２は、ＨＭＩリソース使用率を低下させる際にタスク単位でリソース使用率を低下させる。リソース使用率低下実行部８４２は、使用率低下可否テーブル８４４を参照して、まず、停止可能タスクのみでＨＭＩリソース使用率の低下幅を満たすことができるか判定する。また、リソース使用率低下実行部８４２は、停止可能タスクのみでＨＭＩリソース使用率の低下幅を満たすことができないと判定した場合には、選択したタスクのリソース低下率の総和がＨＭＩリソース使用率の低下幅を超えるまで、さらに使用率低下可能タスクをリソース低下率が高いものから選択していく。これにより、ＨＭＩリソース使用率の低下幅の広い範囲に対してＨＭＩリソース使用率を低下させることができる。
【０１４２】
あるいは、リソース使用率低下実行部８４２は、ＨＭＩリソース使用率をタスク単位で低下させるときに、使用率低下可否テーブル８４４を参照して、まず、使用率低下可能タスクのみでＨＭＩリソース使用率の低下幅を満たすことができるか判定する。また、リソース使用率低下実行部８４２は、使用率低下可能タスクのみでＨＭＩリソース使用率の低下幅を満たすことができないと判定した場合には、選択したタスクのリソース低下率の総和がＨＭＩリソース使用率の低下幅を超えるまで、さらに停止可能タスクをリソース低下率が高いものから選択していく。これにより、ＨＭＩリソース使用率の低下幅の広い範囲に対してＨＭＩリソース使用率を低下させることができるだけでなく、停止させるタスクをできるだけ少なくすることができる。
【０１４３】
また、リソース使用率低下実行部８４２は、使用率低下可能タスクのみでＨＭＩリソース使用率の低下幅を満たすことができないと判定した場合には、重要度の低いタスクから順にタスクリソース使用率をこれらのタスクリソース使用率の総計分だけ低下させ、タスクリソース使用率を低下させることが可能なタスクであっても重要度の高いタスクの前記タスク計算機資源使用率を低下させない。
【０１４４】
ところで、低下可能なタスクリソース使用率の総計であるＨＭＩリソース使用率低下可能幅、すなわちＨＭＩリソース使用率の低下の上限は、タスクリソース使用率を低下することができないタスクが多く存在するほど低くなる。したがって、ＨＭＩリソース使用率の低下の上限が低い場合、すなわちタスクリソース使用率を低下させずに動作させるタスクが多数存在する場合、起動するアプリケーションプログラムのサイズによっては、ＨＭＩリソース使用率の必要な低下幅を満たす程度にＨＭＩリソース使用率を低下させることができないことがある。このように必要な低下幅を満たすことができない場合、リソース使用率低下実行部８４２は、採り得る最大の低下幅を実現するように、使用率低下可能タスクおよび停止可能タスクを選択する。
【０１４５】
一方、ＨＭＩリソース使用率の必要な低下幅よりもＨＭＩリソース使用率低下可能幅が大きい場合、リソース使用率低下実行部８４２は、停止可能タスクおよび使用率低下可能タスクの選択において、優先度の低い順から低下あるいは停止の選択をしていってもよい。例えば、優先度は、停止およびリソース使用率低下がシステム稼働に与える影響、システム設計などに応じて適宜設定される。この優先度は、使用率低下可否テーブル８４４においてタスクごとに設定される。
【０１４６】
なお、ＨＭＩ制御部８Ａは、図７に示すステップＳ３１〜Ｓ３３の処理を行わない場合、タスクの停止および使用率低下を可能な全てのタスクに対して行い、それに応じて確保されたリソースをアプリケーションプログラムの起動に割り当てることもある。
【０１４７】
以上のように、本実施形態に係るコンピュータ機器１Ａは、リソース使用率低下準備部８４１、リソース使用率低下実行部８４２、起動優先度テーブル８４３および使用率低下可否テーブル８４４を含むリソース使用率管理部８４Ａを備えている。
【０１４８】
これにより、コンピュータ機器１と同様、リソース使用率低下準備部８４１が、アプリケーションプログラムの起動時に、ＨＭＩリソース使用率を低下させるか否かを判定するとともに、ＨＭＩリソース使用率の低下時のＨＭＩリソース使用率の低下幅を決定し、リソース使用率低下実行部８４２が、ＨＭＩリソース使用率の低下時に上記の低下幅でＨＭＩリソース使用率を低下させる。それゆえ、起動優先度に応じてアプリケーションプログラムの起動のために必要なリソースが確保される。したがって、確保されたリソースを用いて、アプリケーションプログラムを円滑に起動することができる。
【０１４９】
また、リソース使用率低下実行部８４２が、使用率低下可否テーブル８４４を参照して、ＨＭＩリソース使用率の低下幅に見合う、停止可能タスクおよび／または使用率低下可能タスクを適宜選択する。これにより、選択したタスクについてのみ停止またはＨＭＩリソース使用率を低下させて、ＨＭＩアプリケーションプログラムの根幹をなすシステム稼働上で重要なタスクのＨＭＩリソース使用率を低下させないようにすることができる。これにより、ＨＭＩ制御部８Ａの機能が完全に停止するという事態を回避しながら、アプリケーションプログラムの起動のために必要なリソースを確保することができる。
【０１５０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１５１】
本発明は、ＨＭＩアプリケーションプログラムと他のアプリケーションプログラムとを併せて実行する汎用のコンピュータ機器に利用することができる。
【符号の説明】
【０１５２】
１，１Ａ  コンピュータ機器（計算機資源使用制御装置）
８，８Ａ  ＨＭＩ制御部
１１  ＣＰＵ
１２  メインメモリ
８４，８４Ａ  リソース使用率管理部
８４１  リソース使用率低下準備部（低下可能幅計算部）
８４２  リソース使用率低下実行部（使用率低下実行部）
８４３  起動優先度テーブル
８４４  使用率低下可否テーブル
【図１】
2016153986.tif 000003
【図２】
2016153986.tif 000004
【図３】
2016153986.tif 000005
【図４】
2016153986.tif 000006
【図５】
2016153986.tif 000007
【図６】
2016153986.tif 000008
【図７】
2016153986.tif 000009
【図８】
2016153986.tif 000010
【図９】
2016153986.tif 000011