(57)【要約】【課題】マルチタスク処理システムにおいて、排他的制御を行う処理プログラムを開発者が容易に開発する。【解決手段】マルチタスク処理システムは、命令メッセージを送信する命令タスクと、処理タスクと、メッセージ管理タスクとを含む複数のタスクを並列的に実行する。メッセージ管理タスクは、命令メッセージ及び完了メッセージの中継を行う。メッセージ管理タスクが、排他的に処理を行う命令メッセージを受信したとき（Ｓ５１）、メッセージ管理タスクは、処理タスクが処理の実行を行うことができる状態か否かを判断する（Ｓ５２）。この判断の結果、処理タスクが処理を実行できない場合（Ｓ５３でＮＯ）、メッセージ管理タスクは、命令メッセージを記憶した後（Ｓ５４）、処理タスクから完了メッセージを受信した時（Ｓ５５でＹＥＳ）、記憶した命令メッセージを読出し（Ｓ５６）、この命令メッセージを処理タスクに送信する（Ｓ５７）。【選択図】図４
2009199364.tif 000002
【特許請求の範囲】
【請求項１】
他のタスクに対して処理の実行を命令する命令メッセージを送信する命令タスクと、
前記命令タスクから送信された前記命令メッセージの内容に基いて処理を実行すると共に、処理が完了したときに該命令タスクに対して処理が完了した旨を通知する完了メッセージを送信する処理タスクとを含む複数のタスクが並列的に実行されてマルチタスク処理を行うマルチタスク処理システムにおいて、
前記複数のタスクには、前記命令メッセージ及び前記完了メッセージの送受信を行うメッセージ管理タスクがさらに含まれ、
前記命令タスクは、前記命令メッセージを前記メッセージ管理タスクに対して送信し、
前記処理タスクは、前記完了メッセージを前記メッセージ管理タスクに対して送信し、
前記メッセージ管理タスクは、
前記命令タスクから前記命令メッセージを受信したとき、該命令メッセージの内容に基いて、前記命令メッセージに対応した処理を実行させる前記処理タスクが処理の実行を行うことができる状態か否かを判断し、
前記判断の結果、前記処理タスクが処理の実行を行うことができる状態であると判断したとき、前記命令メッセージを該処理タスクに対して送信し、
前記判断の結果、前記処理タスクが処理の実行を行うことができない状態であると判断したとき、前記命令メッセージを記憶した後、該処理タスクから前記完了メッセージを受信した時点で、記憶した該命令メッセージを該処理タスクに対して送信することを特徴とするマルチタスク処理システム。
【請求項２】
他のタスクに対して処理の実行を命令する命令メッセージを送信する命令タスクと、
前記命令タスクから送信された前記命令メッセージの内容に基いて処理を実行すると共に、処理が完了したときに該命令タスクに対して処理が完了した旨を通知する完了メッセージを送信する処理タスクとを含む複数のタスクが並列的に実行されてマルチタスク処理を行うマルチタスク処理システムにおいて、
前記複数のタスクには、前記命令メッセージ及び前記完了メッセージの送受信を行うメッセージ管理タスクがさらに含まれ、
前記命令タスクが送信する前記命令メッセージには、前記処理タスクに対して排他的処理の実行を命令する排他的命令メッセージが含まれ、
前記処理タスクは、前記完了メッセージを前記メッセージ管理タスクに対して送信し、
前記メッセージ管理タスクは、
前記命令タスクから前記排他的命令メッセージを受信したとき、該排他的命令メッセージの内容に基いて、前記排他的命令メッセージに対応した排他的処理を実行させる前記処理タスクが排他的処理の実行を行うことができる状態か否かを判断し、
前記判断の結果、前記処理タスクが排他的処理の実行を行うことができる状態であると判断したとき、前記排他的命令メッセージを該処理タスクに対して送信し、
前記判断の結果、前記処理タスクが排他的処理の実行を行うことができない状態であると判断したとき、前記排他的命令メッセージを記憶した後、該処理タスクから前記完了メッセージを受信した時点で、記憶した該排他的命令メッセージを該処理タスクに対して送信することを特徴とするマルチタスク処理システム。
【請求項３】
前記マルチタスク処理は、オペレーションシステムにより管理されていることを特徴とする請求項１又は請求項２に記載のマルチタスク処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタスク処理システムに関し、特に排他的制御を行うマルチタスク処理システムに関する。
【背景技術】
【０００２】
近年、テレビジョン受像機（以下、テレビという）等の電子機器を制御するソフトウェアの機能は複雑化している。具体的には、テレビは、図６に示すように、チューナの共振周波数の制御処理（Ｓ１０１）、音声入力信号のチャネル数検知処理（Ｓ１０２）、音声入力信号の切替処理（Ｓ１０３）、信号同期状態の検出処理（Ｓ１０４）、及びリモコン信号の受信処理や、筐体のボタン操作の感知処理や、遅延処理（Ｓ１０５）等の多くの処理を行う。
【０００３】
一般的に、この種の複雑な処理を実行するソフトウェアは、オペレーティングシステム（以下、ＯＳという）により制御される。ＯＳは、各処理に実行単位（タスク）を作成して設定することにより、各処理の実行順序等を制御している。
【０００４】
例えば、ＯＳが、チューナの共振周波数の制御処理や、信号の同期状態の検出処理等のチューナに関連する処理を全て行うタスク（以下、チューナタスクという）と、音声入力のチャネル数検知処理や音声入力信号の切替など音声入力に関する処理を全て行うタスク（以下、音声入力タスクという）とを作成する。そして、チューナタスク、及び音声入力タスクの一連の処理の順序を管理するタスク（以下、選局タスクという）をさらに作成する。このように、ＯＳが各処理にタスクを設定することにより制御を行うため、ソフトウェアの開発者はＯＳ上で容易にソフトウェアの開発を行うことができる。
【０００５】
ところで、選局タスクが何らかの処理をチューナタスクや音声入力タスクに命令するとき、ＯＳが提供するメッセージ機能を使用して情報の送受信を行う。メッセージを使用することにより情報がタスク間を移動する。処理を命令されたチューナタスク等が処理の完了を選局タスクに知らせる際にも、メッセージが使用される。
【０００６】
図７は、選局タスクＣがチューナタスクＤ、及び音声入力タスクＥに対してメッセージ（図７の処理命令）を送信し、チューナタスクＤ、及び音声入力タスクＥが、選局タスクＣに対して処理の完了を知らせるメッセージ（図７の完了通知）を送信する一例を示す。
【０００７】
図７に示すように、選局タスクＣは、チューナタスクＤに対して共振周波数の設定処理を命令する処理命令を送信（Ｓ１１１）した後、処理が完了した旨のメッセージを受信するための待ち状態（以下、待ち状態という）となり（Ｓ１１３）、チューナタスクＤは、この処理命令に基いて共振周波数の設定処理を行う（Ｓ１１２）。そして、このＳ１１２の処理が完了した場合、チューナタスクＤは、選局タスクＣに対して完了通知を送信（Ｓ１１４）した後、待ち状態となる（Ｓ１１５）。
【０００８】
また、選局タスクＣは、音声入力タスクＥに対して音声入力チャネル数検知処理を命令する処理命令を送信（Ｓ１２１）した後、待ち状態になり（Ｓ１２３）、音声入力タスクＥは、この処理命令に基いて音声入力チャネル数の検知処理を行う（Ｓ１２２）。そして、このＳ１２２の処理が完了した場合、音声入力タスクＥは、選局タスクＣに対して完了通知を送信（Ｓ１２４）した後、待ち状態となる（Ｓ１２５）。なお、図７に示すＳ１３１〜Ｓ１５１においても、選局タスクＣが、チューナタスクＤ及び音声入力タスクＥに対してメッセージの送受信を行うことにより各処理が行われるものであり、説明は省略する。
【０００９】
ところで、タスクによっては、受信した処理命令に基づく処理をタスク自身が処理しては都合が悪い場合がある。このような場合、処理命令を受信したタスクは、自身の代わりに処理を行う別のタスク（以下、子タスクという）に処理を命令する。処理を命令された子タスクは、処理が完了すると、命令元タスクに処理の完了を通知するメッセージを送信する。
【００１０】
このような処理の一例を図８に示す。ここでは、チューナタスクＤが、受信した処理命令に基く処理を実行できないものとする。まず、選局タスクＣは、チューナタスクＤに対して共振周波数の設定処理を命令する処理命令を送信（Ｓ２１１）した後、待ち状態になる（Ｓ２１３）。そして、チューナタスクＤは、子タスクｄに対して、選局タスクＣから受信した処理命令に基く処理命令を送信し（Ｓ２１２）、この処理の完了通知の待ち状態になる（Ｓ２１５）。
【００１１】
処理命令を受信した子タスクｄは、上記Ｓ２１２で送信された処理命令に基いて共振周波数の設定処理を行い（Ｓ２１４）、この処理が完了した場合、チューナタスクＤに対して完了通知を送信（Ｓ２１６）した後、待ち状態となる（Ｓ２１８）。
【００１２】
上記Ｓ２１６の完了通知を受信したチューナタスクＤは、選局タスクＣに対して完了通知を送信（Ｓ２１７）した後、待ち状態となる（Ｓ２１９）。
【００１３】
ところで、例えば、チューナタスクＤが子タスクｄの処理の完了を待つための待ち状態の間（上記Ｓ２１５〜上記Ｓ２１６の間）、チューナタスクＤに対して別の処理命令が送信されることがある。一般的に、特定のハードウェア（ここではチューナ）に対して複数の処理を同時に実行させると、いわゆる、干渉状態になり、正常な処理結果が得られないことがある。このとき、従来から一般的には、チューナタスクＤが処理命令を受信した順番に処理の実行を行う、所謂、排他的制御を行う。上記図８の例においては、子タスクから完了通知を受信した後（上記Ｓ２１６の後）、改めてチューナタスクＤが処理命令を実行する。
【００１４】
図９は、上述した排他的制御の一例を示す。ここでは、チューナタスクＤが、受信した処理命令に基く処理Ａを自身で実行できないものとする。まず、タスクＡが、チューナタスクＤに対して処理Ａを命令する処理命令を送信（Ｓ３１１）した後、待ち状態になる（Ｓ３１３）。そして、チューナタスクＤは、子タスクｄに対して、選局タスクＡから受信した処理命令に基く処理命令を送信し（Ｓ３１２）、この処理の完了通知の待ち状態になる（Ｓ３１４）。
【００１５】
そして、タスクＢが、チューナタスクＤに対して処理Ｂを命令するために処理命令を送信（Ｓ３１６）した後、待ち状態になる（Ｓ３１８）。この時点では、チューナタスクＤは、未だ、子タスクｄから処理の完了通知を受信していないので、タスクＢから送信された処理命令のメッセージを記憶し（Ｓ３１７）、再び、子タスクｄの処理完了通知の待ち状態となる（Ｓ３１９）。
【００１６】
一方、上記Ｓ３１２により処理命令を受信した子タスクｄは、上記Ｓ３１２で送信された処理命令に基いて処理Ａを行い（Ｓ３１５）、この処理が完了した場合、チューナタスクＤに対して完了通知を送信（Ｓ３２０）した後、待ち状態となる（Ｓ３２２）。
【００１７】
上記Ｓ３２０の完了通知を受信したチューナタスクＤは、タスクＡに対して、完了通知を送信し（Ｓ３２１）、上記Ｓ３１７において記憶した処理Ｂを実行する（Ｓ３２３）。
【００１８】
チューナタスクＤは、処理Ｂが完了した後、タスクＢに対して、完了通知を送信（Ｓ３２４）した後、待ち状態となる（Ｓ３２５）。
【００１９】
このように、チューナタスクＤは、排他的制御（上記Ｓ３１７、Ｓ３１９、Ｓ３２３等）を行うことにより、正常な処理結果を得ることができる。しかし、上述したような排他的制御を、チューナタスクＤを含む全てのタスクに実装することは、ソフトウェア開発者にとって開発が煩雑になるという問題がある。
【００２０】
これに対して、特許文献１及び特許文献２には、非同期割り込み処理方式及びその方法が開示されているが、タスクが割り込み処理を実行するための処理を実装する必要があるため、上記問題を解決できない。
【００２１】
また、特許文献３には、各処理タスクがメッセージ待ち部を有し、排他的制御を行うことができる処理方法が開示されているが、各タスクにメッセージ待ち部を実装するため、上記問題を解決できない。
【特許文献１】特開平１０−２８３２０６号公報
【特許文献２】特許３６５５６４８号
【特許文献３】特開２００４−３０３１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は、上述した問題点を解決するためになされたものであり、排他的制御を行う処理プログラムを開発者が容易に実装することができ、開発の容易なマルチタスク処理システムを提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記目的を達成するために請求項１の発明は、他のタスクに対して処理の実行を命令する命令メッセージを送信する命令タスクと、前記命令タスクから送信された前記命令メッセージの内容に基いて処理を実行すると共に、処理が完了したときに該命令タスクに対して処理が完了した旨を通知する完了メッセージを送信する処理タスクとを含む複数のタスクが並列的に実行されてマルチタスク処理を行うマルチタスク処理システムにおいて、前記複数のタスクには、前記命令メッセージ及び前記完了メッセージの送受信を行うメッセージ管理タスクがさらに含まれ、前記命令タスクは、前記命令メッセージを前記メッセージ管理タスクに対して送信し、前記処理タスクは、前記完了メッセージを前記メッセージ管理タスクに対して送信し、前記メッセージ管理タスクは、前記命令タスクから前記命令メッセージを受信したとき、該命令メッセージの内容に基いて、前記命令メッセージに対応した処理を実行させる前記処理タスクが処理の実行を行うことができる状態か否かを判断し、前記判断の結果、前記処理タスクが処理の実行を行うことができる状態であると判断したとき、前記命令メッセージを該処理タスクに対して送信し、前記判断の結果、前記処理タスクが処理の実行を行うことができない状態であると判断したとき、前記命令メッセージを記憶した後、該処理タスクから前記完了メッセージを受信した時点で、記憶した該命令メッセージを該処理タスクに対して送信するものである。
【００２４】
請求項２の発明は、他のタスクに対して処理の実行を命令する命令メッセージを送信する命令タスクと、前記命令タスクから送信された前記命令メッセージの内容に基いて処理を実行すると共に、処理が完了したときに該命令タスクに対して処理が完了した旨を通知する完了メッセージを送信する処理タスクとを含む複数のタスクが並列的に実行されてマルチタスク処理を行うマルチタスク処理システムにおいて、前記複数のタスクには、前記命令メッセージ及び前記完了メッセージの送受信を行うメッセージ管理タスクがさらに含まれ、前記命令タスクが送信する前記命令メッセージには、前記処理タスクに対して排他的処理の実行を命令する排他的命令メッセージが含まれ、前記処理タスクは、前記完了メッセージを前記メッセージ管理タスクに対して送信し、前記メッセージ管理タスクは、前記命令タスクから前記排他的命令メッセージを受信したとき、該排他的命令メッセージの内容に基いて、前記排他的命令メッセージに対応した排他的処理を実行させる前記処理タスクが排他的処理の実行を行うことができる状態か否かを判断し、前記判断の結果、前記処理タスクが排他的処理の実行を行うことができる状態であると判断したとき、前記排他的命令メッセージを該処理タスクに対して送信し、前記判断の結果、前記処理タスクが排他的処理の実行を行うことができない状態であると判断したとき、前記排他的命令メッセージを記憶した後、該処理タスクから前記完了メッセージを受信した時点で、記憶した該排他的命令メッセージを該処理タスクに対して送信するものである。
【００２５】
請求項３の発明は、請求項１又は請求項２に記載のマルチタスク処理システムにおいて、前記マルチタスク処理は、オペレーションシステムにより管理されているものである。
【発明の効果】
【００２６】
請求項１の発明によれば、メッセージ管理タスクは、処理タスクが処理の実行を行うことができない状態であると判断したとき、命令メッセージを記憶した後、処理タスクから完了メッセージを受信した時点で、記憶した命令メッセージを処理タスクに対して送信する。このように、メッセージ管理タスクが、排他的制御を行うようにしたことにより、開発者が各タスクに排他的制御を実装する必要がないため、排他的制御を行う処理プログラムを開発者が容易に開発することができる。
【００２７】
請求項２の発明によれば、メッセージ管理タスクは、排他的命令メッセージを受信したとき、排他的処理を実行させる処理タスクが排他的処理の実行を行うことができる状態か否かを判断し、排他的処理を実行させる処理タスクが排他的処理の実行を行うことができない状態であると判断したとき、排他的命令メッセージを記憶した後、処理タスクから完了メッセージを受信した時点で、記憶した排他的命令メッセージを処理タスクに対して送信する。このように、メッセージ管理タスクが、排他的制御を行うようにしたことにより、開発者が各タスクに排他的制御を実装する必要がないため、排他的制御を行う処理プログラムを開発者が容易に開発することができる。
【発明を実施するための最良の形態】
【００２８】
本発明の一実施形態に係るマルチタスク処理システムについて、図１乃至図３を参照して説明する。本実施形態に係るマルチタスク処理システムの一例として、マルチタスク処理システムを用いたテレビジョン受像機（以下、テレビという）１の外観を図１に示し、概略構成を図２に示す。図３はテレビ１の各処理を示すフローチャートである。
【００２９】
テレビ１は、ディスプレイ１１と、音声を出力可能なスピーカ１２と、ＴＶ受像機１の各部の動作を制御する制御用マイコン１０と、外部のアンテナに接続され、このアンテナにより受信されるＴＶ放送の所望の番組を選局するチューナ１４と、装置本体とは別体となるリモコン装置２から送信された操作信号を受信する受信部１５等で構成されている。
【００３０】
テレビ１は、制御用マイコン１０による制御に基き、例えばチューナ１４により選局されたＴＶ放送番組の画像・音声等を、ディスプレイ１１やスピーカ１２を介して視聴可能にすることができるように構成されている。
【００３１】
制御用マイコン１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、その他の電子部品で構成され、図３に示すように、チューナ１４の共振周波数の制御処理（Ｓ１）、音声入力のチャネル数検知処理（Ｓ２）、音声入力信号の切替処理（Ｓ３）、信号同期状態の検出処理（Ｓ４）、及びリモコン信号の受信処理や、筐体のボタン操作の感知処理や、遅延処理（Ｓ５）等の多くの処理を行う。
【００３２】
制御用マイコン１０を動作させるソフトウェアは、オペレーティングシステム（以下、ＯＳという）２０により制御されたマルチタスク処理システム３０であり、ＯＳ２０は、各処理に実行単位（以下、タスクという）を作成して制御することにより、各タスクが擬似的に並行的に実行される。各タスクは、ＯＳ２０が提供するメッセージ機能を使用して情報の送受信を行う。
【００３３】
マルチタスク処理システム３０は、図２に示すように、命令メッセージを送信する命令タスク３１と、処理を行う処理タスク３２と、メッセージ管理タスク３３とを含む複数のタスクが並列的に実行されてマルチタスク処理を行うものである。なお、図２には便宜上、命令タスク３１及び処理タスク３２をそれぞれ１つしか示していないが、どちらも複数個存在してもよい。
【００３４】
命令タスク３１は、他のタスクに対して処理の実行を命令する命令メッセージを送信するタスクであり、命令メッセージをメッセージ管理タスク３３に対して送信する。
【００３５】
処理タスク３２は、命令タスク３１から送信された命令メッセージの内容に基いて処理を実行すると共に、処理が完了したときに処理が完了した旨を通知する完了メッセージをメッセージ管理タスク３３に対して送信するタスクである。
【００３６】
メッセージ管理タスク３３は、命令メッセージ及び完了メッセージの送受信を行うタスクであり、命令タスク３１及び処理タスク３２に対してメッセージの中継を行う。また、メッセージ管理タスク３３は、排他的に処理を行うように登録された命令メッセージを受信したとき、処理を行うタスクの実行状態を判断して、タスクに対して処理の排他的制御を行う。排他的制御の詳細については後述する。
【００３７】
次に、メッセージ管理タスク３３による排他的制御の処理について、図４に示すフローチャートを参照して説明する。まず、メッセージ管理タスク３３が、命令タスク３１から排他的に処理を行うように登録された命令メッセージを受信したとき（Ｓ５１）、メッセージ管理タスク３３は、命令メッセージの内容に基いて、命令メッセージに対応した排他的処理を実行させる処理タスク３２が処理の実行を行うことができる状態か否かを判断する（Ｓ５２）。
【００３８】
この判断の結果、処理タスク３２が処理を実行できる場合（Ｓ５３でＹＥＳ）、メッセージ管理タスク３３は、命令メッセージを処理タスク３２に送信する（Ｓ５７）。
【００３９】
一方、上記Ｓ５３の判断の結果、処理タスク３２が処理を実行できない場合（Ｓ５３でＮＯ）、メッセージ管理タスク３３は、命令メッセージを記憶した後（Ｓ５４）、処理タスク３２から完了メッセージを受信した時（Ｓ５５でＹＥＳ）、Ｓ５４で記憶した命令メッセージを読出し（Ｓ５６）、この命令メッセージを処理タスク３２に送信する（Ｓ５７）。
【００４０】
次に、メッセージ管理タスク３３による排他的制御の具体例について、図５を参照して説明する。ここでは、ＯＳ２０が、チューナ１４の共振周波数の制御処理や、信号の同期状態の検出処理等のチューナ１４に関連する処理を全て行うタスク（以下、チューナタスクという）Ｄを作成し、命令タスクであるタスクＡ、及びタスクＢが、チューナタスクＤに対して処理命令を行わせるものとする。
【００４１】
チューナタスクＤは、受信した処理命令に基づく処理をタスク自身が処理しては都合が悪い場合、自身の代わりに処理を行う別のタスク（以下、子タスクという）に処理を命令するものとする。図５におけるメッセージ管理タスクＭは、上記図２に示したメッセージ管理タスク３３と同じである。
【００４２】
まず、タスクＡが、メッセージ管理タスクＭに対して、チューナタスクＤが排他的に処理Ａを行うように命令するための処理命令（の命令メッセージ）を送信（Ｓ１１）した後、処理が完了した旨のメッセージを受信するための待ち状態（以下、待ち状態という）になる（Ｓ１２）。メッセージ管理タスクＭは、チューナタスクＤに対して、タスクＡから受信した処理命令（のメッセージ）の内容に基いて、処理命令を送信（中継）する（Ｓ１５）。なお、ここでは、メッセージ管理タスクＭは、チューナタスクＤが処理を行うことができると判断したものとする。
【００４３】
そして、メッセージ管理タスクＭは、現在、チューナタスクＤが排他的処理を実行しているため、別の処理を受け付けることが出来ないことを記憶すると共に、待ち状態となる（Ｓ１６）。
【００４４】
そして、チューナタスクＤは、子タスクｄに対して、メッセージ管理タスクＭから受信した処理命令（のメッセージ）に基く処理命令（のメッセージ）を送信し（Ｓ２５）、待ち状態になる（Ｓ２６）。
【００４５】
そして、タスクＢが、メッセージ管理タスクＭに対して、チューナタスクＤが処理Ｂを行うように命令する処理命令（のメッセージ）を送信（Ｓ１３）した後、待ち状態になる（Ｓ１４）。そして、メッセージ管理タスクＭは、未だ、チューナタスクＤから処理の完了通知を受信していないので、チューナタスクＤは、処理を行うことができないと判断し、タスクＢから送信された処理命令のメッセージを記憶し（Ｓ１７）、再び、チューナタスクＤの処理完了通知の待ち状態となる（Ｓ１８）。なお、処理Ｂは排他的処理でないものとする。
【００４６】
子タスクｄは、上記Ｓ２５でチューナタスクＤから送信された処理命令（のメッセージ）に基いて処理Ａを行い（Ｓ３２）、この処理が完了した場合、チューナタスクＤに対して完了通知（完了メッセージ）を送信（Ｓ３３）した後、待ち状態となる（Ｓ３４）。
【００４７】
そして、上記Ｓ３３により完了通知を受信したチューナタスクＤは、メッセージ管理タスクＭに対して、完了通知（完了メッセージ）を送信し（Ｓ２７）、待ち状態となる（Ｓ２８）。
【００４８】
そして、上記Ｓ２７により完了通知を受信したメッセージ管理タスクＭは、タスクＡに対して、完了通知（完了メッセージ）を送信すると共に、上記Ｓ１６において記憶したチューナタスクＤの状態情報を消去する（Ｓ１９）。そして、メッセージ管理タスクＭは、上記Ｓ１７で記憶していた処理命令の内容に基いて、チューナタスクＤに対して、処理命令（のメッセージ）を送信（Ｓ２０）した後、記憶していたメッセージを消去し（Ｓ２１）、待ち状態となる（Ｓ２２）。
【００４９】
そして、チューナタスクＤは、受信した処理命令（のメッセージ）に基いて処理Ｂを行い（Ｓ２９）、この処理が完了した場合、メッセージ管理タスクＭに対して完了通知（完了メッセージ）を送信（Ｓ３０）した後、待ち状態となる（Ｓ３１）。
【００５０】
そして、上記Ｓ３０により完了通知を受信したメッセージ管理タスクＭは、タスクＢに対して、完了通知を送信（Ｓ２３）した後、待ち状態となる（Ｓ２４）。
【００５１】
上述したように、本実施形態に係るマルチタスク処理システム３０によれば、メッセージ管理タスク３３が、排他的命令メッセージを受信したとき、この排他的命令メッセージに対応した排他的処理を実行させる処理タスクが排他的処理の実行を行うことができる状態か否かを判断し、排他的処理を実行させる処理タスクが排他的処理の実行を行うことができない状態であると判断したとき、排他的命令メッセージを記憶した後、処理タスクから完了メッセージを受信した時点で、記憶した排他的命令メッセージを処理タスクに対して送信する。このように、メッセージ管理タスク３１が、排他的制御を行うようにしたことにより、開発者が各タスクに排他的制御を実装する必要がないため、排他的制御を行う処理プログラムを開発者が容易に開発することができる。
【００５２】
なお、本発明は、上記実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。例えば、上記実施形態では、マルチタスク処理システムを用いた例としてテレビ１を示したが、これに限られず、マルチタスク処理を行う他の機器であってもよい。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係るテレビの斜視図。
【図２】上記テレビの内部構成を示すブロック図。
【図３】上記テレビの選局処理の手順を示すフローチャート。
【図４】上記テレビの排他制御処理の手順を示すフローチャート。
【図５】上記テレビの排他制御処理の手順を示すフローチャート。
【図６】従来のテレビの選局処理の手順を示すフローチャート。
【図７】従来のテレビの従来の選局処理の手順を示すフローチャート。
【図８】従来のテレビの従来の選局処理の別の手順を示すフローチャート。
【図９】従来のテレビの従来の選局処理の別の手順を示すフローチャート。
【符号の説明】
【００５４】
１  テレビ
２０  ＯＳ
３０  マルチタスク処理システム
３１  命令タスク
３２  処理タスク
３３  メッセージ管理タスク
Ｍ  メッセージ管理タスク
【図１】
2009199364.tif 000003
【図２】
2009199364.tif 000004
【図３】
2009199364.tif 000005
【図４】
2009199364.tif 000006
【図５】
2009199364.tif 000007
【図６】
2009199364.tif 000008
【図７】
2009199364.tif 000009
【図８】
2009199364.tif 000010
【図９】
2009199364.tif 000011