JP2007200112A - タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム - Google Patents

タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム Download PDF

Info

Publication number
JP2007200112A
JP2007200112A JP2006019230A JP2006019230A JP2007200112A JP 2007200112 A JP2007200112 A JP 2007200112A JP 2006019230 A JP2006019230 A JP 2006019230A JP 2006019230 A JP2006019230 A JP 2006019230A JP 2007200112 A JP2007200112 A JP 2007200112A
Authority
JP
Japan
Prior art keywords
task
processing
time
signal
predetermined
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.)
Granted
Application number
JP2006019230A
Other languages
English (en)
Other versions
JP4472644B2 (ja
Inventor
Atsushi Matsumoto
淳 松本
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2006019230A priority Critical patent/JP4472644B2/ja
Publication of JP2007200112A publication Critical patent/JP2007200112A/ja
Application granted granted Critical
Publication of JP4472644B2 publication Critical patent/JP4472644B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

【課題】システム全体への改良を伴わずに、低い優先度のタスクにも安定して処理時間を割当てることを可能とするリアルタイムオペレーティングシステムを提供する。
【解決手段】リアルタイムOS10において、ウエイトタスク12は、最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクに応答信号を送信して終了する。複数のタスクの中で処理負荷が安定しないタスクAは、タスク管理部11により処理が開始あるいは再開される際に計時を開始し、計時する時間が所定の経過時間を超えるか否かを判定する。タスクAは、計時する時間が所定の経過時間を超えると判定した場合、ウエイトタスク12に対する処理要求シグナルを送信して処理を停止し、ウエイトタスクからの応答シグナルにより処理を再開する。
【選択図】図1

Description

本発明は、携帯電話端末等の組み込み型システム内で処理を行うタスクの処理を管理するタスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラムに関する。
携帯電話端末等の組み込み型システムに適用されるリアルタイムオペレーティングシステム(以下、リアルタイムOSと記載)では、マルチタスク方式等により複数のタスクの処理を管理する。個々のタスクは、コンピュータプログラムにより各種の機能が構成されており、携帯電話端末では、例えば、電話帳や電子メールを送受信するメーラ等のアプリケーションプログラムを制御するアプリケーションタスクや、基地局装置との通信を確立する通信制御タスク等が存在する。これらのタスクは、ユーザの操作や、他のタスクの処理に応じて発生する処理の要求信号等を受信して処理を開始する。
リアルタイムOSでは、複数のタスクに対して優先度を予め定めておき、当該優先度に応じてタスクの処理を開始させるようにしているが、優先度の高いタスクが処理を長時間占有してしまったり、処理速度の遅いデバイスドライバの処理が行われたりすることで、優先度の低いタスクの処理が行われずシステム全体の動作に支障をきたす場合がある。
そのような場合に対処するために、特許文献1では、処理速度の遅いデバイスがあってもシステム全体としての動作を安定させるために、タスクの処理時間の比率からデバイスを制御するタスク(デバイスドライバ)に処理を行わせる時間を算出して、デバイスを制御するタスクの負荷を分散させる技術が開示されている。
特開2003−241978号公報
しかしながら、特許文献1に示す技術では、デバイスを制御するタスクの処理時間を算出するためにアイドルカウンタ及びアイドルタスクを設けて、デバイスを制御するタスクの処理時間を算出する構成を備える等、システム全体の構成を大幅に改良しなければならないという問題がある。
本発明は、上記問題を解決するためになされたもので、その目的は、リアルタイムOS等のオペレーティングシステム全体への改良を伴わずに、低い優先度のタスクにも安定して処理時間を割当てることを可能とするタスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラムを提供することにある。
上記した課題を解決するために本発明は、処理の優先度が予め付与される複数のタスクと、前記タスクに処理を行わせるための信号を受信した際に前記優先度に従って受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムにおけるタスク処理管理方法であって、最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを起動させるステップと、前記複数のタスクの中で所定のタスクを、処理を開始あるいは再開させる際に計時すると共に計時する時間が予め定められる第1の所定時間を超えると前記ウエイトタスクへの処理要求信号を送信して処理を停止するタスクとして起動させるステップと、前記タスク管理部が、前記優先度に従って信号に応じた処理を前記所定のタスクに開始させ、当該タスクから前記ウエイトタスクへの処理要求信号を受信するステップと、前記タスク管理部が、前記優先度に従って受信した信号に応じた処理を前記タスク及び前記ウエイトタスクに開始させ、前記ウエイトタスクから前記所定のタスクへの前記応答信号を受信するステップと、前記タスク管理部が、前記応答信号に応じた処理として前記所定のタスクに処理を再開させるステップと、を含むことを特徴とするタスク処理管理方法である。
本発明は、上記に記載の発明において、前記所定のタスクが、停止する際に計時手段に計時を開始させるステップと、前記タスク管理部が、前記計時手段が計時する時間が予め定められる第2の所定時間を超えた場合、前記所定のタスクの処理を再開させるステップと、を更に含むことを特徴とする。
本発明は、上記に記載の発明において、前記タスク管理部及び前記複数のタスク及び前記ウエイトタスクは、携帯電話端末に具備される中央処理装置にて実行されることを特徴とする。
本発明は、上記に記載の発明において、前記複数のタスクには、前記所定のタスクよりも前記優先度の高いタスクが存在し、当該タスクは、基地局装置との無線通信の確立を行うタスクであることを特徴とする。
本発明は、上記に記載の発明において、当該タスクより前記優先度が低く前記ウエイトタスクより前記優先度の高い他のタスクが少なくとも1つ以上存在するタスクであり、前記所定のタスクの処理が開始されると平均的なタスクの処理時間よりも長時間処理を行う
ことを特徴とする。
本発明は、上記に記載の発明において、当該タスクより前記優先度が低く前記ウエイトタスクより前記優先度の高い他のタスクが少なくとも1つ以上存在するタスクであり、前記所定のタスクへの処理の開始を要求する処理要求信号が連続して前記タスク管理部により受信されることを特徴とする。
本発明は、処理の優先度が予め付与される複数のタスクと、前記タスクへの信号を受信した際に前記優先度に従って、受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムであって、最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを備え、前記複数のタスクの中で所定のタスクは、前記タスク管理部により処理が開始あるいは再開される際に計時を開始する処理時間計時手段と、前記処理時間計時手段が計時する時間が第1の所定時間を超えるか否かを判定する判定手段と、前記判定手段が、前記処理時間計時手段が計時する時間が前記第1の所定時間を超えると判定した場合、前記ウエイトタスクに対する処理要求信号を送信して処理を停止し、前記ウエイトタスクからの前記応答信号により処理を再開する処理手段とを備えたことを特徴とするオペレーティングシステムである。
本発明は、上記に記載の発明において、起動要求情報を受信して計時を開始し、計時した時間が予め定められる第2の所定時間を超えた場合に、タイムアウト信号を送信する計時手段を備え、前記所定のタスクの処理手段は、停止する際に、前記計時手段に前記起動要求情報を送信し、前記計時手段から送信される前記タイムアウト信号により処理を再開することを特徴とする。
本発明は、上記に記載の発明において、前記タスク管理部及び前記複数のタスク及び前記ウエイトタスクは、携帯電話端末に具備される中央処理装置にて実行されることを特徴とする。
本発明は、上記に記載の発明において、前記複数のタスクには、前記所定のタスクよりも前記優先度の高いタスクが存在し、当該タスクは、基地局装置との無線通信の確立を行うタスクであることを特徴とする。
本発明は、処理の優先度が予め付与される複数のタスクと、前記タスクに処理を行わせるための信号を受信した際に前記優先度に従って受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムを具備するコンピュータに、最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを起動させるステップと、前記複数のタスクの中で所定のタスクを、処理を開始あるいは再開させる際に計時すると共に計時する時間が予め定められる第1の所定時間を超えると前記ウエイトタスクへの処理要求信号を送信して処理を停止するタスクとして起動させるステップと、前記タスク管理部が、前記優先度に従って信号に応じた処理を前記所定のタスクに開始させ、当該タスクから前記ウエイトタスクへの処理要求信号を受信するステップと、前記タスク管理部が、前記優先度に従って受信した信号に応じた処理を前記タスクに行わせた後、前記ウエイトタスクに処理を開始させ、前記ウエイトタスクから前記所定のタスクへの前記応答信号を受信するステップと、前記タスク管理部が、前記応答信号に応じた処理として前記所定のタスクに処理を再開させるステップと、を実行させるためのコンピュータプログラムである。
この発明によれば、タスク処理管理方法は、最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを起動させ、複数のタスクの中で所定のタスクを、処理を開始あるいは再開させる際に計時すると共に計時する時間が予め定められる第1の所定時間を超えるとウエイトタスクへの処理要求信号を送信して処理を停止するタスクとして起動させ、タスク管理部が、優先度に従って信号に応じた処理を所定のタスクに開始させ、当該タスクからウエイトタスクへの処理要求信号を受信し、優先度に従って受信した信号に応じた処理をタスク及びウエイトタスクに開始させ、ウエイトタスクから所定のタスクへの応答信号を受信し、タスク管理部が、応答信号に応じた処理として所定のタスクに処理を再開させる構成とした。これにより、オペレーティングシステム全体への改良を伴わずに、低い優先度のタスクにも安定して処理時間を割当てることが可能となる。
以下、本発明の一実施形態を図面を参照して説明する。
図1は、本実施形態によるリアルタイムオペレーティングシステム(以下、リアルタイムOSと記載)を組み込んだ携帯電話端末100の内部構成を示す概略ブロック図である。
携帯電話端末100において、無線通信部101は、アンテナ106を介して携帯電話通信事業者が管理する基地局装置との間で無線信号による電話通信やデータ通信等を行う。表示部102は、例えば、液晶画面等が適用され、携帯電話端末100に具備されるアプリケーションプログラムにより出力される待ち受け画面や、電話帳等の画面を表示する。操作部103は、例えば、携帯電話端末100に具備されるキーボードであり、ユーザによるキーボードの押下を検出する。音源部104は、スピーカやマイクなどの入出力装置と共に、音信号を生成するIC(Integrated Circuit)チップなどを備え、電話の通話時のユーザの音声の入出力の他、ICチップにて生成した音楽等の音を出力する。制御部105は、例えば、CPU(Central Processing Unit)やRAM(Random Access Memory)等を備えており、CPUやRAM等により後述するリアルタイムOSを実行する。
制御部105において、リアルタイムOS10は、携帯電話端末等の組み込み型システムに多く用いられるオペレーティングシステムである。
ここで、リアルタイムOSとは、オペレーティングシステムが行うリソースの管理の中で、特に時間リソースの保護に重点をおいて管理することで、実行時間の予測可能性を高めており、これにより、例えば、通信等のプロトコルに規定されているタイマ値内に応答信号を送信するような処理を安定して行えるようなシステムを構築することができる。
リアルタイムOS10において、タスク(タスクAからE)は、無線通信部101や、表示部102や、操作部103や、音源部104などのハードウェア資源を用いて携帯電話端末100における各種の処理を実行する。また、それぞれのタスク、及び後述するウエイトタスク12には、予め優先度が付与されており、タスク管理部11は、当該優先度に応じてタスクの処理の開始を管理する。また、タスクは、ユーザの操作や、他のタスクの処理により送信されるシグナルをタスク管理部11を介して受信することにより、当該シグナルの種別に応じた処理を開始する。
ここで、シグナルとは、タスク及び、ウエイトタスクにより送受信される信号であり、要求元のタスクを示す情報と、要求先のタスクを示す情報と、シグナルの種別を示す情報とを含んでいる。シグナルの種別としては、処理の開始を指示するための処理要求シグナルや、ウエイトタスク12から送信される応答シグナルや、後述するタイマ18から送信されるタイムアウトシグナル等がある。
タスクBからタスクEは、携帯電話端末100におけるタスクの例を示したものである。タスクBは、APL(アプリケーション)タスクであり、待ち受け画面を表示するアプリケーションプログラムや、電話帳等のアプリケーションプログラムや、ゲームアプリケーションプログラム等の実行を管理する。タスクCは、音源制御タスクであり、音源部104にて、音を入出力させる等の処理を行う。タスクDは、表示制御タスクであり、例えば、タスクBに備えられる待ち受け画面のアプリケーションプログラムからの表示要求により、待ち受け画面を表示部102に表示する等の処理を行う。タスクEは、キー監視タスクであり、ユーザのキーボード操作を検出する操作部103からの検出信号を受けてどのキーが押下されたか等を検出し、検出したキーに対応するシグナルをタスク管理部11を介して他のタスクへ送信する等の処理を行う。
なお、携帯電話端末100におけるタスクは、タスクBからタスクE等の例に限られず、例えば、無線通信部100により基地局装置との間で無線信号による通信を確立する通信制御タスクや、内蔵されるカメラ等のデバイスを制御するタスク等も存在してもよい。
タスクAは、以下の説明において、処理負荷が安定しないタスクとして予め定められる所定のタスクの動作を説明するためのタスクである。タスクAとしては、例えば、表示部102に高精細な画面を表示するために平均的なタスクの処理時間よりも長時間、制御部105のCPUを占有してしまう場合のタスクDや、カメラ等のデバイスを制御するタスク等が該当し、当該タスクAが起動することにより、タスクAより優先度の低いタスクは処理を開始できない状態となる。
また、タスクAの他の例としては、多量のキー押下がユーザによって行われ、処理要求シグナルを連続して複数受信している場合のタスクE等が該当する。タスクEに該当する場合のタスクAは、キーの押下に対応する1つずつの処理の時間は短い。しかし、例えば、音源制御のタスクCにて音楽を出力している場合に、タスクAへの処理要求シグナルが多数存在すると、タスクAの方が優先度が高いため、タスクCに処理時間が割当てられず、音楽の音信号のファイルの音源のICチップへの読み込みに遅延が生じて音切れが生じるなどの不具合が発生する場合がある。この場合、優先度の高いタスクAへの処理要求シグナルがタスク管理部11により全て処理された後でなければ、タスクAより優先度の低いタスクは処理を開始できない状態となる。
ウエイトタスク12は、処理負荷が安定しないタスクAの処理を制御に用いられるタスクであり、最も低い優先度が付与されており、タスクAから処理要求シグナルを受信すると、処理要求シグナルの要求元のタスクAに対して応答シグナルを送信して処理を終了する。
ここで、本実施形態におけるタスクの優先度は、例えば、図2に示すように、タスクA、B、C、…の順に優先度が付与されているものとし、ウエイトタスク12は、上記したように最も低い優先度が付与されているものとする。なお、タスクAは、必ずしも最も優先度が高いわけではなく、例えば、上述した通信制御タスク等には、タスクAより上位の優先度が付与されることになる。
リアルタイムOS10において、タスク管理部11は、リアルタイムOS10が備える複数のタスクへの処理要求シグナル等のシグナルが存在すると、当該シグナルに対応するタスクの処理を開始させ、複数のタスクに対する複数のシグナルが存在する場合には、優先度に応じて当該シグナルに対応するタスクの処理を開始させる。
リアルタイムOS10において、タイマ18は、予め一定のタイムアウト時間が設定されており、起動要求情報を受信すると、当該一定のタイムアウト時間が経過するまで計時を行い、計時する時間が当該一定のタイムアウト時間を超えた場合に、起動要求情報の要求元のタスクへのタイムアウトシグナルを送信する。
図3は、タスク管理部11の内部構成を示す概略ブロック図である。タスク管理部11において、キュー111−1〜111−nは、それぞれのタスクに予め付与される優先度ごとに設けられ、各タスクへの処理要求シグナルや、応答シグナルや、タイマ18からのタイムアウトシグナル等を記憶する。開始指示部112は、キュー111−1〜111−nに記憶されている各タスクへのシグナルを優先度の高いキューから順に読み出し、優先度の高いキューにシグナルが存在しなくなると、次に優先度が高いキューからシグナルを読み出す。また、開始指示部112は、読み出したシグナルに対応するタスクに処理の開始指示情報とともにシグナルの種別を示す情報を送信する。
図4は、処理負荷が安定しないタスクであるタスクAの内部構成を示した概略ブロック図である。タスクAにおいて、タスク処理部120は、タスク管理部11の開始指示部112から開始指示情報とともにシグナルの種別を示す情報を受信し、シグナルの種別に応じて、無線通信部101や、表示部102や、操作部103や、音源部104等のデバイスや、他のタスクBからEを動作させるための処理を行う。また、タスク処理部120は、判定部120から処理停止の指示情報が入力されると、タスク管理部11を介してタイマ18にタイマの起動要求情報を送信し、ウエイトタスク12に処理要求シグナルを送信して処理を停止する。また、タスク処理部120は、タスク管理部11の開始指示部112から開始指示情報とともにウエイトタスク12からの応答シグナルのシグナル種別を示す情報を受信した場合、処理の停止により中断していた処理の再開を行う。
処理時間計時部121は、タスクAにおける処理が開始されると、開始してからの処理時間を計時し、一度計時が開始されるとタスクAが処理を行っている間、計時を行い、判定部122からリセット指示情報が入力されると処理時間を零にして、次に、開始指示情報が入力されるまで計時処理を停止する。
判定部122は、処理時間計時部121が計時する処理時間を参照し、処理時間計時部121が計時する処理時間が予め定められる所定の経過時間を超えるか否かを判定する。また、判定部122は、処理時間計時部121が計時する処理時間が予め定められる所定の経過時間を超えると判定した場合、タスク処理部120に処理停止の指示情報を入力し、処理時間計時部121にリセット指示情報を入力する。
なお、タスクA以外のタスクBからタスクEについては、タスク管理部11の開始指示部112から開始指示情報とともにシグナルの種別を示す情報を受信して、シグナルの種別に応じて、無線通信部101や、表示部102や、操作部103や、音源部104や他のタスクを動作させるタスクメイン処理を行う構成を少なくとも有している。
次に、図5を参照してタスクAの動作について説明する。
まず、携帯電話端末100の電源が投入されると制御部105が起動され、リアルタイムOS10が起動される。リアルタイムOS10が起動されるとタスクA、及びそれ以外のタスクBからタスクEが起動され、ウエイトタスク12も起動される。タスクAは、起動されるとタスクの初期化処理を行う(ステップSa1)。そして、処理時間計時部121が処理時間の計測、すなわち処理が行われた処理時間の計時を開始する(ステップSa2)。その後、タスク処理部120により、タスクメイン処理、すなわちタスク管理部11の開始指示部112から開始指示情報とともにシグナルの種別を示す情報を受信し、シグナルの種別に応じて、無線通信部101や、表示部102や、操作部103や、音源部104や他のタスクを動作させる処理を行う。ここで、タスクAは、複数の処理から構成されており、それぞれの処理の単位ごとに、一度処理を終了して、タスク管理部11に処理時間を割当て、他のタスクへの処理の開始を行わせる。そのため、他のタスクが処理を行っている間、タスクAは停止し、処理時間計時部121も計時を停止するため、上述したように処理時間計時部121が計時する時間は、タスクAの処理が行われている時間を示すこととなる(ステップSa3)。
タスク処理部120によるタスクメイン処理の間に、判定部122は、処理時間計時部121が計時する処理時間を参照し(ステップSa4)、処理時間計時部121が計時する処理時間が予め定められる所定の経過時間を超えているか否かを判定する(ステップSa5)。処理時間計時部121が計時する処理時間が所定の経過時間を超えていない間、タスク処理部120及び、判定部122は、それぞれステップSa3からステップSa5の処理を並列に繰り返し行い、処理時間計時部121は、タスクAが処理を行っている間は、経過時間の計時を継続する。
判定部122が処理時間計時部121が計時する処理時間が所定の経過時間を超えていると判定した場合、判定部122は、タスク処理部120に処理停止の指示情報を入力するとともに、処理時間計時部121に、リセット指示情報を入力する。当該リセット指示情報が入力される処理時間計時部121は、処理時間を零とする。次に、処理停止の指示情報が入力されるタスク処理部120は、ウエイトタスク12から応答シグナルを受信した際あるいはタイムアウトシグナルを受信した際に処理を再開するための情報を内部の記憶領域に記憶し、ウエイトタスク12への処理要求シグナルを送信して処理を停止する(ステップSa6)。また、処理停止の指示情報が入力されるタスク処理部120は、タスク管理部11を介してタイマ18に起動要求情報を送信する(ステップSa7)。そして、タスク処理部120は、シグナル受信待ち状態となり、処理を停止する(ステップSa8)。
タスク処理部120は、ウエイトタスク12からの応答シグナルの受信、あるいは、タイマ18からのタイムアウトシグナルの受信を監視し(ステップSa9、Sa10)、ウエイトタスク12から応答シグナルを受信した際、あるいはタイムアウトシグナルを受信した際に、内部の記憶領域から処理を再開するための情報を読み出して処理を再開するとともに、処理時間計時部121に開始指示情報を入力する(ステップSa11)。そして、処理時間計時部121が計時する処理時間が所定の経過時間を超えていない間、上記のステップSa3からステップSa5の処理を繰り返す。
上記の処理により、タスクAは、タスクメイン処理を開始してからの処理時間を計時することにより、処理時間が所定の経過時間を超えた場合、ウエイトタスク12に処理要求シグナルを送信することが可能となる。これにより、処理負荷が安定しないタスクAが処理を開始しても、所定の経過時間を超えた場合には、タスクAが停止するため、タスクA以外のタスクが処理を開始することが可能となる。また、他の全てのタスクの処理が終了すると、優先度の最も低いウエイトタスク12が処理を開始して、タスクAに応答シグナルを送信する構成としたため、他の全てのタスクの処理が終了した後に、タスクAに処理を再開させることが可能となる。
また、タスクAは、処理を停止する際に、タイマ18を起動し、タイマ18からタイムアウトシグナルを受信すると、処理を再開する構成とした。これにより、他のタスクの処理が継続してウエイトタスク12が起動されない場合であってもタイムアウト時間が経過した後は、タスクAに処理を再開させることが可能となる。
次に、図6を参照しつつウエイトタスク12の処理について説明する。
まず、携帯電話端末100の電源が投入されると制御部105が起動され、リアルタイムOS10が起動される。リアルタイムOS10が起動されるとウエイトタスク12は、他のタスクAからタスクEとともに起動され、タスクの初期化処理を行う(ステップSb1)。そして、ウエイトタスク12は、処理要求シグナル受信待ち状態となり(ステップSb2)、ウエイトタスク12は、タスク管理部11の開始指示部112からの処理要求シグナルの受信を監視する(ステップSb3)。そして、ウエイトタスク12が、タスク管理部11の開始指示部112から処理要求シグナルを受信した場合、処理要求シグナルの要求元のタスクAへの応答シグナルを送信し(ステップSb4)、ステップSb2の処理要求シグナル受信待ち状態となる。
上記の処理により、ウエイトタスク12は、処理要求シグナルに対して単に応答シグナルを送信する処理を行う構成であるため、ウエイトタスク12を追加してもその処理負荷はリアルタイムOS10に大きく影響を与えるものではなく、また、ウエイトタスク12は、リアルタイムOS10の1つのタスクとして構成されるため、処理時間の制御の対象となるタスクA以外のタスクBからEについては変更を伴わずに追加を行うことができる。
次に、図7から図9を参照しつつ、タスクAとタスクAより優先度の低いタスクBとが存在する場合のリアルタイムOS10の動作について説明する。
図7は、ウエイトタスク12からの応答シグナルを受信してタスクAが処理を再開する処理を示したシーケンス図である。
まず、前提として、携帯電話端末100の電源が投入され、制御部105が起動されることにより、リアルタイムOS10及びタスクA、並びにそれ以外のタスクBからタスクEが起動され、ウエイトタスク12も起動されている状態であるとする。
この状態にて、例えば、ユーザの操作部103の操作を受けてキー監視タスクのタスクEより、タスクAへの処理要求シグナルがタスク管理部11に送信される。タスクAへの処理要求シグナルは、タスクAに予め付与される優先度に従って、タスク管理部11のキュー111−1に記憶される(ステップSc1)。その後、ユーザの操作部103の操作を受けてキー監視タスクのタスクEより、タスクBへの処理要求シグナルがタスク管理部11に送信される。タスクBへの処理要求シグナルは、タスクBに予め付与される優先度に従って、タスク管理部11のキュー111−2に記憶される(ステップSc2)。
タスク管理部11の開始指示部112は、優先度の高いキュー、すなわちキュー111−1から処理要求シグナルを読み出し、読み出した処理要求シグナルに対応するタスクAに処理の開始指示情報とともにシグナルの種別、すなわち処理要求を示す情報を送信する。タスクAのタスク処理部120は、タスクメイン処理(図5:ステップSa3)にて、開始指示部112から開始指示情報とシグナルの種別を示す情報を受信して、シグナルの処理種別に対応するタスクメイン処理を開始する。このとき、処理時間計時部121も処理時間の計時を開始する(ステップSc3)。
次に、タスクAの判定部122は、タスク処理部120のタスクメイン処理と並行して、処理時間計時部121が計時する処理時間を参照し、当該処理時間が予め定められる所定の経過時間を超えているか否かを判定し、当該処理時間が予め定められる所定の経過時間を超えている場合、判定部122は、タスク処理部120に処理停止の指示情報を入力するとともに、処理時間計時部121に、リセット指示情報を入力する。当該リセット指示情報が入力される処理時間計時部121は、処理時間を零とする。処理停止の指示情報が入力されるタスク処理部120は、ウエイトタスク12から応答シグナルを受信した際あるいはタイムアウトシグナルを受信した際に処理を再開するための情報を内部の記憶領域に記憶し、タスク管理部11を介してタイマ18に起動要求情報を送信する(ステップSc4)。そして、タスク処理部120は、ウエイトタスク12への処理要求シグナルを送信して処理を停止する(ステップSc5)。
タスクAから送信されたウエイトタスク12への処理要求シグナルは、ウエイトタスク12の優先度に対応するタスク管理部11のキュー111−nに記憶される。次に、タスク管理部11の開始指示部112は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、開始指示部112は、キュー111−2に記憶される処理要求シグナルを読み出し、読み出した処理要求シグナルに対応するタスクBに処理の開始指示情報とともにシグナルの種別、すなわち処理要求を示す情報を送信する。
タスクBは、開始指示部112から処理の開始指示情報とともにシグナルの種別を示す情報を受信すると、タスクBのタスクメイン処理を開始し(ステップSc6)、タスクBのシグナルに対応する処理が終了すると停止する(ステップSc7)。タスクBが停止すると、タスク管理部11の開始指示部112は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、開始指示部112は、キュー111−nに記憶される処理要求シグナルを読み出し、読み出した処理要求シグナルに対応するウエイトタスク12に処理の開始指示情報とともにシグナルの種別を示す情報を送信する。ウエイトタスク12は、開始指示部112から開始指示情報とともにシグナルの種別を示す情報を受信すると、シグナルの種別を示す情報に含まれる要求元のタスクAへの応答シグナルを送信する(ステップSc8)。ウエイトタスク12から送信される応答シグナルは、タスクAに対応するキュー111−1に記憶される。
開始指示部は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、開始指示部112は、応答シグナルをキュー111−1から読み出し、読み出した応答シグナルに対応するタスクAに処理の開始指示情報とともにシグナルの種別、すなわち応答を示す情報を送信する。タスクAのタスク処理部120は、開始指示部112から、開始指示情報とともに応答のシグナル種別を示す情報を受信すると、処理を再開するための情報を内部の記憶領域から読み出して、処理を再開するとともに、処理時間計時部121に開始指示を入力する。開始指示が入力される処理時間計時部121は、処理時間の計時を開始し、ステップSc3からの処理を繰り返す(ステップSc9)。
上記の処理により、タスクAの処理時間が所定の経過時間を超えた場合に、ウエイトタスク12に処理要求シグナルを送信することで、優先度がタスクAより低いがウエイトタスク12より高いタスクBに処理を開始させることができる。これにより、処理負荷が安定しないタスクAへの改良と、ウエイトタスク12の追加のみでリアルタイムOS10全体への改良を伴わずに処理負荷の分散を図ることが可能となる。
なお、図7、及び後述する図8、図9において、網掛けの部分は、各タスクが処理を行うことができない時間を示したものである。
次に、図8は、ウエイトタスク12からの応答シグナルを受信してタスクAが処理を再開する処理であってタスクBへの処理要求シグナルが存在しない場合の処理に関するシーケンス図である。
図8の処理において、タスクAへの処理要求シグナルが送信され、タスクAからウエイトタスク12へ処理要求シグナルが送信されるまでのステップSd1、Sd2、Sd3、Sd4までの処理は、それぞれ、ステップSc1、Sc3、Sc4、Sc5の処理と同様の処理が行われる。
ステップSd1からSd4までの処理が行われた状態にて、タスク管理部11の開始指示部112は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、タスクBへの処理要求シグナルが存在しないため、開始指示部112は、最も優先度の低いキュー111−nに記憶されるウエイトタスク12への処理要求シグナルを読み出し、読み出した処理要求シグナルに対応するウエイトタスク12に処理の開始指示情報とともにシグナルの種別を示す情報を送信する。ウエイトタスク12は、開始指示部112から開始指示情報とともにシグナルの種別を示す情報を受信すると、シグナルの種別を示す情報に含まれる要求元のタスクAへの応答シグナルを送信する(ステップSd5)。ウエイトタスク12から送信される応答シグナルは、タスクAに対応するキュー111−1に記憶される。
次に、開始指示部は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、開始指示部112は、応答シグナルをキュー111−1から読み出し、読み出した応答シグナルに対応するタスクAに処理の開始指示情報とともにシグナルの種別、すなわち応答を示す情報を送信する。タスクAのタスク処理部120は、開始指示部112から、開始指示情報とともに応答のシグナル種別を示す情報を受信すると、処理を再開するための情報を内部の記憶領域から読み出して、処理を再開するとともに、処理時間計時部121に開始指示情報を入力する。開始指示情報が入力される処理時間計時部121は、処理時間の計時を開始し、ステップSd2からの処理を繰り返す(ステップSd6)。
上記の処理により、ウエイトタスク12は、処理が開始されると応答シグナルを送信して終了する処理しか行わないため、タスクBへの処理要求シグナルが存在しない場合には、タスクAは、ほとんど停止することなく処理を継続することができるため、タスクAは、無駄な処理停止を行うことなく、効率的に処理負荷の分散を図ることが可能となる。
次に、図9は、タイマ18からタイムアウトシグナルを受信してタスクAが処理を再開する処理を示したシーケンス図である。
図9において、ウエイトタスク12への処理要求シグナルが送信され、タスクBのタスクメイン処理が開始されるまでのステップSe1からステップSe6までの処理は、図7のステップSc1からSc6と同様の処理が行われる。
タスクBにおいてタスクメイン処理が行われている間に、タイマ18に予め定められるタイムアウト時間が経過すると、タイマ18は、タスクAへのタイムアウトシグナルを送信する。当該タイムアウトシグナルは、タスクAに対応するキュー111−1に記憶される(ステップSe7)。当該タイムアウトシグナルの発生により、タスクBのタスクメイン処理が終了すると(ステップSe8)、開始指示部は、シグナルが記憶されているキュー111−1〜111−nの中で最も優先度の高いキューからシグナルを読み出す。ここでは、開始指示部112は、タイムアウトシグナルをキュー111−1から読み出し、読み出したタイムアウトシグナルに対応するタスクAに処理の開始指示情報とともにシグナルの種別、すなわちタイムアウトを示す情報を送信する。
タスクAのタスク処理部120は、開始指示部112から、開始指示情報とともにタイムアウトのシグナル種別を示す情報を受信すると、処理を再開するための情報を内部の記憶領域から読み出して、処理を再開するとともに、処理時間計時部121に開始指示情報を入力する。開始指示情報が入力される処理時間計時部121は、処理時間の計時を開始し、ステップSe3からの処理を繰り返す(ステップSe9)
上記の処理によりタスクBがタスクAと同じく処理負荷が安定せず、長時間処理を継続するようなタスクであったとしても、一定のタイムアウト時間が経過した場合には、再びタスクAの処理が開始されるため、処理負荷の分散を図ることが可能となる。
なお、タスクA以外の複数のタスクについても、タスクAと同じようにウエイトタスク12による処理時間の制御を行うのであれば、タスクAと同様のタスク処理部120、処理時間計時部121や判定部122を備えさせ、それぞれのタスクに対応するウエイトタスク12を設けるようにしてもよい。
また、上記の実施形態では、リアルタイムOSについて記載したが、本発明はリアルタイムOSへの適用に限られず、マルチタスクオペレーティングシステム等を含む複数のタスクの処理を管理するオペレーティングシステムへ適用するようにしてもよい。
また、本発明の第1の所定時間は、所定の経過時間に対応し、第2の所定時間は、一定のタイムアウト時間に対応する。また、本発明の処理時間計時手段は、処理時間計時部121に該当し、判定手段は、判定部122、処理手段は、タスク処理部120に該当する。
上述の携帯電話端末は内部に、コンピュータシステムを有している。そして、上述したリアルタイムOSに係る各タスク及びウエイトタスクの処理は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
本実施形態による携帯電話端末の内部構成を示す概略ブロック図である。 同実施形態におけるタスクの優先度を説明するための図である。 同実施形態におけるタスク管理部の内部構成を示す概略ブロック図である。 同実施形態におけるタスクAの内部構成を示す概略ブロック図である。 同実施形態におけるタスクAの処理を示したフローチャートである。 同実施形態におけるウエイトタスクの処理を示したフローチャートである。 同実施形態におけるタスク間の処理(その1)を示したシーケンス図である。 同実施形態におけるタスク間の処理(その2)を示したシーケンス図である。 同実施形態におけるタスク間の処理(その3)を示したシーケンス図である。
符号の説明
10 リアルタイムOS
11 タスク管理部
12 ウエイトタスク
18 タイマ
100 携帯電話端末
101 無線通信部
102 表示部
103 操作部
104 音源部
105 制御部

Claims (11)

  1. 処理の優先度が予め付与される複数のタスクと、前記タスクに処理を行わせるための信号を受信した際に前記優先度に従って受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムにおけるタスク処理管理方法であって、
    最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを起動させるステップと、
    前記複数のタスクの中で所定のタスクを、処理を開始あるいは再開させる際に計時すると共に計時する時間が予め定められる第1の所定時間を超えると前記ウエイトタスクへの処理要求信号を送信して処理を停止するタスクとして起動させるステップと、
    前記タスク管理部が、前記優先度に従って信号に応じた処理を前記所定のタスクに開始させ、当該タスクから前記ウエイトタスクへの処理要求信号を受信するステップと、
    前記タスク管理部が、前記優先度に従って受信した信号に応じた処理を前記タスク及び前記ウエイトタスクに開始させ、前記ウエイトタスクから前記所定のタスクへの前記応答信号を受信するステップと、
    前記タスク管理部が、前記応答信号に応じた処理として前記所定のタスクに処理を再開させるステップと、
    を含むことを特徴とするタスク処理管理方法。
  2. 前記所定のタスクが、停止する際に計時手段に計時を開始させるステップと、
    前記タスク管理部が、前記計時手段が計時する時間が予め定められる第2の所定時間を超えた場合、前記所定のタスクの処理を再開させるステップと、
    を更に含むことを特徴とする請求項1に記載のタスク処理管理方法。
  3. 前記タスク管理部及び前記複数のタスク及び前記ウエイトタスクは、携帯電話端末に具備される中央処理装置にて実行されることを特徴とする請求項1または2に記載のタスク処理管理方法。
  4. 前記複数のタスクには、前記所定のタスクよりも前記優先度の高いタスクが存在し、当該タスクは、基地局装置との無線通信の確立を行うタスクであることを特徴とする請求項3に記載のタスク処理管理方法。
  5. 前記所定のタスクとは、当該タスクより前記優先度が低く前記ウエイトタスクより前記優先度の高い他のタスクが少なくとも1つ以上存在するタスクであり、前記所定のタスクの処理が開始されると平均的なタスクの処理時間よりも長時間処理を行う
    ことを特徴とする請求項1から4のいずれか1つに記載のタスク処理管理方法。
  6. 前記所定のタスクとは、当該タスクより前記優先度が低く前記ウエイトタスクより前記優先度の高い他のタスクが少なくとも1つ以上存在するタスクであり、前記所定のタスクへの処理の開始を要求する処理要求信号が連続して前記タスク管理部により受信される
    ことを特徴とする請求項1から4のいずれか1つに記載のタスク処理管理方法。
  7. 処理の優先度が予め付与される複数のタスクと、前記タスクへの信号を受信した際に前記優先度に従って、受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムであって、
    最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを備え、
    前記複数のタスクの中で所定のタスクは、
    前記タスク管理部により処理が開始あるいは再開される際に計時を開始する処理時間計時手段と、
    前記処理時間計時手段が計時する時間が第1の所定時間を超えるか否かを判定する判定手段と、
    前記判定手段が、前記処理時間計時手段が計時する時間が前記第1の所定時間を超えると判定した場合、前記ウエイトタスクに対する処理要求信号を送信して処理を停止し、前記ウエイトタスクからの前記応答信号により処理を再開する処理手段と、
    を備えたことを特徴とするオペレーティングシステム。
  8. 起動要求情報を受信して計時を開始し、計時した時間が予め定められる第2の所定時間を超えた場合に、タイムアウト信号を送信する計時手段を備え、
    前記所定のタスクの処理手段は、
    停止する際に、前記計時手段に前記起動要求情報を送信し、前記計時手段から送信される前記タイムアウト信号により処理を再開する
    ことを特徴とする請求項7に記載のオペレーティングシステム。
  9. 前記タスク管理部及び前記複数のタスク及び前記ウエイトタスクは、携帯電話端末に具備される中央処理装置にて実行されることを特徴とする請求項7または8に記載のオペレーティングシステム。
  10. 前記複数のタスクには、前記所定のタスクよりも前記優先度の高いタスクが存在し、当該タスクは、基地局装置との無線通信の確立を行うタスクであることを特徴とする請求項9に記載のオペレーティングシステム。
  11. 処理の優先度が予め付与される複数のタスクと、前記タスクに処理を行わせるための信号を受信した際に前記優先度に従って受信した信号に応じた処理を前記タスクに開始させるタスク管理部とを備えたオペレーティングシステムを具備するコンピュータに、
    最も低い前記優先度が付与され、処理を開始すると処理を要求した要求元の前記タスクへの応答信号を送信して終了するウエイトタスクを起動させるステップと、
    前記複数のタスクの中で所定のタスクを、処理を開始あるいは再開させる際に計時すると共に計時する時間が予め定められる第1の所定時間を超えると前記ウエイトタスクへの処理要求信号を送信して処理を停止するタスクとして起動させるステップと、
    前記タスク管理部が、前記優先度に従って信号に応じた処理を前記所定のタスクに開始させ、当該タスクから前記ウエイトタスクへの処理要求信号を受信するステップと、
    前記タスク管理部が、前記優先度に従って受信した信号に応じた処理を前記タスクに行わせた後、前記ウエイトタスクに処理を開始させ、前記ウエイトタスクから前記所定のタスクへの前記応答信号を受信するステップと、
    前記タスク管理部が、前記応答信号に応じた処理として前記所定のタスクに処理を再開させるステップと、
    を実行させるためのコンピュータプログラム。
JP2006019230A 2006-01-27 2006-01-27 タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム Expired - Fee Related JP4472644B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006019230A JP4472644B2 (ja) 2006-01-27 2006-01-27 タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006019230A JP4472644B2 (ja) 2006-01-27 2006-01-27 タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2007200112A true JP2007200112A (ja) 2007-08-09
JP4472644B2 JP4472644B2 (ja) 2010-06-02

Family

ID=38454657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019230A Expired - Fee Related JP4472644B2 (ja) 2006-01-27 2006-01-27 タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4472644B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782648B2 (en) 2007-10-19 2014-07-15 Mstar Semiconductor, Inc. Information processing system and related method thereof
CN110968418A (zh) * 2018-09-30 2020-04-07 北京忆恒创源科技有限公司 基于信号-槽的大规模有约束并发任务的调度方法与装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782648B2 (en) 2007-10-19 2014-07-15 Mstar Semiconductor, Inc. Information processing system and related method thereof
CN110968418A (zh) * 2018-09-30 2020-04-07 北京忆恒创源科技有限公司 基于信号-槽的大规模有约束并发任务的调度方法与装置

Also Published As

Publication number Publication date
JP4472644B2 (ja) 2010-06-02

Similar Documents

Publication Publication Date Title
CN110166192B (zh) 小区处理方法、终端设备及网络设备
WO2018082570A1 (zh) I/o请求的调度方法及装置
KR100925905B1 (ko) 효율적인 멀티프로세서 시스템 및 그 방법
CN106874077B (zh) 进程运行方法及装置
CN106454404A (zh) 一种播放直播视频的方法、装置和系统
CN104778055B (zh) 显示进度条的方法和装置
WO2017206915A1 (zh) 处理器中内核运行配置的确定方法以及相关产品
JP2005513644A (ja) オペレーティングシステム機能を実行する方法及びシステム並びに電子装置
EP3151085B1 (en) Method, apparatus and computer program product for controlling central processing unit
WO2009081593A1 (ja) 通信端末、通信方法および通信プログラム
WO2017206918A1 (zh) 终端加速唤醒方法以及相关产品
WO2014032250A1 (zh) 一种控制中央处理器的方法和装置
JPH10163954A (ja) 無線携帯情報端末装置
US20210105217A1 (en) System and method for a user equipment to process overlapping physical downlink shared channels
CN109992399B (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
JP4472644B2 (ja) タスク処理管理方法、及びオペレーティングシステム並びにコンピュータプログラム
US8543854B1 (en) Method and system for power configuration
CN117407133A (zh) 一种任务处理方法、装置及计算机可读存储介质
WO2024037068A1 (zh) 任务调度方法、电子设备及计算机可读存储介质
JPWO2014125643A1 (ja) アプリケーション転送システム、アプリケーション転送方法、端末、およびプログラム
JP7490785B2 (ja) メッセージ通知方法、端末及びネットワーク機器
KR20100107566A (ko) 멀티태스킹 환경에서 제어부 부하 제어를 위한 장치 및 방법
WO2016209391A2 (en) Group management of devices methods, apparatuses, and systems
CN102385529B (zh) 多cpu领域移动电子装置与其操作方法
US9588912B2 (en) Method and apparatus for controlling memory in electronic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4472644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees