(57)【要約】【課題】複数のタスクに排他処理を実装しても、それぞれのタスクの処理の競合、及びデッドロックの発生を回避することができる電子機器を提供すること。【解決手段】携帯電話機１は、複数のタスクを実行するタスク実行部４６１と、タスク実行部４６１により複数のタスクが実行される際、これら複数のタスクに共通なリソース６０へデータの送受信を実行する処理部４６２と、処理部４６２により複数のタスクがリソース６０へデータの送受信を行う場合、これら複数のタスクのそれぞれに互いに異なる排他処理を実行する排他処理部４６３とを備える。【選択図】図３
2010108179.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクを実行するタスク実行部と、
前記タスク実行部により前記複数のタスクが実行される際、当該複数のタスクに共通なリソースへデータの送受信を実行する処理部と、
前記処理部により前記複数のタスクが前記リソースへデータの送受信を行う場合、当該複数のタスクのそれぞれに互いに異なる排他処理を実行する排他処理部とを備えることを特徴とする電子機器。
【請求項２】
前記複数のタスクのうちの一のタスクへ前記リソースからの割り込み処理を実行する割り込み処理部と、
前記タスク実行部により実行される際の優先度が前記複数のタスクのうちの他のタスクより前記一のタスクが低い場合、前記一のタスクにおいて前記割り込み処理部による前記リソースからの割り込み処理を禁止する割り込み禁止処理を実行する割り込み禁止処理部とを更に備えることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記処理部は、
前記一のタスクにおいて前記リソースへデータを送信する送信処理を実行する送信処理部と、
前記送信処理部によるデータの送信に応じて、前記リソースからデータを受信する受信処理を実行する受信処理部とを更に備え、
前記排他処理部は、前記一のタスクにおいて前記送信処理部による送信処理と、前記受信処理部による受信処理とが実行される場合、前記排他処理に加えて更に異なる排他処理を実行することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記処理部は、
前記一のタスクから前記リソースへデータの書き込み処理を実行する書き込み処理部と、
前記リソースからのデータの読み込み処理を実行する読み込み処理部と、
前記リソースによる処理の終了を待機する待機処理を実行する待機処理部とを更に備え、
前記排他処理部は、前記書き込み処理部による書き込み処理と前記待機処理部による待機処理とが実行される前記複数のタスクのうちの第１のタスクと、前記割り込み処理部による割り込み処理に応じて前記読み込み処理部による読み込み処理が実行される前記複数のタスクのうちの第２のタスクとのそれぞれに互いに異なる排他処理を実行することを特徴とする請求項２に記載の電子機器。
【請求項５】
前記割り込み禁止処理部は、前記タスク実行部により実行される際の優先度が前記第２のタスクよりも前記第１のタスクが低い場合、前記第１のタスクにおいて割り込み禁止処理を実行することを特徴とする請求項４に記載の電子機器。
【請求項６】
前記処理部は、
前記リソースへ描画処理を実行する描画処理部と、
前記描画処理部による描画処理に応じて前記リソースからデータを受信する受信処理を実行する描画受信処理部とを更に備え、
前記排他処理部は、前記複数のタスクのうちの第３のタスクにおいて前記描画処理部による描画処理と前記描画受信処理部による受信処理とが実行される場合、前記排他処理に加えて更に異なる排他処理を実行することを特徴とする請求項５に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクを実行する電子機器に関する。
【背景技術】
【０００２】
従来、複数のタスクを実行する電子機器において、それぞれのタスクの競合を回避しつつ、共通のリソースにアクセス可能にするためには、排他処理を実装する必要がある。
【０００３】
排他処理は、電子機器内の複数のタスクを実行するソフトウェアにクリティカルセクションやセマフォを実装することで実現できる。また、特許文献１〜３に提案された技術を用いて排他処理を実行させることによっても実現することできる。
【０００４】
特許文献１には、複数のタスクを実行するときの優先度を可変にし、一のタスクがリソースにアクセスしている間は、この一のタスクの優先度を他のタスクより高くすることにより、他のタスクによる割り込み処理を防ぐ事によって排他処理を実行する技術が提案されている。
【０００５】
特許文献２及び３には、一のタスクがハードウェアからの割り込み処理を契機としてリソースにアクセスする場合、一のタスクがリソースにアクセスしている間は他のタスクによる割り込み処理を禁止し、リソースへのアクセスが終了した後に他のタスクの割り込み処理を有効にする技術が提案されている。
【特許文献１】特開平９−１６０７９０号公報
【特許文献２】特開平９−８１５２６号公報
【特許文献３】特開平１１−２０３１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１〜３の技術では、以下に示すような問題がある。図７及び図８は、従来の電子機器における処理の流れを示すシーケンス図である。図７に示すように、タスク１２０の書き込み処理と、タスク１１０の読み込み処理とを一対の処理Ｄとする。そして、処理Ｄ及びタスク１２０の書き込み処理を排他するために一の排他処理を実装すると、図８に示すように、タスク１２０はタスク１１０からの読み込み処理終了待ち、タスク１１０はタスク１２０の排他処理終了待ちとなる。このとき、タスク１１０とタスク１２０とは互いの処理の終了待ち状態となり、タスク１１０とタスク１２０とが動作しない状態（デッドロック）が発生してしまうことが想定される。
【０００７】
そこで、本発明は、複数のタスクに排他処理を実装しても、それぞれのタスクの処理の競合、及びデッドロックの発生を回避することができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る電子機器は、上記課題を解決するために、複数のタスクを実行するタスク実行部と、前記タスク実行部により前記複数のタスクが実行される際、当該複数のタスクに共通なリソースへデータの送受信を実行する処理部と、前記処理部により前記複数のタスクが前記リソースへデータの送受信を行う場合、当該複数のタスクのそれぞれに互いに異なる排他処理を実行する排他処理部とを備えることを特徴とする。
【０００９】
また、前記電子機器は、前記複数のタスクのうちの一のタスクへ前記リソースからの割り込み処理を実行する割り込み処理部と、前記タスク実行部により実行される際の優先度が前記複数のタスクのうちの他のタスクより前記一のタスクが低い場合、前記一のタスクにおいて前記割り込み処理部による前記リソースからの割り込み処理を禁止する割り込み禁止処理を実行する割り込み禁止処理部とを更に備えることが好ましい。
【００１０】
また、前記電子機器において、前記処理部は、前記一のタスクにおいて前記リソースへデータを送信する送信処理を実行する送信処理部と、前記送信処理部によるデータの送信に応じて、前記リソースからデータを受信する受信処理を実行する受信処理部とを更に備え、前記排他処理部は、前記一のタスクにおいて前記送信処理部による送信処理と、前記受信処理部による受信処理とが実行される場合、前記排他処理に加えて更に異なる排他処理を実行することが好ましい。
【００１１】
また、前記電子機器において、前記処理部は、前記一のタスクから前記リソースへデータの書き込み処理を実行する書き込み処理部と、前記リソースからのデータの読み込み処理を実行する読み込み処理部と、前記リソースによる処理の終了を待機する待機処理を実行する待機処理部とを更に備え、前記排他処理部は、前記書き込み処理部による書き込み処理と前記待機処理部による待機処理とが実行される前記複数のタスクのうちの第１のタスクと、前記割り込み処理部による割り込み処理に応じて前記読み込み処理部による読み込み処理が実行される前記複数のタスクのうちの第２のタスクとのそれぞれに互いに異なる排他処理を実行することが好ましい。
【００１２】
また、前記電子機器において、前記割り込み禁止処理部は、前記タスク実行部により実行される際の優先度が前記第２のタスクよりも前記第１のタスクが低い場合、前記第１のタスクにおいて割り込み禁止処理を実行することが好ましい。
【００１３】
また、前記電子機器において、前記処理部は、前記リソースへ描画処理を実行する描画処理部と、前記描画処理部による描画処理に応じて前記リソースからデータを受信する受信処理を実行する描画受信処理部とを更に備え、前記排他処理部は、前記複数のタスクのうちの第３のタスクにおいて前記描画処理部による描画処理と前記描画受信処理部による受信処理とが実行される場合、前記排他処理に加えて更に異なる排他処理を実行することが好ましい。
【発明の効果】
【００１４】
本発明によれば、複数のタスクに排他処理を実装しても、それぞれのタスクの処理の競合、及びデッドロックの発生を回避することができる電子機器を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について説明する。図１は、本発明に係る携帯電子機器の一例である携帯電話機１の外観斜視図を示す。なお、図１は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態としては特にこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式（ターンタイプ）や、操作部と表示部とが一つの筐体に配置され、連結部を有さない形式（ストレートタイプ）でもよい。
【００１６】
携帯電話機１は、操作部側筐体部２と、表示部側筐体部３と、を備えて構成される。操作部側筐体部２は、表面部に、操作部１１と、携帯電話機１の使用者が通話時に発した音声が入力されるマイク１２と、を備える。操作部１１は、各種設定や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作キー１３と、電話番号の数字やメール等の文字等を入力するための入力操作キー１４と、各種操作における決定やスクロール等を行う決定操作キー１５と、から構成されている。
【００１７】
また、表示部側筐体部３は、表面部に、各種情報を表示するためのＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）表示部２１と、通話の相手側の音声を出力するスピーカ２２と、を備える。
【００１８】
また、操作部側筐体部２の上端部と表示部側筐体部３の下端部とは、ヒンジ機構４を介して連結されている。また、携帯電話機１は、ヒンジ機構４を介して連結された操作部側筐体部２と表示部側筐体部３とを相対的に回転することにより、操作部側筐体部２と表示部側筐体部３とが互いに開いた状態（開放状態）にしたり、操作部側筐体部２と表示部側筐体部３とを折り畳んだ状態（折畳み状態）にしたりできる。
【００１９】
また、操作部側筐体部２は、外平面部に、時計やメールの着信等が表示されるサブＬＣＤ表示部３０が備えられている。
【００２０】
図２は、携帯電話機１の機能を示す機能ブロック図である。携帯電話機１は、図２に示すように、操作部１１（入力部）と、マイク１２と、メインアンテナ４０と、ＲＦ回路部４１と、ＬＣＤ制御部４２と、音声処理部４３と、メモリ４４（記憶部）と、制御部４５と、が操作部側筐体部２に備えられ、ＬＣＤ表示部２１（表示部）と、スピーカ２２と、ドライバＩＣ２３と、サブＬＣＤ表示部３０とが表示部側筐体部３に備えられている。
【００２１】
メインアンテナ４０は、第１の使用周波数帯（例えば、８００ＭＨｚ）で基地局等と通信を行い、ＧＰＳ通信のための第２の使用周波数帯（例えば、１．５ＧＨｚ）に対応できるデュアルバンド対応構成である。なお、本実施の形態では、第１の使用周波数帯として、８００ＭＨｚとしたが、これ以外の周波数帯であってもよい。また、メインアンテナ４０は、第１の使用周波数帯で外部装置と通信を行い、ＧＰＳ通信のための第２の使用周波数帯に対応できるアンテナを別途設けてもよい。
【００２２】
ＲＦ回路部４１は、メインアンテナ４０によって受信した信号を復調処理し、処理後の信号を制御部４５に供給する。そして、制御部４５から供給された信号を変調処理し、メインアンテナ４０を介して外部装置（基地局）に送信する。また、その一方で、メインアンテナ４０によって受信している信号の強度を制御部４５に通知する。
【００２３】
ＬＣＤ制御部４２は、制御部４５の制御にしたがって、所定の画像処理を行い、処理後の画像データをドライバＩＣ２３に出力する。ドライバＩＣ２３は、ＬＣＤ制御部４２から供給された画像データをフレームメモリに蓄え、所定のタイミングでＬＣＤ表示部２１又はサブＬＣＤ表示部３０に出力する。
【００２４】
音声処理部４３は、制御部４５の制御にしたがって、ＲＦ回路部４１から供給された信号に対して所定の音声処理を行い、処理後の信号をスピーカ２２に出力する。スピーカ２２は、音声処理部４３から供給された信号を外部に出力する。
【００２５】
また、音声処理部４３は、制御部４５の制御にしたがって、マイク１２から入力された信号を処理し、処理後の信号をＲＦ回路部４１に出力する。ＲＦ回路部４１は、音声処理部４３から供給された信号に所定の処理を行い、処理後の信号をメインアンテナ４０に出力する。
【００２６】
メモリ４４は、例えば、ワーキングメモリを含み、制御部４５による演算処理に利用される。また、メモリ４４には、複数のアプリケーションや当該アプリケーションが必要とする各種のテーブルや各種情報等が記憶されている。また、メモリ４４は、着脱可能な外部メモリを兼ねていてもよい。
【００２７】
制御部４５は、携帯電話機１の全体を制御しており、中央処理装置（ＣＰＵ）等を用いて構成される。
【００２８】
図３は、制御部４５及びＬＣＤ制御部４２の機能及び動作について示す機能ブロック図である。図３に示すように、制御部４５は、少なくとも、ベースバンド用のＣＰＵであるＣＰＵ４５１と、ワンセグデータのデコード機能や画像処理、表示処理、カメラ機能に関する処理等を実行するコプロセッサであるＣＰＵ４５２とを含んで構成される。
【００２９】
ＬＣＤ制御部４２は、ＣＰＵ４５２を基準としてＣＰＵ４５１とは反対側に配置され、ＣＰＵ４５１とＣＰＵ４５２とは、共通のデータバス５０を用いて通信を行い、また、ＣＰＵ４５２と、ＬＣＤ制御部４２とは、共通のデータバス５１を用いて通信を行う。
【００３０】
すなわち、ＣＰＵ４５１に対するＣＰＵ４５２及びＬＣＤ制御部４２は、ＣＰＵ４５１から共通にアクセスし、ＣＰＵ４５１へ共通にアクセスされるリソースであるといえる。以下、リソースとしてのＣＰＵ４５２及びＬＣＤ制御部４２をリソース６０という。
【００３１】
このように、本実施形態の制御部４５により実行される複数のタスクには、これら複数のタスクからのリソース６０への同時アクセスによる競合の発生を防ぐために、各々のタスクに排他処理を実行させることが必要となる。
【００３２】
ＣＰＵ４５１は、複数のタスクを並行して実行するタスク実行部４６１と、複数のタスクに所定の処理を実行する処理部４６２と、複数のタスクに排他処理を実行する排他処理部４６３と、複数のタスクに割り込み禁止処理を実行する割り込み禁止処理部４６４とを備える。
【００３３】
ＣＰＵ４５２は、タスクを実行するタスク実行部４８１と、所定の処理を実行する処理部４９１とを備える。また、処理部４９１は、ＣＰＵ４５１へ割り込み処理を実行する割り込み処理部４９１を備える。
【００３４】
タスク実行部４６１は、複数のタスクの実行を管理し、これら複数のタスクを並行して実行する。また、複数のタスクのそれぞれには、タスク実行部４６１により実行される際の優先度が予め設定され、メモリ４４に記憶されている。
【００３５】
処理部４６２は、タスク実行部４６１により複数のタスクが実行される際、これら複数のタスクに共通なリソース６０へデータの送受信を実行する。
【００３６】
また、処理部４６２は、一のタスクからリソース６０へデータの書き込み処理を実行する書き込み処理部４７１と、リソース６０からのデータの読み込み処理を実行する読み込み処理部４７２と、リソース６０による処理の終了を待機するための待機処理を実行する待機処理部４７３と、一のタスクにおいてリソース６０へデータを送信する送信処理を実行する送信処理部４７４と、送信処理部４７４によるデータの送信に応じて、リソース６０からデータを受信する受信処理を実行する受信処理部４７５と、リソース６０に対して描画処理を実行する描画処理部４７６と、描画処理部４７６による描画処理に応じて、リソース６０からデータを受信する受信処理を実行する描画受信処理部４７７と備える。
【００３７】
排他処理部４６３は、処理部４６２により複数のタスクがリソース６０データの送受信を行う場合、これら複数のタスクのそれぞれに互いに異なる排他処理を実行する。
【００３８】
そして、割り込み禁止処理部４６４は、タスク実行部４６１により実行される際の優先度が、複数のタスクのうちの他のタスクより一のタスクが低い（以降、「他のタスク＞一のタスク」と表現することがある）場合、一のタスクにおいて、割り込み処理部４９１によるリソース６０からの割り込み処理を禁止する割り込み禁止処理を実行する。
【００３９】
そして、排他処理部４６３は、一のタスクにおいて送信処理部４７４によるリソース６０への送信処理と、受信処理部４７５によるリソース６０からの受信処理とが実行される場合、一のタスクにおいて実行される排他処理に加えて、更に異なる排他処理を一のタスクにおいて実行する。
【００４０】
また、排他処理部４６３は、書き込み処理部４７１による書き込み処理と待機処理部４７３による待機処理とが実行される第１のタスクと、割り込み処理部４９１による割り込み処理に応じて、読み込み処理部４７２による読み込み処理を実行する第２のタスクとのそれぞれに互いに異なる排他処理を実行する。
【００４１】
そして、割り込み禁止処理部４６４は、タスク実行部４６１により実行される際の優先度が第２のタスクよりも第１のタスクが低い（第２のタスク＞第１のタスク）場合、第１のタスクにおいて割り込み禁止処理を実行する。
【００４２】
そして、排他処理部４６３は、複数のタスクのうちの第３のタスクにおいて描画処理部４７６による描画処理と、描画受信処理部４７７による受信処理とが実行される場合、第３のタスクにおいて実行される排他処理に加えて、更に異なる排他処理を実行する。
【００４３】
次に、本発明に係る第１実施形態〜第３実施形態について説明する。
【００４４】
＜第１実施形態＞
図４は、本発明の第１実施形態に係る制御部４５の処理の流れを示すシーケンス図である。第１実施形態では、ＣＰＵ４５１において、タスク実行部４６１によりタスク１００及びタスク１１０が実行され、ＣＰＵ４５２において、タスク実行部４８１によりタスク２００が実行される。また、タスク実行部４６１によりタスクが実行される際の優先度は、「タスク１００＞タスク１１０」と設定されている。
【００４５】
ステップＳ１において、排他処理部４６３は、タスク１１０における排他処理Ａの実行を開始する。
【００４６】
ステップＳ２において、排他処理部４６３は、タスク１１０における書き込み処理部４７１による書き込み処理の開始前に、排他処理Ａの実行を開始する。このとき、ステップＳ１での排他処理Ａの開始と重複するが、同一タスク上での処理であるため、無視される。
【００４７】
ステップＳ３において、書き込み処理部４７１は、ＣＰＵ４５２のタスク２００に対して書き込み処理を実行する。
【００４８】
ステップＳ４において、排他処理部４６３は、ステップＳ３における書き込み処理の終了に応じて、排他処理Ａを終了する。
【００４９】
ステップＳ５において、待機処理部４７３は、タスク１００における読み込み処理の終了を待機する待機処理を実行する。
【００５０】
ステップＳ６において、割り込み処理部４９１は、タスク１００に対して割り込み処理を実行する。
【００５１】
ステップＳ７において、排他処理部４６３は、ステップＳ６における割り込み処理に応じて、タスク１００における読み込み処理部４７２による読み込み処理の開始前に、排他処理Ｂの実行を開始する。
【００５２】
ステップＳ８において、読み込み処理部４７２は、タスク２００からの読み込み処理を実行する。
【００５３】
ステップＳ９において、読み込み処理部４７２は、タスク１００における読み込み処理の終了をタスク１１０へ通知する。
【００５４】
ステップＳ１０において、排他処理部４６３は、タスク１００における排他処理Ｂを終了する。
【００５５】
ステップＳ１１において、排他処理部４６３は、タスク１１０における排他処理Ａを終了する。
【００５６】
このように第１実施形態の携帯電話機１によれば、排他処理部４６３は、割り込み処理に応じて読み込み処理が実行されるタスク１００と、書き込み処理と待機処理とが実行されるタスク１１０とで互いに異なる排他処理を実行する。
【００５７】
これにより、排他処理Ａと排他処理Ｂとは互いに干渉しないため、タスク１１０において排他処理Ａを開始した後に、タスク１１０よりも優先度の高いタスク１００において排他処理Ｂを開始した場合であっても、タスク１００の処理が停止することなく、タスク１００における読み込み処理が実行される。そして、タスク１００における読み込み処理の終了によりタスク１１０の待機処理を終了させることが可能となり、デッドロックの発生を回避することができる。
【００５８】
＜第２実施形態＞
図５は、第２実施形態に係る制御部４５の処理の流れを示すシーケンス図である。第２実施形態も第１実施形態と同様に、ＣＰＵ４５１において、タスク実行部４６１によりタスク１００及びタスク１１０が実行され、ＣＰＵ４５２において、タスク実行部４８１によりタスク２００が実行される。また、タスク実行部４６１によりタスクが実行される際の優先度は、「タスク１００＞タスク１１０」と設定されている。
【００５９】
ステップＳ２１において、排他処理部４６３は、タスク１１０における排他処理Ａの実行を開始する。
【００６０】
ステップＳ２２において、排他処理部４６３は、タスク１１０における書き込み処理部４７１による書き込み処理の開始前に、排他処理Ａの実行を開始する。このとき、ステップＳ２１での排他処理Ａの開始と重複するが、同一タスク上での処理であるため、無視される。
【００６１】
ステップＳ２３において、書き込み処理部４７１は、ＣＰＵ４５２のタスク２００に対して書き込み処理を実行する。また、同時に割り込み禁止処理部４６４は、タスク１００よりも優先度の低いタスク１１０において、割り込み禁止処理を実行する。
【００６２】
ステップＳ２４において、排他処理部４６３は、ステップＳ２３における書き込み処理の終了に応じて、排他処理Ａを終了する。また、同時に割り込み禁止処理部４６４は、タスク１１０における割り込み禁止処理を終了する。
【００６３】
ステップＳ２５において、待機処理部４７３は、タスク１００における読み込み処理の終了を待機する待機処理を実行する。
【００６４】
ステップＳ２６において、割り込み処理部４９１は、タスク１００に対して割り込み処理を実行する。ここで、割り込み処理部４９１は、ステップＳ２３の書き込み処理中には、タスク１１０に割り込み禁止処理が実行されているため、ステップＳ２３の書き込み処理の終了後に、割り込み処理を実行する。
【００６５】
ステップＳ２７において、排他処理部４６３は、ステップＳ２６における割り込み処理に応じて、タスク１００における読み込み処理部４７２による読み込み処理の開始前に、排他処理Ｂの実行を開始する。
【００６６】
ステップＳ２８において、読み込み処理部４７２は、タスク２００からの読み込み処理を実行する。
【００６７】
ステップＳ２９において、読み込み処理部４７２は、タスク１００における読み込み処理の終了をタスク１１０へ通知する。
【００６８】
ステップＳ３０において、排他処理部４６３は、タスク１００における排他処理Ｂを終了する。
【００６９】
ステップＳ３１において、排他処理部４６３は、タスク１１０における排他処理Ａを終了する。
【００７０】
このように第２実施形態の携帯電話機１によれば、排他処理部４６３により、タスク１００と、タスク１１０とで互いに異なる排他処理を実行することに加え、割り込み禁止処理部４６４は、タスク１００よりも優先度の低いタスク１１０において、タスク２００からの割り込みを禁止する割り込み禁止処理を実行する。
【００７１】
これにより、タスク１１０における書き込み処理中は、タスク２００からの割り込み処理が禁止されるため、タスク１１０におけるタスク２００への書き込み処理中に、タスク１００におけるタスク２００からの読み込み処理を排他することができ、タスク１００とタスク１１０とで処理が競合することを回避することができる。
【００７２】
＜第３実施形態＞
図６は、第３実施形態に係る制御部４５の処理の流れを示すシーケンス図である。第３実施形態は、第１及び第２実施形態に加えて、タスク実行部４６１によりタスク１２０が実行される点が第１及び第２実施形態とは異なる。また、タスク実行部４６１によりタスクが実行される際の優先度は、「タスク１００＞タスク１１０＞タスク１２０」と設定されている。
【００７３】
ステップＳ４１において、排他処理部４６３は、タスク１１０における書き込み処理部４７１による書き込み処理の開始前に、排他処理Ａの実行を開始する。
【００７４】
ステップＳ４２において、書き込み処理部４７１は、タスク１１０においてＣＰＵ４５２のタスク２００に対して書き込み処理を実行する。また、同時に割り込み禁止処理部４６４は、タスク１００よりも優先度の低いタスク１１０において割り込み禁止処理を実行する。
【００７５】
ステップＳ４３において、排他処理部４６３は、タスク１２０において排他処理Ａを開始する。
【００７６】
ステップＳ４４において、排他処理部４６３は、タスク１２０において排他処理Ｂを開始する。
【００７７】
ステップＳ４５において、待機処理部４７３は、タスク１２０において待機処理を実行する。このとき、待機処理部４７３は、タスク１１０において実行される排他処理Ｂの終了を待機する。
【００７８】
ステップＳ４６において、排他処理部４６３は、タスク１１０における排他処理Ａを終了し、待機処理部４７３へ通知する。
【００７９】
ステップＳ４７において、描画処理部４７６は、タスク１１０における排他処理Ａの終了通知に応じて、ＬＣＤ制御部４２のタスク３００に対して描画処理を実行する。
【００８０】
ステップＳ４８において、割り込み処理部４９１は、タスク１００に対して割り込み処理を実行する。
【００８１】
ステップＳ４９において、排他処理部４６３は、排他処理Ｂの実行を開始する。
【００８２】
ステップＳ５０において、待機処理部４７３は、タスク１００において待機処理を実行する。このとき、待機処理部４７３は、タスク１２０における排他処理Ｂの終了を待機する。
【００８３】
ステップＳ５１において、描画受信処理部４７７は、ステップＳ４７における描画処理に応じて、タスク３００からの描画処理が終了したことの通知を受信する。
【００８４】
ステップＳ５２において、排他処理部４６３は、タスク１２０における排他処理Ｂを終了する。
【００８５】
ステップＳ５３において、排他処理部４６３は、タスク１２０における排他処理Ａを終了する。
【００８６】
ステップＳ５４において、読み込み処理部４７２は、タスク１００における読み込み処理を実行する。このとき、読み込み処理部４７２は、タスク２００からデータの読み込み処理を実行する。
【００８７】
ステップＳ５５において、排他処理部４６３は、タスク１００における排他処理Ａを終了する。
【００８８】
このように第３実施形態の携帯電話機１によれば、排他処理部４６３は、タスク１２０において描画処理部４７６による描画処理と、描画受信処理部４７７による受信処理とが実行される場合、タスク１２０において、排他処理Ａに加えて排他処理Ｂを実行する。
【００８９】
これにより、タスク１１０における書き込み処理中には、排他処理Ａと、割り込み禁止処理が実行される。また、タスク１００における読み込み処理中には、排他処理Ｂが実行される。また、タスク１２０における描画処理中には、排他処理Ａと排他処理Ｂとが実行される。
【００９０】
したがって、これらのタスク１００における読み込み処理、タスク１１０における書き込み処理、及びタスク１２０における描画処理が同時に実行されて、処理が競合することを回避できる。
【００９１】
以上、好適な実施形態について説明したが、本発明は上述した実施形態に限定されることなく種々の形態で実施することができる。例えば、本実施形態において、携帯電子機器として携帯電話機１について説明しているが、これに限定されず、ＰＨＳ（登録商標；Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ  ｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ポータブルナビゲーション装置、ノートパソコン等であってもよい。
【００９２】
また、上述の実施形態では、ＣＰＵ４５１は、ベースバンド用のＣＰＵであり、ＣＰＵ４５２は、コプロセッサであり、また、リソース６０は、ＣＰＵ４５２とＬＣＤ制御部４２とで構成されたが、これに限らず、他の機能及び動作を行うＣＰＵを用いて構成してもよい。
【図面の簡単な説明】
【００９３】
【図１】本発明に係る携帯電子機器の一例である携帯電話機の外観斜視図である。
【図２】携帯電話機の機能を示す機能ブロック図である。
【図３】制御部及びＬＣＤ制御部の機能及び動作について示す機能ブロック図である。
【図４】第１実施形態に係る制御部の処理の流れを示すシーケンス図である。
【図５】第２実施形態に係る制御部の処理の流れを示すシーケンス図である。
【図６】第３実施形態に係る制御部の処理の流れを示すシーケンス図である。
【図７】従来の電子機器における処理の流れを示すシーケンス図である。
【図８】従来の電子機器における処理の流れを示すシーケンス図である。
【符号の説明】
【００９４】
１  携帯電話機
４２  ＬＣＤ制御部
４５  制御部
６０  リソース
４６１  タスク実行部
４６２  処理部４６２
４６３  排他処理部
【図１】
2010108179.tif 000003
【図２】
2010108179.tif 000004
【図３】
2010108179.tif 000005
【図４】
2010108179.tif 000006
【図５】
2010108179.tif 000007
【図６】
2010108179.tif 000008
【図７】
2010108179.tif 000009
【図８】
2010108179.tif 000010