JP2010211596A - マルチタスクシステムにおけるシステム起動方法 - Google Patents

マルチタスクシステムにおけるシステム起動方法 Download PDF

Info

Publication number
JP2010211596A
JP2010211596A JP2009057976A JP2009057976A JP2010211596A JP 2010211596 A JP2010211596 A JP 2010211596A JP 2009057976 A JP2009057976 A JP 2009057976A JP 2009057976 A JP2009057976 A JP 2009057976A JP 2010211596 A JP2010211596 A JP 2010211596A
Authority
JP
Japan
Prior art keywords
time
initial access
task
access time
initialization
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.)
Withdrawn
Application number
JP2009057976A
Other languages
English (en)
Inventor
Yusuke Ito
祐介 伊藤
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009057976A priority Critical patent/JP2010211596A/ja
Priority to PCT/JP2010/000791 priority patent/WO2010103727A1/ja
Priority to CN201080008256.7A priority patent/CN102326146A/zh
Publication of JP2010211596A publication Critical patent/JP2010211596A/ja
Priority to US13/220,063 priority patent/US20120005687A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】マルチタスクシステムにおけるシステム起動方法でのタスク・オブジェクトの生成において、システムの起動時間の短縮化の効果がタスク・オブジェクトの生成数の増加の割には大きく、システムの起動の高速化が有効に行われるようにする。
【解決手段】マルチタスクシステムの電源オンS1に伴ってハードウェア初期化を行うステップS2と、セクション初期化を行うステップS3と、OS初期化を行うステップS4とを有するシステム起動方法であって、OS初期化のステップS4において、タスク・オブジェクトの初期アクセス時間Taを所定の閾値Toと比較し、初期アクセス時間Taが閾値To以下であるときはタスク・オブジェクトを静的生成することとし、初期アクセス時間Taが閾値Toを超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとする。
【選択図】図3

Description

