(57)【要約】      （修正有）【課題】マルチタスクシステムにおけるシステム起動方法でのタスク・オブジェクトの生成において、システムの起動時間の短縮化の効果がタスク・オブジェクトの生成数の増加の割には大きく、システムの起動の高速化が有効に行われるようにする。【解決手段】マルチタスクシステムの電源オンＳ１に伴ってハードウェア初期化を行うステップＳ２と、セクション初期化を行うステップＳ３と、ＯＳ初期化を行うステップＳ４とを有するシステム起動方法であって、ＯＳ初期化のステップＳ４において、タスク・オブジェクトの初期アクセス時間Ｔａを所定の閾値Ｔｏと比較し、初期アクセス時間Ｔａが閾値Ｔｏ以下であるときはタスク・オブジェクトを静的生成することとし、初期アクセス時間Ｔａが閾値Ｔｏを超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとする。【選択図】図３
2010211596.tif 000002
【特許請求の範囲】
【請求項１】
マルチタスクシステムの電源オンに伴ってハードウェア初期化を行うステップと、セクション初期化を行うステップと、ＯＳ初期化を行うステップとを有するシステム起動方法であって、前記ＯＳ初期化のステップにおいて、タスク・オブジェクトの初期アクセス時間を所定の閾値と比較し、前記初期アクセス時間が前記閾値以下であるときは前記タスク・オブジェクトを静的生成することとし、前記初期アクセス時間が前記閾値を超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとするマルチタスクシステムにおけるシステム起動方法。
【請求項２】
前記静的生成として、前記システムの起動時間内に前記タスク・オブジェクトを生成する請求項１に記載のシステム起動方法。
【請求項３】
前記動的生成として、前記システムの起動処理の完了後に、使用開始までにタスク・オブジェクトを生成する請求項１または請求項２に記載のシステム起動方法。
【請求項４】
前記動的生成として、前記システムの起動処理の完了後のアイドル状態において前記タスク・オブジェクトを生成する請求項３に記載のシステム起動方法。
【請求項５】
前記所定の閾値について、個々のタスク・オブジェクトについて前記システムの起動時間を基に前記閾値を算出する請求項１から請求項４までのいずれかに記載のシステム起動方法。
【請求項６】
前記初期アクセス時間について、ユーザの利用状況に応じて前記初期アクセス時間を自動的に更新する請求項１から請求項５までのいずれかに記載のシステム起動方法。
【請求項７】
前記初期アクセス時間について、ユーザによって前記初期アクセス時間を設定可能とする請求項１から請求項５までのいずれかに記載のシステム起動方法。
【請求項８】
前記マルチタスクシステムは、特定の機能を使用するために必要なオブジェクトの一覧と、使用する機能単位での初期アクセス時間の情報とを保有するものとして構成され、前記オブジェクト一覧と前記初期アクセス時間情報によって前記オブジェクトの初期アクセス時間を設定する請求項１から請求項７までのいずれかに記載のシステム起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチタスクシステムにおいてタスクやオブジェクト（セマフォやイベントフラグなど）を生成する方法にかかわり、特には、システムの起動時間を短縮して起動を高速化するための技術に関する。
【背景技術】
【０００２】
近年、プログラムにおける制御の複雑化により、コンピュータによる仕事の単位であるタスクを一度に２つ以上処理することができるマルチタスクシステムが普及している。このマルチタスクシステムを用いることによって、複数のタスクを効率良く切り替えて実行することができる。さらに近時は、組込みソフトウェアの開発効率を向上するためのＯＳ（Operating System）が用いられることが一般的になっている。組込み向けのＯＳとして、uITRON４.０が一般に広く浸透している。これは、アプリケーションを機能ごとにタスク化するもので、資産流用性を高めることができる。
【０００３】
商品セットの動向として多機能化、高機能化が加速しており、ソフトウェアの規模は増大化・複雑化する傾向にある。従来の商品セットでは１０〜２０個程度のタスク数であったものが、他分野の資産（タスク）を結合する場合には、タスク数が１００を超えることもあり、タスクの設計を複雑化させている。
【０００４】
商品に対する要求の１つにシステムの起動時間の短縮化がある。しかし、タスク数が増加すると、システムの起動時にタスクの生成および初期化の時間がタスク数増加に応じて増加するという課題がある。
【０００５】
図１１は一般的なＯＳを用いた従来技術のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図である。
【０００６】
時刻ｔ０から時刻ｔ１までにおいて、バスの設定や各種レジスタの設定などハードウェア初期化が行われる。時刻ｔ１から時刻ｔ２までにおいてセクションの初期化が行われる。最後に時刻ｔ２から時刻ｔ３においてＯＳ初期化が行われ、すべての初期化が完了した後に、ユーザが任意の機能を使用可能な状態となる。
【０００７】
ＯＳ初期化では、ＯＳの使用する変数の初期化とタスク・オブジェクト（タスクまたは／およびオブジェクト）の生成が行われる。特にタスク・オブジェクトの生成には、生成個数に応じた初期化時間が必要となり、近年の大規模なシステムにおいて起動時間が増加する要因となっている。
【０００８】
ここで、ＯＳが使用するタスク・オブジェクトの生成方法としては、システム起動時に生成する静的生成と、起動完了後にアプリケーション内において特定のシステムコールを呼び出して生成を行う動的生成とがある。静的生成とは別に動的生成を行うことは、システムの起動時間を短縮化することにつながるが、反面、タスクの選定や設計の変更が必要となり、煩雑化は免れない。
【０００９】
システムの起動時間を短縮化する別の従来技術として、特許文献１に記載のシステム起動装置の例がある。すなわち、マルチタスクシステムにおいて、システムの起動時に各タスクの情報を情報テーブルおよび状態テーブルからタスク情報記憶部に読み込み、システムに必要な各タスクの前回のシステム停止に関する状態を参照し、前回停止時に起動状態にあったタスクのみを起動することによってシステムの起動時間を短縮化する。図１２は特許文献１のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図である。時刻ｔ０から時刻ｔ１までにおいてハードウェア初期化を行い、時刻ｔ１から時刻ｔ２までにおいてセクション初期化を実施し、時刻ｔ２から時刻３までにおいて前回起動状態だったタスクのみを起動する。この方式では、前回起動状態にあったタスクに絞り込むことにより、システムの起動時間が短縮化される。
【特許文献１】特開平８−２８６９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術では、起動するタスクを前回停止時に起動状態にあったタスクとすることから、却って、すべてのタスクが起動状態であった場合には、システムの起動時間の短縮化が実現できない。起動状態にあったタスクの数が増えるに従って、起動時間短縮化の効果が薄れる。
【００１１】
また、近年の組込みシステムにおけるタスク構成としては様々な資産を流用して１つのシステムとするため、単純に１つのタスクが起動状態であるとしても、そのタスクを起動するために複数のタスクが前後に動作していた可能性がある。そうすると、起動状態にあったタスクのみを起動させるだけでは、システムとして必要な処理が行われておらず、正常に動作しなくなる可能性がある。
【００１２】
加えて、初回の起動や前回と異なる処理を行う際には、図１１に示す通常の初期化と同様に長い時間が必要となり、システムの起動時間を短縮化することができない。
【００１３】
本発明は、このような事情に鑑みて創作したものであり、システムの起動時間の短縮化の効果がタスク・オブジェクトの生成数の増加の割には大きく、システムの起動の高速化が有効に行われるマルチタスクシステムにおけるシステム起動方法を提供することを目的としている。
【課題を解決するための手段】
【００１４】
本発明によるマルチタスクシステムにおけるシステム起動方法は、マルチタスクシステムの電源オンに伴ってハードウェア初期化を行うステップと、セクション初期化を行うステップと、ＯＳ初期化を行うステップとを有するシステム起動方法であって、前記ＯＳ初期化のステップにおいて、タスク・オブジェクトの初期アクセス時間を所定の閾値と比較し、前記初期アクセス時間が前記閾値以下であるときは前記タスク・オブジェクトを静的生成することとし、前記初期アクセス時間が前記閾値を超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとするものである。すなわち、タスク・オブジェクトの初期アクセス時間と所定の閾値との比較の結果に応じて、システム起動方法を静的生成とするか動的生成とするかを切り替え制御することを特徴とする。初期アクセス時間は、個々のタスク・オブジェクトについて、それが初めてアクセスされる場合に費やされる時間である。
【００１５】
ここで、前記静的生成として、前記システムの起動時間内に前記タスク・オブジェクトを生成することとするのが一般的である。また、前記動的生成として、前記システムの起動処理の完了後に、使用開始までにタスク・オブジェクトを生成することとするのが一般的である。この場合に、前記動的生成として、前記システムの起動処理の完了後のアイドル状態において前記タスク・オブジェクトを生成するのが好ましい１態様である。
【００１６】
以上のように本発明は、ＯＳ初期化の一定時間内において行う静的生成の対象とするタスク・オブジェクトを数的に制限することにしたものである。つまり、初期アクセス時間が相対的に短いタスク・オブジェクトであれば、それの静的生成を実行するが、初期アクセス時間が一定以上に長いタスク・オブジェクトについては、これの生成をＯＳ初期化の一定時間内では実行しないで、起動完了後まで延期することとしたものである（動的生成とする）。
【００１７】
このように、システム起動から一定時間内のＯＳ初期化で必要となるタスク・オブジェクトについては、その初期アクセス時間を比較的短めに設定しておくことにより、生成するタスク・オブジェクトはできる限り少ない数とする。一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成は当該のＯＳ初期化では行わないこととする。ＯＳ初期化で生成を行うタスク・オブジェクトの数を制限することにより、システムの起動開始から起動完了までの時間（システムの起動時間）を短縮して起動を高速化することが可能となる。
【００１８】
以上の結果、あるタスクを起動するために、その前後に複数のタスクを動作させる必要があるような場合において、それら必要のあるタスクは積極的に起動対象とすることが可能となる。これによって、システムとして必要な処理は確実に行い、正常な動作を確保する。
【００１９】
また、初回の起動や前回と異なる処理を行う場合でも、システム起動から一定時間内において必要となるタスク・オブジェクトに絞り込んで生成を行うことにより、システムの起動時間の短縮化が図られる。
【００２０】
また、従来において動的に生成を行っていたようなタスク・オブジェクトについても、その利用頻度が高いタスク・オブジェクトであれば、これを静的に生成するようにすることが可能となる。その結果、利用頻度の高いタスク・オブジェクトに対する要求が発生したときの応答性を高いものにすることが可能となる。
【００２１】
また上記のシステム起動方法において、前記所定の閾値について、個々のタスク・オブジェクトについて前記システムの起動時間を基に前記閾値を算出するのが好ましい１態様である。システムの起動時間については、起動開始から起動完了までの処理時間を設定するものとする。この時間内に、ハードウェア初期化とセクション初期化に加えて任意の機能を受け付け可能とするべく、その機能のタスク・オブジェクトのアクセスを保証するのが閾値に相当する時間である。
【００２２】
また上記のシステム起動方法において、前記初期アクセス時間について、ユーザの利用状況に応じて前記初期アクセス時間を自動的に更新するものとするのが好ましい。
【００２３】
起動完了後に、実際にユーザから起動要求が発生した場合に、タスク・オブジェクトがアクセスされるまでの時間（実動アクセス時間）は、ユーザの利用状況に応じて変動する。したがって、このユーザの利用状況に応じて実動アクセス時間をフィードバックして初期アクセス時間に反映させると、ユーザの使用状況・好みに応じた状態でシステムの起動時間の短縮化をより効果的に進めることが可能となる。例えば、使用頻度の高い機能の初期化を優先的に行うことが可能となる。特に、従来、動的生成していたタスク・オブジェクトについても、利用頻度が高いものは静的生成することができるようになり、要求発生時の応答性向上が期待できる。
【００２４】
なお、ユーザの利用状況に応じた初期アクセス時間の自動的な更新の具体的な方法としては、実動アクセス時間を順次に累積し、平均化するのが好ましい１態様である。
【００２５】
また上記のシステム起動方法において、前記初期アクセス時間について、ユーザによって前記初期アクセス時間を設定可能とするのも好ましい。これは、上記とは別の初期アクセス時間の設定方法であり、ユーザが使用したい機能のタスク・オブジェクトを優先的に生成するために、そのオブジェクトの初期アクセス時間をユーザが自由に設定することが可能であるようにしておくものである。
【００２６】
また上記のシステム起動方法において、前記マルチタスクシステムは、特定の機能を使用するために必要なオブジェクトの一覧と、使用する機能単位での初期アクセス時間の情報とを保有するものとして構成され、前記オブジェクト一覧と前記初期アクセス時間情報によって前記オブジェクトの初期アクセス時間を設定することも好ましい１態様である。機能単位で使用するタスク・オブジェクトをグルーピングしておき、機能単位での初期アクセス時間の設定・更新をすることで、多機能化や汎用性拡張への展開が容易なものとなる。
【発明の効果】
【００２７】
本発明によれば、マルチタスクシステムの起動において、タスク・オブジェクトの初期アクセス時間と所定の閾値との比較の結果に応じて、システム起動方法を静的生成とするか動的生成とするかを切り替え制御するので、つまり、初期アクセス時間が相対的に短いタスク・オブジェクトであれば、それの静的生成を実行するが、初期アクセス時間が一定以上に長いタスク・オブジェクトについては、これの生成をＯＳ初期化の一定時間内では実行しないで、起動完了後まで延期することとしたので、タスク・オブジェクトの生成数の増加の割にシステムの起動時間の短縮化の効果を大きなものとして、システムの起動の高速化を有効化することができる。
【００２８】
例えば、あるタスクを起動するために、その前後に複数のタスクを動作させる必要があるような場合において、それら必要のあるタスクを積極的に起動対象とすることによって、システムとして必要な処理は確実に行い、正常な動作を確保することができる。
【００２９】
また、初回の起動や前回と異なる処理を行う場合でも、システム起動から一定時間内において必要となるタスク・オブジェクトに絞り込んで生成を行うことにより、システムの起動時間を短縮化することができる。
【００３０】
また、従来において動的に生成を行っていたようなタスク・オブジェクトについても、その利用頻度が高いタスク・オブジェクトであれば、これを静的に生成するようにすることが容易であるので、利用頻度の高いタスク・オブジェクトに対する要求が発生したときの応答性を高いものにすることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明にかかわるマルチタスクシステムにおけるシステム起動方法の実施の形態について図面を用いて詳細に説明する。
【００３２】
図１は本発明の実施の形態におけるシステム起動方法が適用されるマルチタスクシステムＡの構成を示すブロック図である。
【００３３】
このマルチタスクシステムＡは、ＯＳ初期化の処理を行うＯＳ初期化部１と、各タスクからのシステムコールの発行によって実行するタスクを切り替えるスケジューラ２と、タスク・オブジェクト（タスクまたは／およびオブジェクト）の生成を行うオブジェクト生成部３と、タスク・オブジェクトが初めてアクセスされる場合の初期アクセス時間Ｔａをユーザが設定するための初期アクセス時間設定部４と、アクセスの制御を行うコントロールブロック９を生成するためのデータを保有する生成情報テーブル５と、システムが保証するシステムの起動時間Ｔｍと、初期アクセス時間Ｔａの比較基準となる閾値Ｔｏと、タスクおよびセマフォ・イベントフラグなどオブジェクトごとに状態を保持するコントロールブロック９とを備えている。
【００３４】
図２はシステムの起動時間Ｔｍ、初期アクセス時間Ｔａの説明図である。
【００３５】
システムの起動時間Ｔｍは、システムの起動開始から起動完了までの時間であり、これにはハードウェア初期化の時間、セクション初期化の時間、ＯＳ初期化およびタスク・オブジェクトの生成に見込まれる時間が含まれている。
【００３６】
初期アクセス時間Ｔａは、システムの起動完了後においてタスク・オブジェクトが実際に初めてアクセスされる場合に費やされる時間である。初期アクセス時間Ｔａは、初期アクセス時間設定部４によって個々のタスク・オブジェクトについて設定される。
【００３７】
初期アクセス時間Ｔａの比較基準となる閾値Ｔｏは、システムの起動時間Ｔｍを基に算出されるようになっている。すなわち、システムの起動時間Ｔｍからハードウェア初期化およびセクション初期化の時間を減算し、その減算結果の時間ＴｂにおいてＯＳのタスク・オブジェクトの生成に費やすことのできる時間として設定される。
【００３８】
図１に戻って、生成情報テーブル５はタスク・オブジェクトごとに存在し、ＩＤ６、タスク名７、状態８および初期アクセス時間Ｔａなどを保有する。生成情報テーブル５の実体的な様子は図５の（ａ），（ｂ）に例示されている。
【００３９】
コントロールブロック９もタスク・オブジェクト１つずつに対応するものである。コントロールブロック９において、１０はＩＤ、１１はタスク名、１２は状態である。コントロールブロック９は、タスク・オブジェクトの静的生成や動的生成において、その生成の前提条件として、生成情報テーブル５から必要事項を読み出して生成されるものである。
【００４０】
次に、上記のように構成されたＯＳを含むマルチタスクシステムにおけるシステム起動方法の処理の手順を図３に示すフローチャートに従って説明する。
【００４１】
ステップＳ１において、要求によって電源がＯＮされる。
【００４２】
次いでステップＳ２において、バスや各種のレジスタの設定などハードウェアの初期化を行う。
【００４３】
次いでステップＳ３において、セクションの初期化を行う。
【００４４】
次いでステップＳ４において、ＯＳの初期化として、タスク・オブジェクトの生成やＯＳ領域の初期化を行う。このステップＳ４での詳しい処理は図４で展開される（後述）。
【００４５】
次いでステップＳ５において、一連の起動処理を完了する。これにより、ユーザ要求による任意の機能を受け付け可能な状態となる。
【００４６】
次いでステップＳ６において、ユーザから使用したい機能の起動要求を待つ。
【００４７】
次いでステップＳ７において、ユーザから起動要求が発生したことを確認する。このステップＳ７での詳しい処理は図７で展開される（後述）。
【００４８】
次いでステップＳ８において、ＯＳのタスク・オブジェクトの使用が開始され、要求のあった機能が動作する。
【００４９】
電源ＯＮのタイミング（ステップＳ１）からシステムの起動完了のタイミング（ステップＳ５）までの処理時間がシステムの起動時間Ｔｍである。このシステムの起動時間Ｔｍは、システムへの要求として保証されるべきものである。
【００５０】
また、ステップＳ５の起動完了後から実際にユーザから起動要求が発生し、ステップＳ８のタスク・オブジェクトがアクセスされるまでの時間が初期アクセス時間Ｔａである。そして、ステップＳ４ではＯＳ初期化で必要となるタスク・オブジェクトのみを生成することとし、一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成を起動完了後に回すことによって、システムの起動時間Ｔｍを短縮化する。
【００５１】
次に、ステップＳ４での処理について詳しく説明する。図４、図５、図６を用いて起動時間を短縮化するための処理内容について説明する。図４は図３におけるステップＳ４のＯＳ初期化の詳しい処理内容を示すフローチャート、図５の（ａ），（ｂ）は初期アクセス時間を追加した生成情報テーブル５の一例を示す図である。
【００５２】
ステップＳ１１において、ＯＳ初期化部１は、任意のタスク・オブジェクトについて生成情報テーブル５に含まれる初期アクセス時間Ｔａを取得する。図５の（ａ），（ｂ）は初期アクセス時間Ｔａが設定された生成情報テーブル５の例を示す。このようなテーブルは、タスク・オブジェクトごとに存在する。オブジェクトにはセマフォやイベントフラグが含まれる。
【００５３】
次いでステップＳ１２において、ＯＳ初期化部１は、取得した初期アクセス時間Ｔａを所定の閾値Ｔｏと比較し、初期アクセス時間Ｔａが閾値Ｔｏ以下のときは、静的生成の入り口であるステップＳ１３に進み、そうでないときは、ステップＳ１３〜Ｓ１５はスキップして、図３のステップＳ５へと進む。
【００５４】
静的生成を行うフローとして、ステップＳ１３において、オブジェクト生成部３は、コントロールブロック９を生成するためのメモリの確保を行う。
【００５５】
次いでステップＳ１４において、オブジェクト生成部３は、生成情報テーブル５のデータを基にコントロールブロック９の生成を行う。
【００５６】
次いでステップＳ１５において、オブジェクト生成部３は、生成情報テーブル５の状態８の生成済みフラグを“１”にセットする。
【００５７】
初期アクセス時間Ｔａが閾値Ｔｏより大きいオブジェクトに関しては、ここでは初期化されず、後の図８にて示す動的生成ステップにて生成を行うため、生成情報テーブル５の状態８の生成済みフラグを“０”に保持しておくものとする。
【００５８】
図５に示す例で閾値Ｔｏを１０ｓ（秒）とした場合には、静的に生成されるタスク・オブジェクトはtask1，task2およびsem1，sem2，flg1となり、残りのタスク・オブジェクトに関してはシステム起動後に生成されることになる。このように、システム起動から一定時間内のＯＳ初期化で必要となるタスク・オブジェクトのみの生成に制限し、一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成を遅らせることによって、システムの起動時間Ｔｍを短縮化することができる。図６は図５に関連した初期アクセス時間とタスク・オブジェクトの生成・非生成の説明図である。
【００５９】
次に、ステップＳ７での処理について詳しく説明する。これは、静的生成をされなかったタスク・オブジェクトの処理に関してである。図７は図３におけるステップＳ７のスケジューラ２による動的生成を含む処理の手順を示すフローチャートである。
【００６０】
システムの起動完了後、ステップＳ７において、ユーザ起動要求が発生すると、タスクを切り替える際にスケジューラ２が呼び出される。そして、ステップＳ２１において、スケジューラ２は、次に起動するタスクの取得を行う。
【００６１】
次いでステップＳ２２において、スケジューラ２は、取得された次起動のタスクがアイドルタスクか否かを判断する。アイドルタスクである場合はステップＳ２３に進み、アイドルタスクでない場合はステップＳ２５に進む。
【００６２】
次に起動するタスクがアイドルタスクであってステップＳ２３に進むと、オブジェクト生成部３は、生成情報テーブル５より起動時に静的生成を行わなかった状態フラグが“０”にセットされているオブジェクトの情報を取得する。
【００６３】
さらに、オブジェクト生成部３は、タスク・オブジェクトの生成を行うステップＳ１３〜ステップＳ１５を呼び出すことにより、該当のタスク・オブジェクトが必要となる時刻までに、そのタスク・オブジェクトの生成を行う（ここでは動的生成となる）。そして、ステップＳ２５にて、スケジューラ２はタスクの切り替えを行う。
【００６４】
なお、ステップＳ２３における未生成オブジェクトを取得する方法としては、未生成なタスク・オブジェクトのうち初期アクセス時間Ｔａが最も短いタスク・オブジェクトから優先的に生成を行うようにしてもよい。また、機能ごとにオブジェクトをグルーピングし、複数個所から呼ばれる可能性の高いタスク・オブジェクトに関して優先的に生成を行うことも考えられる。
【００６５】
一方、次に起動するタスクがアイドルタスクではなくてステップＳ２４に進むと、スケジューラ２は、次に起動されるタスクの状態を示す生成済みフラグが“０”であるか否かを判断する。
【００６６】
生成済みフラグが“０”である場合には、前述同様にして、タスク・オブジェクトの生成のステップＳ１３〜ステップＳ１５を呼び出すことにより、該当のタスク・オブジェクトの生成を行う（動的生成）。
【００６７】
一方、生成済みフラグが“０”でない場合には、ステップＳ２５に進み、タスクの切り替えを行う。
【００６８】
次に、初期アクセス時間Ｔａを更新する方法を図８に示すフローチャートを用いて説明する。
【００６９】
ステップＳ３１においてシステムの起動処理を行う。
【００７０】
次いでステップＳ３２において、実際にタスク・オブジェクトにアクセスする。
【００７１】
次いでステップＳ３３において、ステップＳ３１のシステムの起動処理からステップＳ３２のアクセス完了までの実際の時間を初期アクセス時間Ｔａとして更新する。この初期アクセス時間Ｔａの更新では、タスク・オブジェクトの初期アクセス時間Ｔａを前回の値に加えて平均化して設定を行う。順次複数回分の更新を行っていくことにより、ユーザの使用状況・好みに応じて、使用頻度の高い機能の初期化を優先的に行うことが可能となる。
【００７２】
初期アクセス時間Ｔａの別の設定方法としては、設計時に初期値として保持しておくことや、初期アクセス時間設定部４を用いてユーザが使用したい機能を優先的に生成するように設定することも考えられる。
【００７３】
また、これらの情報は図９に示すように、機能単位で使用するタスク・オブジェクトをグルーピング、機能単位での初期アクセス時間Ｔａを設定・更新してもよい。
【００７４】
なお、動的生成を行っているタスクについても、これを静的生成するようにしてもよい。そうすれば、使用頻度の高い機能の応答性を高めることが可能となる。
【００７５】
図１０は本実施の形態でシステム起動の初期化を時間軸で表した図である。
【００７６】
時刻ｔ０から時刻ｔ１までにおいてハードウェア初期化を行い、時刻ｔ１から時刻ｔ２までにおいてセクション初期化を実施する。時刻ｔ２〜時刻ｔ３のＯＳ初期化ステップにおいて、初期アクセス時間と閾値との比較を行い、システム起動から一定時間内のＯＳ初期化で必要となるタスク・オブジェクトのみの生成を行う。つまり、一定時間以上アクセスされる可能性がないタスク・オブジェクトの生成は遅らせる。
【００７７】
時刻ｔ３にて起動完了した後に、時刻ｔ４から時刻ｔ５において、システム初期化時に生成しなかったオブジェクトの生成を行う。
【００７８】
本発明は上記の実施の形態に限定されず、本発明の趣旨の範囲内で種々の変形実施が可能である。
【産業上の利用可能性】
【００７９】
本発明のマルチタスクシステムにおけるシステム起動方法は、マルチタスクＯＳを搭載したシステムにおいてシステムの起動時間を短縮して起動を高速化するための技術として有用である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態におけるシステム起動方法が適用されるマルチタスクシステムの構成を示すブロック図
【図２】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法のシステムの起動時間、初期アクセス時間の説明図
【図３】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法の処理の手順を示すフローチャート
【図４】図３におけるステップＳ４のＯＳ初期化の詳しい処理内容を示すフローチャート
【図５】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で初期アクセス時間を追加した生成情報テーブルの一例を示す図
【図６】図５に関連した初期アクセス時間とタスク・オブジェクトの生成・非生成の説明図
【図７】図３におけるステップＳ７のスケジューラによる動的生成を含む処理の手順を示すフローチャート
【図８】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で初期アクセス時間更新の処理の手順を示すフローチャート
【図９】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で機能単位での初期アクセス情報の保持の一例を示す図
【図１０】本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法でシステム起動の初期化を時間軸で表した図
【図１１】一般的なＯＳを用いた従来技術のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図
【図１２】特許文献１のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図
【符号の説明】
【００８１】
Ａ  マルチタスクシステム
１  ＯＳ初期化部
２  スケジューラ
３  オブジェクト生成部
４  初期アクセス時間設定部
５  生成情報テーブル
Ｔａ  初期アクセス時間
Ｔｍ  起動時間
Ｔｏ  閾値
【図１】
2010211596.tif 000003
【図２】
2010211596.tif 000004
【図３】
2010211596.tif 000005
【図４】
2010211596.tif 000006
【図５】
2010211596.tif 000007
【図６】
2010211596.tif 000008
【図７】
2010211596.tif 000009
【図８】
2010211596.tif 000010
【図９】
2010211596.tif 000011
【図１０】
2010211596.tif 000012
【図１１】
2010211596.tif 000013
【図１２】
2010211596.tif 000014