(57)【要約】【課題】各デバイスを初期化するよりも、起動時のＢＩＯＳの処理終了までの時間を短くすることを目的とする。【解決手段】所定のデバイスと接続される端末装置であって、前記デバイスの使用頻度を監視する監視部と、前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する制御部と、を有する端末装置が提供される。【選択図】図２
2018097799.tif 000002
【特許請求の範囲】
【請求項１】
所定のデバイスと接続される端末装置であって、
前記デバイスの使用頻度を監視する監視部と、
前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する制御部と、
を有する端末装置。
【請求項２】
前記端末装置のシャットダウン時に、前記監視部は、前記記憶部に記憶したデバイス毎の使用頻度情報からデバイス毎の初期化の有無を示す初期化リストを更新し、
前記制御部は、シャットダウン後の次の前記端末装置の起動時に、更新した前記初期化リストを使用して有効化すべきとしたデバイスを初期化する、
請求項１に記載の端末装置。
【請求項３】
前記監視部は、前記有効化されていないデバイスの復帰要求を受け付け、
前記制御部は、前記復帰要求を受け付けたデバイスを初期化する、
請求項１又は２に記載の端末装置。
【請求項４】
端末装置のデバイスの使用頻度を監視する処理と、
前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する処理と、
をコンピュータに実行させるためのデバイス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及びデバイス制御プログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）の起動時、ＢＩＯＳ（Basic Input/Output System）はＰＯＳＴ（Power-On Self Test）を実行し、周辺機器（以下、「デバイス」という。）の初期化を実行する。デバイスの初期化処理が実行されると、そのデバイスは有効な状態となる。例えば、光ディスクドライブ（ＯＤＤ：Optical Disk Drive）をデバイスの一例として挙げると、ＢＩＯＳが、ＰＯＳＴにおいて光ディスクドライブの初期化処理を行うと、光ディスクドライブは有効な状態となり、書き込み及び読み出しが可能になる。
【０００３】
デバイスの初期化の一例としては、デバイスがＰＣに接続されていることを検出したとき、そのデバイスを初期化する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２２７０７６号公報
【特許文献２】特開２０００−２９８５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＰＣに接続されているすべてのデバイスを初期化し、すべてのデバイスを有効な状態にすると、起動時のＢＩＯＳの処理が終了し、ＯＳの起動が完了するまでに時間がかかる。
【０００６】
そこで、１つの側面では、本発明は、各デバイスを初期化するよりも、起動時のＢＩＯＳの処理終了までの時間を短くすることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、所定のデバイスと接続される端末装置であって、前記デバイスの使用頻度を監視する監視部と、前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する制御部と、を有する端末装置が提供される。
【発明の効果】
【０００８】
１つの側面では、本発明は、各デバイスを初期化するよりも、起動時のＢＩＯＳの処理終了までの時間を短くすることができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る端末装置のハードウェア構成の一例を示す図。
【図２】一実施形態に係る端末装置の機能構成の一例を示す図。
【図３】一実施形態に係る使用頻度情報テーブルの一例を示す図。
【図４】一実施形態に係るルール設定テーブルの一例を示す図。
【図５】一実施形態に係る初期化リストの一例を示す図。
【図６】一実施形態に係る使用状況監視処理の一例を示すフローチャート。
【図７】一実施形態に係る起動からシャットダウン処理の一例を示すフローチャート。
【図８】一実施形態に係る初期化処理の一例を示すフローチャート。
【図９】一実施形態に係る初期化の割り込み処理の一例を示すフローチャート。
【図１０】一実施形態に係るシステムの全体構成の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１１】
［装置のハードウェア構成］
まず、本発明の一実施形態に係る端末装置１００のハードウェア構成の一例について、図１を参照しながら説明する。端末装置１００は、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯情報端末、ウェアラブルコンピュータ等であってもよい。
【００１２】
端末装置１００は、ＣＰＵ（Central Processing Unit）１、チップセット２、メモリ３、フラッシュＲＯＭ（Read Only Memory）４、ディスクコントローラ５、電源（電源マイコンを含む）７、グラフィックスコントローラ８、入出力コントローラ１０、ＵＳＢ（Universal Serial Bus）ホストコントローラ１２を有する。
【００１３】
ディスクコントローラ５には、ハードディスク６が接続されている。グラフィックスコントローラ８には、ディスプレイ９が接続されている。入出力コントローラ１０には、キーボード１１が接続されている。ＵＳＢホストコントローラ１２には、ＵＳＢポート１３を介してＵＳＢデバイス１４が接続されている。
【００１４】
チップセット２は、端末装置１００の全体を制御する。チップセット２は、ＣＰＵ１と接続されている。また、チップセット２は、バスＢを介して、メモリ３、フラッシュＲＯＭ４、ディスクコントローラ５、電源７、グラフィックスコントローラ８、入出力コントローラ１０及びＵＳＢホストコントローラ１２と接続されている。更に、バスＢには、例えばＰＣＩ  Ｅｘｐｒｅｓｓ又はＰＣＩ等の拡張スロット１５が接続されている。
【００１５】
フラッシュＲＯＭ４には、ＢＩＯＳ４１が実装される。ＢＩＯＳ４１は、電源７がオンされた起動時にＰＯＳＴ（自己診断テスト）を実行し、デバイスの初期化を行う。
【００１６】
フラッシュＲＯＭ４にはＮＶＲＡＭ  Ｖａｒｉａｂｌｅと呼ばれる不揮発性の記録領域（以下、「Ｖａｒｉａｂｌｅ４２」という。）が確保されている。Ｖａｒｉａｂｌｅ４２は、外部からアクセスすることはできないため、Ｖａｒｉａｂｌｅ４２に記録される情報のセキュリティは高い。Ｖａｒｉａｂｌｅ４２には、デバイス毎に初期化すべきか否かの情報が保持された初期化リストを記録してもよい。
【００１７】
ディスクコントローラ５は、チップセット２を介してＣＰＵ１からの指示に従ってＨＤＤ６を制御し、種々のプログラムや種々のデータの入出力を実行する。ＨＤＤ６には、ＯＳ６１が実装される。また、ＨＤＤ６にはデバイスの使用頻度を監視する監視アプリケーション（以下、「監視アプリ」という。）が格納されている。
【００１８】
グラフィックスコントローラ８は、チップセット２を介してＣＰＵ１からの指示に従ってディスプレイ９を制御し、種々の画面表示を実行する。入出力コントローラ１０は、チップセット２を介してＣＰＵ１からの指示に従ってキーボード１１を制御し、キーボード１１からの入力を実行する。
【００１９】
ＵＳＢホストコントローラ１２は、チップセット２を介してＣＰＵ１からの指示に従ってＵＳＢポート１３を制御し、ＵＳＢポート１３に接続されたＵＳＢデバイス１４についての入出力を実行する。ＵＳＢポート１３には、例えばマウス、プリンタ、送受信装置等のＵＳＢデバイス１４が接続される。
【００２０】
端末装置１００の電源７が投入されると、フラッシュＲＯＭ４に格納されたＢＩＯＳ４１は、ＰＯＳＴを開始する。ＰＯＳＴには、デバイスの初期化が含まれる。図１の例では、端末装置１００に接続され、初期化の対象となるデバイスは、ＵＳＢデバイス１４、キーボード１１、ディスプレイ９、PCI Expressなどのバス・インターフェースに接続された内蔵デバイスである。端末装置１００に接続され、初期化の対象となるデバイスの他の例としては、オーディオ（Ａｕｄｉｏ）、ＬＡＮ（Local Area Network）、ＷＬＡＮ（Wireless LAN）、タッチパネル（Touch Panel）、光ディスクドライブ（ＯＤＤ）、指紋センサ等が挙げられる。
【００２１】
ＢＩＯＳ４１は、ＰＯＳＴが完了すると、ＨＤＤ６からＯＳ６１を読み出して、メモリ３上に常駐させ、ＯＳ６１を起動する。
【００２２】
ＣＰＵ１は、メモリ３上のアプリケーションプログラムを実行する。アプリケーションプログラムは、例えば、ＣＤ−ＲＯＭやＤＶＤ等の記録媒体に格納され、記録媒体からＣＤ−ＲＯＭドライブやＤＶＤドライブ等を介してＨＤＤ６に入力され、ＨＤＤ６からメモリ３にロードされる。例えば、ＣＰＵ１は、ＨＤＤ６に記憶されたデバイスの使用頻度を監視するための監視アプリ６２をメモリ３にロードし、デバイス毎の使用頻度を監視する。
【００２３】
［装置の機能構成］
次に、一実施形態に係る端末装置１００の機能構成の一例について、図２を参照しながら説明する。端末装置１００は、ＢＩＯＳ処理部２１、オン・オフ制御部２２、ＯＳ処理部２３、監視部２４及び記憶部２５を有する。オン・オフ制御部２２は、ＢＩＯＳ処理部２１の一機能である。監視部２４は、ＯＳ処理部２３の一機能である。
【００２４】
記憶部２５は、使用頻度情報テーブル２６、ルール設定テーブル２７、初期化リスト２８及びデバイス制御プログラム２９を記憶する。
【００２５】
図３は、一実施形態に係る使用頻度情報テーブル２６の一例を示す。使用頻度情報テーブル２６は、デバイス毎の使用頻度情報を記憶する。図３では、使用頻度情報テーブル２６は、デバイス２６ａ毎のオン時間の割合２６ｄを記憶する。オン時間の割合２６ｄは、オン時間２６ｂとオフ時間２６ｃに記憶された時間の合計に対するオン時間の割合である。図３では、使用頻度情報テーブル２６には、オーディオ（Ａｕｄｉｏ）、ＬＡＮ（Local Area Network）、ＷＬＡＮ（Wireless LAN）、タッチパネル（Touch Panel）、光ディスクドライブ（ＯＤＤ）、指紋センサの各デバイス２６ａについて、デバイス毎にオン時間２６ｂ、オフ時間２６ｃ、オン時間の割合２６ｄが記憶されている。
【００２６】
図２に戻り、監視部２４は、デバイスの使用頻度を監視する。つまり、使用頻度情報テーブル２６の各デバイスのオン時間２６ｂ、オフ時間２６ｃ及びオン時間の割合２６ｄは、監視部２４によって更新される。例えば、デバイスがオーディオの場合、監視部２４は、オーディオがミュートの時間をオフ時間２６ｃに加算し、音量出力時間をオン時間２６ｂに加算する。
【００２７】
ＯＳ処理部２３は、ＨＤＤ６１に記憶された監視アプリ６２等のアプリケーションを実行する。ＯＳ処理部２３は、例えばＯＳ６１により実現可能である。監視部２４は、例えばＯＳ６１上にて監視アプリ６２を起動させることにより実行可能である。
【００２８】
ＢＩＯＳ処理部２１は、端末装置１００起動時のＰＯＳＴ処理やＯＳを起動させるための処理を行う。ＢＩＯＳ処理部２１は、例えばＢＩＯＳ４１により実現可能である。オン・オフ制御部２２は、デバイス毎の使用頻度情報に基づき各デバイスの初期化を制御する。オン・オフ制御部２２によりデバイスが初期化された場合、そのデバイスは有効化された状態になる。オン・オフ制御部２２によりデバイスが初期化されなかった場合には、そのデバイスは無効化された状態になる。
【００２９】
具体的には、オン・オフ制御部２２は、デバイス毎の使用頻度情報から有効化すべきかをデバイス毎に判定した初期化リスト２８に基づき各デバイスの初期化を制御する。
【００３０】
初期化リスト２８は、使用頻度情報テーブル２６とルール設定テーブル２７に設定された閾値に基づき作成される。オン・オフ制御部２２は、次回の端末装置１００の起動時に初期化リスト２８を参照して、各デバイスが有効化すべきかを判断し、有効化すべきデバイスのみ初期化する。初期化されなかったデバイスは、無効になる。これにより、起動時に各デバイスの有効又は無効の切り替えが行われる。
【００３１】
図４は、一実施形態に係るルール設定テーブル２７の一例を示す。図５は、一実施形態に係る初期化リスト２８の一例を示す。ルール設定テーブル２７は、デバイスの監視方法や閾値を保持する。図４の例では、ルール設定テーブル２７は、デバイス２７ａ、監視方法２７ｂ、閾値２７ｃ、ルール２７ｄの各情報を有する。
【００３２】
図４の例では、デバイス２７ａがオーディオの場合、監視方法２７ｂは音量であり、閾値２７ｃは５０％であり、ルール２７ｄは「音量出力時間が起動時間の５０％以上であれば初期化する」ことを示す。つまり、音量出力時間が起動時間の５０％未満であればオーディオの使用頻度が低いと判定し、そのオーディオを初期化しない。
【００３３】
デバイス２７ａがＬＡＮの場合、監視方法２７ｂはケーブル接続であり、閾値２７ｃは５０％であり、ルール２７ｄは「接続時間が起動時間の５０％以上であれば初期化する」ことを示す。つまり、接続時間が起動時間の５０％未満であればＬＡＮの使用頻度が低いと判定し、そのオーディオを初期化しない。
【００３４】
また、例えば、デバイス２７ａがタッチパネルの場合、非操作時はサスペンド（休止）の状態に遷移する。この遷移時間について端末装置１００がノートＰＣの場合には、タブレット型コンピュータと異なり使用頻度が低いため、サスペンドステートである時間が長い。そこでデバイス２７ａがタッチパネルの場合には、タッチパネルのデバイスステート（Ｄ０／Ｄ１／Ｄ２／Ｄ３）が監視され、監視部２４は、Ｄ０であればアクティブステートと判断してオン時間に加算し、Ｄ１〜Ｄ３であればサスペンドステートと判断してオフ時間に加算してもよい。なお、デバイスステートは、ＡＣＰＩの規定に遵守したものである。
【００３５】
例えば、デバイス２７ａが指紋センサの場合、監視部２４は、Ｄ０であればアクティブステートであるため、オン時間に加算し、Ｄ１〜Ｄ３であればサスペンドステートであるため、オフ時間に加算してもよい。これにより、監視部２４は、監視対象のステートがオン（アクティブ）またはそれに準じるものと、オフ（アイドル）またはそれに準じるもので区別して、オン時間及びオフ時間を監視し、記録する。なお、使用頻度の閾値２７ｃは、ユーザがＯＳ６１上で動作する監視アプリ６２から設定してもよい。
【００３６】
図５の例では、初期化リスト２８は、使用頻度情報テーブル２６及びルール設定テーブル２７に基づき、デバイス毎に「初期化をする」また「初期化をしない」のいずれかが記憶される。例えば、デバイス２６ａがオーディオの場合、図３の使用頻度情報テーブル２６を参照すると、オン時間の割合２６ｄは「５０％」である。図４のルール設定テーブル２７を参照すると、デバイス２７ａがオーディオの場合、ルール２７ｄには「音量出力時間が起動時間の５０％以上であれば初期化する」が設定されている。
【００３７】
よって、例えば、オン・オフ制御部２２は、デバイス２６ａがオーディオの場合のオン時間の割合２６ｄに記憶された「５０％」を、ルール２７ｄの「音量出力時間が起動時間の５０％以上であれば初期化する」に当て嵌める。
【００３８】
その結果、オン・オフ制御部２２は、オーディオの使用頻度がルールを満たしていると判定し、デバイス２８ａがオーディオの、初期化リスト２８の初期化情報２８ｂに「初期化する」を記憶する。オン・オフ制御部２２は、すべてのデバイスについて、使用頻度情報テーブル２６に記憶された各デバイスの使用頻度（オン時間の割合２６ｄ）がルール２７ｄを満足するか否かを判定する。そして、満足する場合には、オン・オフ制御部２２は、使用頻度が高いため、そのデバイスを有効化すべきと判定し、初期化リスト２８の初期化情報２８ｂに「初期化する」を記憶する。また、オン・オフ制御部２２は、各デバイスの使用頻度がルール２７ｄを満足しない場合には、初期化リスト２８の初期化情報２８ｂに「初期化しない」を記憶する。
【００３９】
これにより、次の起動時に、オン・オフ制御部２２は、初期化リスト２８に応じて有効化すべきデバイスのみ初期化処理を実行する。これにより、不要なデバイスの初期化をスキップでき、起動時のＢＩＯＳ４１の処理終了までの時間を短くすることができる。また、起動時に初期化しないデバイスを増やすことによって、初期化されなかったデバイスを無効化することで消費電力を下げることができる。
【００４０】
また、各デバイスの使用頻度に基づき初期化するか否かを決定することで、ユーザによる使用頻度が低いデバイスについてはユーザが意識することなく自動で無効にできる。なお、初期化リスト２８の初期化情報２８ｂの設定は、監視部２４が、ユーザのデバイスの復帰要求に応じてＯＳ６１上の監視アプリ６２を用いて行うことができる。
【００４１】
ただし、使用頻度は低いが、起動時等に必ず必要な機能を実行するデバイスについては、ルール設定テーブル２７に設定された閾値２７ｃを下げることで、初期化されずに無効化され、デバイスへ電源が供給されないことを回避できる。
【００４２】
つまり、ルール設定テーブル２７の閾値２７ｃをデバイス毎に設定することで、各デバイスの有効化及び無効化を閾値の高低で制御することができる。例えば、使用頻度は低いが動作上必要なデバイスに対してはルール設定テーブル２７の閾値２７ｃを低く設定することでそのデバイスの無効化を回避できる。例えば、ログインのときだけに使用される指紋センサは、使用頻度は低いが動作上必要なデバイスである。この場合、閾値２７ｃを低く設定することで、指紋センサが初期化の対象とならずに無効化されることを防止できる。
【００４３】
なお、使用頻度情報テーブル２６、ルール設定テーブル２７及び初期化リスト２８に記憶された各情報は、メモリ３又はＨＤＤ６に記憶されてもよい。ルール設定テーブル２７及び初期化リスト２８に記憶された各情報は、ネットワークを介して端末装置１００に接続されるクラウド上のサーバ等に格納され得る。初期化リスト２８は、Ｖａｒｉａｂｌｅ４２に記憶されてもよい。
【００４４】
［使用状況監視処理］
次に、本実施形態に係る使用状況監視処理の一例について図６を参照して説明する。図６は、一実施形態に係る使用状況監視処理の一例を示したフローチャートである。本処理は、本処理は、監視部２４が監視アプリ６２を動作させて実行する。
【００４５】
本処理が開始されると、監視部２４は、ルール設定テーブル２７の監視方法２７ｂに基づき、各デバイスのステート等の使用状況を確認する（ステップＳ３０）。次に、監視部２４は、デバイスがオン時間であるかオフ時間であるかを判定する（ステップＳ３２）。具体的には、監視部２４は、デバイスがオン（アクティブ）又はそれに準じる状態である場合、オン時間と判定し、デバイスがオフ（アイドル）又はそれに準じる状態である場合、オフ時間と判定する。
【００４６】
監視部２４は、デバイスがオン時間であると判定した場合、使用頻度情報テーブル２６のオン時間２６ｂにそのデバイスのオンしている時間を加算する（ステップＳ３４）。他方、監視部２４は、監視対象のデバイスがオフ時間であると判定した場合、使用頻度情報テーブル２６のオフ時間２６ｃにそのデバイスのオフしている時間を加算する（ステップＳ３６）。
【００４７】
次に、監視部２４は、一定時間が経過したかを判定し（ステップＳ３８）、一定時間が経過したら、ステップＳ３０に戻り、ステップＳ３０以降の処理を実行する。監視部２４は、ＯＳ６１にシャットダウン命令が出されるまで、ステップＳ３０〜Ｓ３８の処理を繰り返し、各デバイスの監視を続ける。
【００４８】
［起動／シャットダウン処理］
次に、本実施形態に係る起動からシャットダウンまでの処理の一例について図７を参照して説明する。図７は、一実施形態に係る端末装置１００の起動からシャットダウンまでの処理の一例を示したフローチャートである。本処理は、オン・オフ制御部２２を含むＢＩＯＳ処理部２１及び監視部２４を含むＯＳ処理部２３により実行される。
【００４９】
電源７がオンされると（ステップＳ１０）、ＢＩＯＳ処理部２１は、ＰＯＳＴ（自己診断テスト）を開始する（ステップＳ１２）。具体的には、ＢＩＯＳ処理部２１は、ＰＯＳＴにおいて、メモリの初期化、ボード上の各種コントローラのコンフィグレーションを実行し、デバイスの検出、初期化及び設定を行う（ステップＳ１４）。このとき、デバイスの初期化は、オン・オフ制御部２２によって実行される。
【００５０】
オン・オフ制御部２２がデバイスを初期化すると、そのデバイスは有効化される。つまり、起動時にデバイスが初期化されると、ＯＳ６１がデバイスにアクセスするためのメモリの領域やその他の必要なリソースがデバイスに割り当てられた状態、つまり、そのデバイスは有効化された状態となる。言い換えれば、起動時にデバイスが初期化されないと、そのデバイスを使用する準備が整っていないため、そのデバイスは無効化された状態となる。
【００５１】
端末装置１００に搭載されたデバイスの初期化後、ＢＩＯＳ処理部２１は、ＯＳ６１を起動するための各種処理を行い（ステップS１６）、これにより、ＨＤＤ６にインストールされているＯＳ６１が起動される（ステップＳ１８）。
【００５２】
ＯＳ６１が起動されると、ＯＳ処理部２３は、監視アプリ６２を起動する（ステップＳ２０）。これにより、監視部２４が動作可能な状態になる。監視部２４は、各デバイスの使用状況を監視し、随時、デバイス毎の使用頻度情報を使用頻度情報テーブル２６に記録する（ステップＳ２２）。デバイスの使用頻度情報の一例としては、デバイスのオン時間、オフ時間、デバイスの動作回数や、デバイスのアクティブステート（例えばＤ０）の時間、デバイスの非アクティブステート（例えばＤ２〜Ｄ４）の時間が挙げられる。
【００５３】
シャットダウンが指示されると（ステップＳ２４）、オン・オフ制御部２２は、使用頻度情報テーブル２６に記憶されたデバイス２６ａ毎のオン時間２６ｂ及びオフ時間２６ｃに基づきオン時間の割合２６ｄを算出する。例えば、ＯＳ起動からシャットダウンまでが１時間だったとき、ＬＡＮの接続時間が２０分であれば１時間に対するオン時間の割合は３３％と算出される。この場合、オン・オフ制御部２２は、図４に示すルール設定テーブル２７のルール２７ｄに基づき、ＬＡＮを初期化しないと判定し、図５の初期化リスト２８のデバイス２８ａが「ＬＡＮ」に対応する初期化情報２８ｂに「初期化しない」の情報を記憶する。
【００５４】
図７に戻り、監視部２４は、シャットダウン時には、初期化リスト２８をＶａｒｉａｂｌｅ４２（フラッシュＲＯＭ４内の特定の領域に設定された不揮発な領域）に記憶した後（ステップＳ２６）、電源がオフされる（ステップＳ２８）。
【００５５】
Ｖａｒｉａｂｌｅ４２に格納された初期化リスト２８は、次の起動時にＰＯＳＴ時にオン・オフ制御部２２により参照される。
【００５６】
このようにＶａｒｉａｂｌｅ４２に書き込む初期化リスト２８は、使用頻度情報テーブル２６やルール設定テーブル２７から抽出された情報のみを持つ、簡易化されたリストであってもよい。これはＶａｒｉａｂｌｅ４２の領域が限られているほか、ＢＩＯＳ４１でのデバイスの初期化の判定には閾値や監視方法といった情報は不要であることによる。このＶａｒｉａｂｌｅ４２へのアクセスは、ＯＳ６１が標準で保持しているアクセス用関数を使用してもよいし、より安全に行うためにＢＩＯＳ通信用インタフェース経由で行ってもよい。
【００５７】
［デバイスの初期化処理］
図７のステップＳ１４において実行されるデバイスの初期化処理の詳細について、図８を参照して説明する。デバイスの初期化処理は、ＢＩＯＳの処理においてオン・オフ制御部２２により実行される。電源７がオンされ、ＰＯＳＴが開始されると（ステップＳ１２）、オン・オフ制御部２２は、前回のシャットダウン時に、Ｖａｒｉａｂｌｅ４２に保存された初期化リスト２８を読み込む（ステップＳ１００）。
【００５８】
次に、オン・オフ制御部２２は、初期化リスト２８に記憶されているデバイスが端末装置１００に搭載されているかを判定する（ステップＳ１０２）。オン・オフ制御部２２は、初期化リスト２８に記憶されているデバイスが搭載されていないと判定した場合、ステップＳ１０８に進む。
【００５９】
一方、オン・オフ制御部２２は、初期化リスト２８に記憶されているデバイスが搭載されていると判定した場合、デバイスを初期化するか否かを判定する（ステップＳ１０４）。
【００６０】
オン・オフ制御部２２は、初期化リスト２８の該当デバイス２８ａに対応する初期化情報２８ｂを参照して、デバイスを初期化すると判定した場合、該当デバイスの初期化処理を実行し（ステップＳ１０６）、ステップＳ１０８に進む。
【００６１】
ステップＳ１０４において、オン・オフ制御部２２は、初期化リスト２８を参照して、デバイスを初期化しないと判定した場合、該当デバイスの初期化処理をスキップし（ステップＳ１０７）、ステップＳ１０８に進む。
【００６２】
ステップＳ１０８において、オン・オフ制御部２２は、初期化リスト２８に記憶されたデバイスのうち、判定していないデバイスがあるかを判定する。オン・オフ制御部２２は、判定していないデバイスがあると判定した場合、ステップＳ１０２に戻り、ステップＳ１０２以降の処理を繰り返す。これを初期化リスト２８に記憶されたすべてのデバイスについて実行する。ステップＳ１０８において、オン・オフ制御部２２が、判定していないデバイスはないと判定すると、ＯＳ起動処理を行う（ステップＳ１８）。
【００６３】
［割り込み発行によるデバイスの初期化処理］
本実施形態に係る端末装置１００では、上記に説明した起動時のデバイスの初期化以外に、ユーザのデバイスの復帰要求に応じてユーザが求めるデバイスの初期化を行うことができる。これは、例えば、図９に示すように、ＯＳ６１上で起動する監視アプリ６２によるＳＭＩ（割り込み）の発行によって行われる。
【００６４】
例えば、ユーザが無効化されているオーディオの復帰を要求する場合、監視部２４は、ユーザによるデバイス復帰要求の入力操作を受け付け（ステップＳ４０）、ＡＣＰＩ（Advanced Configuration and Power Interface）経由でＳＭＩ（System management interrupts）を発行し、ＯＳ６１に出力する（ステップＳ４２）。
【００６５】
ＯＳ６１は、ＳＭＩからデバイスを初期化するためのＢＩＯＳ制御関数の呼び出しを実行する（ステップＳ４４）。ＢＩＯＳ４１は、ＢＩＯＳ制御関数の呼び出しに応じて、ユーザが復帰させたい特定のデバイスの初期化処理を実行する（ステップＳ４６）。
【００６６】
ＢＩＯＳ４１は、特定のデバイスの初期化に成功したか否かを判定する（ステップＳ４８）。成功しなかった場合、エラーを表示し（ステップＳ５０）、本処理を終了する。
【００６７】
一方、成功した場合、デバイスの有効又は無効の切り替えが完了したことを表示し（ステップＳ５２）、本処理を終了する。なお、デバイスの有効又は無効の切り替えについては、ユーザによるユーティリティを使った復帰操作に応じてデバイスの電源をオンすることで実際の切り替えが可能とする。
【００６８】
［変形例］
変形例として、図１０に示すシステムについて簡単に説明する。図１０は、一実施形態に係るシステムの全体構成の一例を示す。システムは、端末装置１００とサーバ２００とを有する。
【００６９】
本実施形態に係るシステムでは、端末装置１００は、図１に示した各機能に加えてネットワークコントローラ１６の機能を有する。ネットワークコントローラ１６は、ネットワークを介してサーバ２００に接続されている。
【００７０】
上記実施形態に係る端末装置１００にて、ＨＤＤ６に格納されていたルール設定テーブル２７及び初期化リスト２８は、本変形例ではサーバ２００に格納され、サーバ２００にて管理される。端末装置１００は、サーバ２００からルール設定テーブル２７及び初期化リスト２８をダウンロードし、ＨＤＤ６内に格納する。つまり、本変形例では、ルール設定テーブル２７及び初期化リスト２８に記憶された各情報をサーバ２００経由で入手することができる。なお、使用頻度情報テーブル２６を使用した端末装置１００によるデバイスの初期化制御については、上述した通りであるので、ここでは説明を省略する。
【００７１】
以上に説明したように、本実施形態に係る端末装置１００及びデバイス制御方法によれば、使用頻度に応じて初期化するデバイスを制限することで、デバイスの初期化処理を短縮することができる。これにより、すべてのデバイスを初期化するよりも起動時のＢＩＯＳ４１の処理終了までの時間を短くすることができる。また、使用頻度が低いデバイスを初期化しないことにより、使用頻度が低いデバイスには電源が供給されないため、省電力を図ることができる。また、本実施形態に係る端末装置１００及びデバイス制御方法によれば、ユーザがそのデバイスを手動で初期化する必要がないため、ユーザの利便性を向上させることができる。
【００７２】
また、デバイス毎の使用頻度に応じて設定された初期化リスト２８を不揮発性メモリであるＶａｒｉａｂｌｅ４２に格納することで、端末装置１００がシャットダウンされ、次に端末装置１００が起動されたときに実行されるＢＩＯＳ処理おいて、初期化リスト２８を用いてデバイス毎に初期化すべきか否かの判定を行うことができる。
【００７３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
所定のデバイスと接続される端末装置であって、
前記デバイスの使用頻度を監視する監視部と、
前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する制御部と、
を有する端末装置。
（付記２）
前記端末装置のシャットダウン時に、前記監視部は、前記記憶部に記憶したデバイス毎の使用頻度情報からデバイス毎の初期化の有無を示す初期化リストを更新し、
前記制御部は、シャットダウン後の次の前記端末装置の起動時に、更新した前記初期化リストを使用して有効化すべきとしたデバイスを初期化する、
付記１に記載の端末装置。
（付記３）
前記監視部は、前記有効化されていないデバイスの復帰要求を受け付け、
前記制御部は、前記復帰要求を受け付けたデバイスを初期化する、
付記１又は２に記載の端末装置。
（付記４）
端末装置のデバイスの使用頻度を監視する処理と、
前記端末装置の起動時に、前記監視したデバイス毎の使用頻度を示す使用頻度情報を記憶する記憶部を参照して、前記使用頻度情報から有効化すべきとしたデバイスを初期化する処理と、
をコンピュータに実行させるためのデバイス制御プログラム。
（付記５）
前記端末装置のシャットダウン時に、前記記憶部に記憶したデバイス毎の使用頻度情報からデバイス毎の初期化の有無を示す初期化リストを更新し、
シャットダウン後の次の前記端末装置の起動時に、更新した前記初期化リストを使用して有効化すべきとしたデバイスを初期化する、
付記４に記載のデバイス制御プログラム。
（付記６）
前記有効化されていないデバイスの復帰要求を受け付け、
前記復帰要求を受け付けたデバイスを初期化する、
付記４又は５に記載のデバイス制御プログラム。
【符号の説明】
【００７４】
１  ＣＰＵ
２  チップセット
３  メモリ
４  フラッシュＲＯＭ
５  ディスクコントローラ
６  ハードディスク
７  電源
８  グラフィックスコントローラ
９  ディスプレイ
１０  入出力コントローラ
１１  キーボード
１２  ＵＳＢホストコントローラ
１３  ＵＳＢポート
１４  ＵＳＢデバイス
１５  拡張スロット
１６  ネットワークコントローラ
２１  ＢＩＯＳ処理部
２２  オン・オフ制御部
２３  ＯＳ処理部
２４  監視部
２５  記憶部
２６  使用頻度情報テーブル
２７  ルール設定テーブル
２８  初期化リスト
２９  デバイス制御プログラム
４１  ＢＩＯＳ
４２  ＢＩＯＳのＶａｒｉａｂｌｅ領域
６１  ＯＳ
６２  監視アプリ
１００  端末装置
２００  サーバ
【図１】
2018097799.tif 000003
【図２】
2018097799.tif 000004
【図３】
2018097799.tif 000005
【図４】
2018097799.tif 000006
【図５】
2018097799.tif 000007
【図６】
2018097799.tif 000008
【図７】
2018097799.tif 000009
【図８】
2018097799.tif 000010
【図９】
2018097799.tif 000011
【図１０】
2018097799.tif 000012