本発明はマルチタスクシステムにおいてタスクやオブジェクト(セマフォやイベントフラグなど)を生成する方法にかかわり、特には、システムの起動時間を短縮して起動を高速化するための技術に関する。
近年、プログラムにおける制御の複雑化により、コンピュータによる仕事の単位であるタスクを一度に2つ以上処理することができるマルチタスクシステムが普及している。このマルチタスクシステムを用いることによって、複数のタスクを効率良く切り替えて実行することができる。さらに近時は、組込みソフトウェアの開発効率を向上するためのOS(Operating System)が用いられることが一般的になっている。組込み向けのOSとして、uITRON4.0が一般に広く浸透している。これは、アプリケーションを機能ごとにタスク化するもので、資産流用性を高めることができる。
商品セットの動向として多機能化、高機能化が加速しており、ソフトウェアの規模は増大化・複雑化する傾向にある。従来の商品セットでは10〜20個程度のタスク数であったものが、他分野の資産(タスク)を結合する場合には、タスク数が100を超えることもあり、タスクの設計を複雑化させている。
商品に対する要求の1つにシステムの起動時間の短縮化がある。しかし、タスク数が増加すると、システムの起動時にタスクの生成および初期化の時間がタスク数増加に応じて増加するという課題がある。
図11は一般的なOSを用いた従来技術のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図である。
時刻t0から時刻t1までにおいて、バスの設定や各種レジスタの設定などハードウェア初期化が行われる。時刻t1から時刻t2までにおいてセクションの初期化が行われる。最後に時刻t2から時刻t3においてOS初期化が行われ、すべての初期化が完了した後に、ユーザが任意の機能を使用可能な状態となる。
OS初期化では、OSの使用する変数の初期化とタスク・オブジェクト(タスクまたは/およびオブジェクト)の生成が行われる。特にタスク・オブジェクトの生成には、生成個数に応じた初期化時間が必要となり、近年の大規模なシステムにおいて起動時間が増加する要因となっている。
ここで、OSが使用するタスク・オブジェクトの生成方法としては、システム起動時に生成する静的生成と、起動完了後にアプリケーション内において特定のシステムコールを呼び出して生成を行う動的生成とがある。静的生成とは別に動的生成を行うことは、システムの起動時間を短縮化することにつながるが、反面、タスクの選定や設計の変更が必要となり、煩雑化は免れない。
システムの起動時間を短縮化する別の従来技術として、特許文献1に記載のシステム起動装置の例がある。すなわち、マルチタスクシステムにおいて、システムの起動時に各タスクの情報を情報テーブルおよび状態テーブルからタスク情報記憶部に読み込み、システムに必要な各タスクの前回のシステム停止に関する状態を参照し、前回停止時に起動状態にあったタスクのみを起動することによってシステムの起動時間を短縮化する。図12は特許文献1のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図である。時刻t0から時刻t1までにおいてハードウェア初期化を行い、時刻t1から時刻t2までにおいてセクション初期化を実施し、時刻t2から時刻3までにおいて前回起動状態だったタスクのみを起動する。この方式では、前回起動状態にあったタスクに絞り込むことにより、システムの起動時間が短縮化される。
特開平8−286936号公報
従来技術では、起動するタスクを前回停止時に起動状態にあったタスクとすることから、却って、すべてのタスクが起動状態であった場合には、システムの起動時間の短縮化が実現できない。起動状態にあったタスクの数が増えるに従って、起動時間短縮化の効果が薄れる。
また、近年の組込みシステムにおけるタスク構成としては様々な資産を流用して1つのシステムとするため、単純に1つのタスクが起動状態であるとしても、そのタスクを起動するために複数のタスクが前後に動作していた可能性がある。そうすると、起動状態にあったタスクのみを起動させるだけでは、システムとして必要な処理が行われておらず、正常に動作しなくなる可能性がある。
加えて、初回の起動や前回と異なる処理を行う際には、図11に示す通常の初期化と同様に長い時間が必要となり、システムの起動時間を短縮化することができない。
本発明は、このような事情に鑑みて創作したものであり、システムの起動時間の短縮化の効果がタスク・オブジェクトの生成数の増加の割には大きく、システムの起動の高速化が有効に行われるマルチタスクシステムにおけるシステム起動方法を提供することを目的としている。
本発明によるマルチタスクシステムにおけるシステム起動方法は、マルチタスクシステムの電源オンに伴ってハードウェア初期化を行うステップと、セクション初期化を行うステップと、OS初期化を行うステップとを有するシステム起動方法であって、前記OS初期化のステップにおいて、タスク・オブジェクトの初期アクセス時間を所定の閾値と比較し、前記初期アクセス時間が前記閾値以下であるときは前記タスク・オブジェクトを静的生成することとし、前記初期アクセス時間が前記閾値を超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとするものである。すなわち、タスク・オブジェクトの初期アクセス時間と所定の閾値との比較の結果に応じて、システム起動方法を静的生成とするか動的生成とするかを切り替え制御することを特徴とする。初期アクセス時間は、個々のタスク・オブジェクトについて、それが初めてアクセスされる場合に費やされる時間である。
ここで、前記静的生成として、前記システムの起動時間内に前記タスク・オブジェクトを生成することとするのが一般的である。また、前記動的生成として、前記システムの起動処理の完了後に、使用開始までにタスク・オブジェクトを生成することとするのが一般的である。この場合に、前記動的生成として、前記システムの起動処理の完了後のアイドル状態において前記タスク・オブジェクトを生成するのが好ましい1態様である。
以上のように本発明は、OS初期化の一定時間内において行う静的生成の対象とするタスク・オブジェクトを数的に制限することにしたものである。つまり、初期アクセス時間が相対的に短いタスク・オブジェクトであれば、それの静的生成を実行するが、初期アクセス時間が一定以上に長いタスク・オブジェクトについては、これの生成をOS初期化の一定時間内では実行しないで、起動完了後まで延期することとしたものである(動的生成とする)。
このように、システム起動から一定時間内のOS初期化で必要となるタスク・オブジェクトについては、その初期アクセス時間を比較的短めに設定しておくことにより、生成するタスク・オブジェクトはできる限り少ない数とする。一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成は当該のOS初期化では行わないこととする。OS初期化で生成を行うタスク・オブジェクトの数を制限することにより、システムの起動開始から起動完了までの時間(システムの起動時間)を短縮して起動を高速化することが可能となる。
以上の結果、あるタスクを起動するために、その前後に複数のタスクを動作させる必要があるような場合において、それら必要のあるタスクは積極的に起動対象とすることが可能となる。これによって、システムとして必要な処理は確実に行い、正常な動作を確保する。
また、初回の起動や前回と異なる処理を行う場合でも、システム起動から一定時間内において必要となるタスク・オブジェクトに絞り込んで生成を行うことにより、システムの起動時間の短縮化が図られる。
また、従来において動的に生成を行っていたようなタスク・オブジェクトについても、その利用頻度が高いタスク・オブジェクトであれば、これを静的に生成するようにすることが可能となる。その結果、利用頻度の高いタスク・オブジェクトに対する要求が発生したときの応答性を高いものにすることが可能となる。
また上記のシステム起動方法において、前記所定の閾値について、個々のタスク・オブジェクトについて前記システムの起動時間を基に前記閾値を算出するのが好ましい1態様である。システムの起動時間については、起動開始から起動完了までの処理時間を設定するものとする。この時間内に、ハードウェア初期化とセクション初期化に加えて任意の機能を受け付け可能とするべく、その機能のタスク・オブジェクトのアクセスを保証するのが閾値に相当する時間である。
また上記のシステム起動方法において、前記初期アクセス時間について、ユーザの利用状況に応じて前記初期アクセス時間を自動的に更新するものとするのが好ましい。
起動完了後に、実際にユーザから起動要求が発生した場合に、タスク・オブジェクトがアクセスされるまでの時間(実動アクセス時間)は、ユーザの利用状況に応じて変動する。したがって、このユーザの利用状況に応じて実動アクセス時間をフィードバックして初期アクセス時間に反映させると、ユーザの使用状況・好みに応じた状態でシステムの起動時間の短縮化をより効果的に進めることが可能となる。例えば、使用頻度の高い機能の初期化を優先的に行うことが可能となる。特に、従来、動的生成していたタスク・オブジェクトについても、利用頻度が高いものは静的生成することができるようになり、要求発生時の応答性向上が期待できる。
なお、ユーザの利用状況に応じた初期アクセス時間の自動的な更新の具体的な方法としては、実動アクセス時間を順次に累積し、平均化するのが好ましい1態様である。
また上記のシステム起動方法において、前記初期アクセス時間について、ユーザによって前記初期アクセス時間を設定可能とするのも好ましい。これは、上記とは別の初期アクセス時間の設定方法であり、ユーザが使用したい機能のタスク・オブジェクトを優先的に生成するために、そのオブジェクトの初期アクセス時間をユーザが自由に設定することが可能であるようにしておくものである。
また上記のシステム起動方法において、前記マルチタスクシステムは、特定の機能を使用するために必要なオブジェクトの一覧と、使用する機能単位での初期アクセス時間の情報とを保有するものとして構成され、前記オブジェクト一覧と前記初期アクセス時間情報によって前記オブジェクトの初期アクセス時間を設定することも好ましい1態様である。機能単位で使用するタスク・オブジェクトをグルーピングしておき、機能単位での初期アクセス時間の設定・更新をすることで、多機能化や汎用性拡張への展開が容易なものとなる。
本発明によれば、マルチタスクシステムの起動において、タスク・オブジェクトの初期アクセス時間と所定の閾値との比較の結果に応じて、システム起動方法を静的生成とするか動的生成とするかを切り替え制御するので、つまり、初期アクセス時間が相対的に短いタスク・オブジェクトであれば、それの静的生成を実行するが、初期アクセス時間が一定以上に長いタスク・オブジェクトについては、これの生成をOS初期化の一定時間内では実行しないで、起動完了後まで延期することとしたので、タスク・オブジェクトの生成数の増加の割にシステムの起動時間の短縮化の効果を大きなものとして、システムの起動の高速化を有効化することができる。
例えば、あるタスクを起動するために、その前後に複数のタスクを動作させる必要があるような場合において、それら必要のあるタスクを積極的に起動対象とすることによって、システムとして必要な処理は確実に行い、正常な動作を確保することができる。
また、初回の起動や前回と異なる処理を行う場合でも、システム起動から一定時間内において必要となるタスク・オブジェクトに絞り込んで生成を行うことにより、システムの起動時間を短縮化することができる。
また、従来において動的に生成を行っていたようなタスク・オブジェクトについても、その利用頻度が高いタスク・オブジェクトであれば、これを静的に生成するようにすることが容易であるので、利用頻度の高いタスク・オブジェクトに対する要求が発生したときの応答性を高いものにすることができる。
以下、本発明にかかわるマルチタスクシステムにおけるシステム起動方法の実施の形態について図面を用いて詳細に説明する。
図1は本発明の実施の形態におけるシステム起動方法が適用されるマルチタスクシステムAの構成を示すブロック図である。
このマルチタスクシステムAは、OS初期化の処理を行うOS初期化部1と、各タスクからのシステムコールの発行によって実行するタスクを切り替えるスケジューラ2と、タスク・オブジェクト(タスクまたは/およびオブジェクト)の生成を行うオブジェクト生成部3と、タスク・オブジェクトが初めてアクセスされる場合の初期アクセス時間Taをユーザが設定するための初期アクセス時間設定部4と、アクセスの制御を行うコントロールブロック9を生成するためのデータを保有する生成情報テーブル5と、システムが保証するシステムの起動時間Tmと、初期アクセス時間Taの比較基準となる閾値Toと、タスクおよびセマフォ・イベントフラグなどオブジェクトごとに状態を保持するコントロールブロック9とを備えている。
図2はシステムの起動時間Tm、初期アクセス時間Taの説明図である。
システムの起動時間Tmは、システムの起動開始から起動完了までの時間であり、これにはハードウェア初期化の時間、セクション初期化の時間、OS初期化およびタスク・オブジェクトの生成に見込まれる時間が含まれている。
初期アクセス時間Taは、システムの起動完了後においてタスク・オブジェクトが実際に初めてアクセスされる場合に費やされる時間である。初期アクセス時間Taは、初期アクセス時間設定部4によって個々のタスク・オブジェクトについて設定される。
初期アクセス時間Taの比較基準となる閾値Toは、システムの起動時間Tmを基に算出されるようになっている。すなわち、システムの起動時間Tmからハードウェア初期化およびセクション初期化の時間を減算し、その減算結果の時間TbにおいてOSのタスク・オブジェクトの生成に費やすことのできる時間として設定される。
図1に戻って、生成情報テーブル5はタスク・オブジェクトごとに存在し、ID6、タスク名7、状態8および初期アクセス時間Taなどを保有する。生成情報テーブル5の実体的な様子は図5の(a),(b)に例示されている。
コントロールブロック9もタスク・オブジェクト1つずつに対応するものである。コントロールブロック9において、10はID、11はタスク名、12は状態である。コントロールブロック9は、タスク・オブジェクトの静的生成や動的生成において、その生成の前提条件として、生成情報テーブル5から必要事項を読み出して生成されるものである。
次に、上記のように構成されたOSを含むマルチタスクシステムにおけるシステム起動方法の処理の手順を図3に示すフローチャートに従って説明する。
ステップS1において、要求によって電源がONされる。
次いでステップS2において、バスや各種のレジスタの設定などハードウェアの初期化を行う。
次いでステップS3において、セクションの初期化を行う。
次いでステップS4において、OSの初期化として、タスク・オブジェクトの生成やOS領域の初期化を行う。このステップS4での詳しい処理は図4で展開される(後述)。
次いでステップS5において、一連の起動処理を完了する。これにより、ユーザ要求による任意の機能を受け付け可能な状態となる。
次いでステップS6において、ユーザから使用したい機能の起動要求を待つ。
次いでステップS7において、ユーザから起動要求が発生したことを確認する。このステップS7での詳しい処理は図7で展開される(後述)。
次いでステップS8において、OSのタスク・オブジェクトの使用が開始され、要求のあった機能が動作する。
電源ONのタイミング(ステップS1)からシステムの起動完了のタイミング(ステップS5)までの処理時間がシステムの起動時間Tmである。このシステムの起動時間Tmは、システムへの要求として保証されるべきものである。
また、ステップS5の起動完了後から実際にユーザから起動要求が発生し、ステップS8のタスク・オブジェクトがアクセスされるまでの時間が初期アクセス時間Taである。そして、ステップS4ではOS初期化で必要となるタスク・オブジェクトのみを生成することとし、一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成を起動完了後に回すことによって、システムの起動時間Tmを短縮化する。
次に、ステップS4での処理について詳しく説明する。図4、図5、図6を用いて起動時間を短縮化するための処理内容について説明する。図4は図3におけるステップS4のOS初期化の詳しい処理内容を示すフローチャート、図5の(a),(b)は初期アクセス時間を追加した生成情報テーブル5の一例を示す図である。
ステップS11において、OS初期化部1は、任意のタスク・オブジェクトについて生成情報テーブル5に含まれる初期アクセス時間Taを取得する。図5の(a),(b)は初期アクセス時間Taが設定された生成情報テーブル5の例を示す。このようなテーブルは、タスク・オブジェクトごとに存在する。オブジェクトにはセマフォやイベントフラグが含まれる。
次いでステップS12において、OS初期化部1は、取得した初期アクセス時間Taを所定の閾値Toと比較し、初期アクセス時間Taが閾値To以下のときは、静的生成の入り口であるステップS13に進み、そうでないときは、ステップS13〜S15はスキップして、図3のステップS5へと進む。
静的生成を行うフローとして、ステップS13において、オブジェクト生成部3は、コントロールブロック9を生成するためのメモリの確保を行う。
次いでステップS14において、オブジェクト生成部3は、生成情報テーブル5のデータを基にコントロールブロック9の生成を行う。
次いでステップS15において、オブジェクト生成部3は、生成情報テーブル5の状態8の生成済みフラグを“1”にセットする。
初期アクセス時間Taが閾値Toより大きいオブジェクトに関しては、ここでは初期化されず、後の図8にて示す動的生成ステップにて生成を行うため、生成情報テーブル5の状態8の生成済みフラグを“0”に保持しておくものとする。
図5に示す例で閾値Toを10s(秒)とした場合には、静的に生成されるタスク・オブジェクトはtask1,task2およびsem1,sem2,flg1となり、残りのタスク・オブジェクトに関してはシステム起動後に生成されることになる。このように、システム起動から一定時間内のOS初期化で必要となるタスク・オブジェクトのみの生成に制限し、一定時間以上アクセスされる可能性がないタスク・オブジェクトについては、その生成を遅らせることによって、システムの起動時間Tmを短縮化することができる。図6は図5に関連した初期アクセス時間とタスク・オブジェクトの生成・非生成の説明図である。
次に、ステップS7での処理について詳しく説明する。これは、静的生成をされなかったタスク・オブジェクトの処理に関してである。図7は図3におけるステップS7のスケジューラ2による動的生成を含む処理の手順を示すフローチャートである。
システムの起動完了後、ステップS7において、ユーザ起動要求が発生すると、タスクを切り替える際にスケジューラ2が呼び出される。そして、ステップS21において、スケジューラ2は、次に起動するタスクの取得を行う。
次いでステップS22において、スケジューラ2は、取得された次起動のタスクがアイドルタスクか否かを判断する。アイドルタスクである場合はステップS23に進み、アイドルタスクでない場合はステップS25に進む。
次に起動するタスクがアイドルタスクであってステップS23に進むと、オブジェクト生成部3は、生成情報テーブル5より起動時に静的生成を行わなかった状態フラグが“0”にセットされているオブジェクトの情報を取得する。
さらに、オブジェクト生成部3は、タスク・オブジェクトの生成を行うステップS13〜ステップS15を呼び出すことにより、該当のタスク・オブジェクトが必要となる時刻までに、そのタスク・オブジェクトの生成を行う(ここでは動的生成となる)。そして、ステップS25にて、スケジューラ2はタスクの切り替えを行う。
なお、ステップS23における未生成オブジェクトを取得する方法としては、未生成なタスク・オブジェクトのうち初期アクセス時間Taが最も短いタスク・オブジェクトから優先的に生成を行うようにしてもよい。また、機能ごとにオブジェクトをグルーピングし、複数個所から呼ばれる可能性の高いタスク・オブジェクトに関して優先的に生成を行うことも考えられる。
一方、次に起動するタスクがアイドルタスクではなくてステップS24に進むと、スケジューラ2は、次に起動されるタスクの状態を示す生成済みフラグが“0”であるか否かを判断する。
生成済みフラグが“0”である場合には、前述同様にして、タスク・オブジェクトの生成のステップS13〜ステップS15を呼び出すことにより、該当のタスク・オブジェクトの生成を行う(動的生成)。
一方、生成済みフラグが“0”でない場合には、ステップS25に進み、タスクの切り替えを行う。
次に、初期アクセス時間Taを更新する方法を図8に示すフローチャートを用いて説明する。
ステップS31においてシステムの起動処理を行う。
次いでステップS32において、実際にタスク・オブジェクトにアクセスする。
次いでステップS33において、ステップS31のシステムの起動処理からステップS32のアクセス完了までの実際の時間を初期アクセス時間Taとして更新する。この初期アクセス時間Taの更新では、タスク・オブジェクトの初期アクセス時間Taを前回の値に加えて平均化して設定を行う。順次複数回分の更新を行っていくことにより、ユーザの使用状況・好みに応じて、使用頻度の高い機能の初期化を優先的に行うことが可能となる。
初期アクセス時間Taの別の設定方法としては、設計時に初期値として保持しておくことや、初期アクセス時間設定部4を用いてユーザが使用したい機能を優先的に生成するように設定することも考えられる。
また、これらの情報は図9に示すように、機能単位で使用するタスク・オブジェクトをグルーピング、機能単位での初期アクセス時間Taを設定・更新してもよい。
なお、動的生成を行っているタスクについても、これを静的生成するようにしてもよい。そうすれば、使用頻度の高い機能の応答性を高めることが可能となる。
図10は本実施の形態でシステム起動の初期化を時間軸で表した図である。
時刻t0から時刻t1までにおいてハードウェア初期化を行い、時刻t1から時刻t2までにおいてセクション初期化を実施する。時刻t2〜時刻t3のOS初期化ステップにおいて、初期アクセス時間と閾値との比較を行い、システム起動から一定時間内のOS初期化で必要となるタスク・オブジェクトのみの生成を行う。つまり、一定時間以上アクセスされる可能性がないタスク・オブジェクトの生成は遅らせる。
時刻t3にて起動完了した後に、時刻t4から時刻t5において、システム初期化時に生成しなかったオブジェクトの生成を行う。
本発明は上記の実施の形態に限定されず、本発明の趣旨の範囲内で種々の変形実施が可能である。
本発明のマルチタスクシステムにおけるシステム起動方法は、マルチタスクOSを搭載したシステムにおいてシステムの起動時間を短縮して起動を高速化するための技術として有用である。
本発明の実施の形態におけるシステム起動方法が適用されるマルチタスクシステムの構成を示すブロック図 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法のシステムの起動時間、初期アクセス時間の説明図 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法の処理の手順を示すフローチャート 図3におけるステップS4のOS初期化の詳しい処理内容を示すフローチャート 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で初期アクセス時間を追加した生成情報テーブルの一例を示す図 図5に関連した初期アクセス時間とタスク・オブジェクトの生成・非生成の説明図 図3におけるステップS7のスケジューラによる動的生成を含む処理の手順を示すフローチャート 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で初期アクセス時間更新の処理の手順を示すフローチャート 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法で機能単位での初期アクセス情報の保持の一例を示す図 本発明の実施の形態のマルチタスクシステムにおけるシステム起動方法でシステム起動の初期化を時間軸で表した図 一般的なOSを用いた従来技術のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図 特許文献1のマルチタスクシステムにおけるシステム起動の初期化を時間軸で表した図
A マルチタスクシステム
1 OS初期化部
2 スケジューラ
3 オブジェクト生成部
4 初期アクセス時間設定部
5 生成情報テーブル
Ta 初期アクセス時間
Tm 起動時間
To 閾値

Claims (8)

  1. マルチタスクシステムの電源オンに伴ってハードウェア初期化を行うステップと、セクション初期化を行うステップと、OS初期化を行うステップとを有するシステム起動方法であって、前記OS初期化のステップにおいて、タスク・オブジェクトの初期アクセス時間を所定の閾値と比較し、前記初期アクセス時間が前記閾値以下であるときは前記タスク・オブジェクトを静的生成することとし、前記初期アクセス時間が前記閾値を超えるときはタスク・オブジェクトの生成は起動完了後の動的生成に延期することとするマルチタスクシステムにおけるシステム起動方法。
  2. 前記静的生成として、前記システムの起動時間内に前記タスク・オブジェクトを生成する請求項1に記載のシステム起動方法。
  3. 前記動的生成として、前記システムの起動処理の完了後に、使用開始までにタスク・オブジェクトを生成する請求項1または請求項2に記載のシステム起動方法。
  4. 前記動的生成として、前記システムの起動処理の完了後のアイドル状態において前記タスク・オブジェクトを生成する請求項3に記載のシステム起動方法。
  5. 前記所定の閾値について、個々のタスク・オブジェクトについて前記システムの起動時間を基に前記閾値を算出する請求項1から請求項4までのいずれかに記載のシステム起動方法。
  6. 前記初期アクセス時間について、ユーザの利用状況に応じて前記初期アクセス時間を自動的に更新する請求項1から請求項5までのいずれかに記載のシステム起動方法。
  7. 前記初期アクセス時間について、ユーザによって前記初期アクセス時間を設定可能とする請求項1から請求項5までのいずれかに記載のシステム起動方法。
  8. 前記マルチタスクシステムは、特定の機能を使用するために必要なオブジェクトの一覧と、使用する機能単位での初期アクセス時間の情報とを保有するものとして構成され、前記オブジェクト一覧と前記初期アクセス時間情報によって前記オブジェクトの初期アクセス時間を設定する請求項1から請求項7までのいずれかに記載のシステム起動方法。
JP2009057976A 2009-03-11 2009-03-11 マルチタスクシステムにおけるシステム起動方法 Withdrawn JP2010211596A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009057976A JP2010211596A (ja) 2009-03-11 2009-03-11 マルチタスクシステムにおけるシステム起動方法
PCT/JP2010/000791 WO2010103727A1 (ja) 2009-03-11 2010-02-09 マルチタスクシステムにおけるシステム起動方法
CN201080008256.7A CN102326146A (zh) 2009-03-11 2010-02-09 多任务系统中的系统启动方法
US13/220,063 US20120005687A1 (en) 2009-03-11 2011-08-29 System activation method in multi-task system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057976A JP2010211596A (ja) 2009-03-11 2009-03-11 マルチタスクシステムにおけるシステム起動方法

Publications (1)

Publication Number Publication Date
JP2010211596A true JP2010211596A (ja) 2010-09-24

Family

ID=42728026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057976A Withdrawn JP2010211596A (ja) 2009-03-11 2009-03-11 マルチタスクシステムにおけるシステム起動方法

Country Status (4)

Country Link
US (1) US20120005687A1 (ja)
JP (1) JP2010211596A (ja)
CN (1) CN102326146A (ja)
WO (1) WO2010103727A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011103093A (ja) * 2009-11-12 2011-05-26 Lenovo Singapore Pte Ltd 高速で起動するコンピュータ
JP2012098972A (ja) * 2010-11-04 2012-05-24 Lenovo Singapore Pte Ltd コンピュータを短時間で起動する方法およびコンピュータ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074303B (zh) * 2017-06-27 2021-08-20 华为技术有限公司 一种卡顿检测方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0374730A (ja) * 1989-08-17 1991-03-29 Toshiba Corp 計算機システムのデッドロック防止装置
JPH0589049A (ja) * 1991-09-26 1993-04-09 Matsushita Electric Ind Co Ltd コマンド実行装置
JP3063582B2 (ja) * 1995-08-25 2000-07-12 富士ゼロックス株式会社 画像処理装置
JP4130453B2 (ja) * 2005-07-28 2008-08-06 京セラ株式会社 無線通信装置
JP4707603B2 (ja) * 2006-05-15 2011-06-22 パナソニック株式会社 リアルタイムosにおける処理時間配分方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011103093A (ja) * 2009-11-12 2011-05-26 Lenovo Singapore Pte Ltd 高速で起動するコンピュータ
US8499143B2 (en) 2009-11-12 2013-07-30 Lenovo (Singapore) Pte Ltd Method for shortening the boot time of a computer system
JP2012098972A (ja) * 2010-11-04 2012-05-24 Lenovo Singapore Pte Ltd コンピュータを短時間で起動する方法およびコンピュータ
US8661236B2 (en) 2010-11-04 2014-02-25 Lenovo (Singapore) Pte Ltd Partial initialization of divided programs in response to pre-boot and post-boot activation events to rapidly boot a computer system

Also Published As

Publication number Publication date
US20120005687A1 (en) 2012-01-05
WO2010103727A1 (ja) 2010-09-16
CN102326146A (zh) 2012-01-18

Similar Documents

Publication Publication Date Title
US7484220B2 (en) Method, software and apparatus for using application state history information when re-launching applications
JP6207818B2 (ja) システムオンチップ及びその動作方法並びに携帯用装置
US10152438B2 (en) Deferred inter-processor interrupts
JP5385347B2 (ja) メイン・メモリのフリー・メモリ量を拡大する方法およびコンピュータ
JP6240745B2 (ja) 複数のハイパーバイザを実行するシステムおよび方法
JP2008217530A (ja) 情報処理装置および設定方法
JP5026494B2 (ja) 高速で起動するコンピュータ
US9043806B2 (en) Information processing device and task switching method
JP5445669B2 (ja) マルチコアシステムおよび起動方法
JP2017037370A (ja) 計算機、プロセス制御方法およびプロセス制御プログラム
US20180081712A1 (en) Information processing apparatus, information processing method, and computer program product
WO2001009720A1 (fr) Systeme de gestion et systeme informatique virtuel
US6795873B1 (en) Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts
US20040098722A1 (en) System, method, and computer program product for operating-system task management
JP2010211596A (ja) マルチタスクシステムにおけるシステム起動方法
CN108196934B (zh) 一种定时器的定时设置方法、装置和虚拟化设备
JP2006146758A (ja) コンピュータシステム
JP2011013775A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2010152733A (ja) マルチコアシステム
JP2010097427A (ja) 処理装置、処理方法及びコンピュータプログラム
JP6291992B2 (ja) スマート端末、消費電力の状態の制御方法、および、消費電力状態制御プログラム
JP2007193744A (ja) 情報処理装置、プログラム、およびスケジューリング方法
JP2006004092A (ja) コンピュータシステム
CN112805978A (zh) 针对事件流处理的增强型锚协议
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110603

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120530