図面 (/)

技術 優先度制御装置及び優先度制御方法

出願人 パナソニック株式会社
発明者 安武剛一
出願日 2008年6月2日 (12年5ヶ月経過) 出願番号 2008-144868
公開日 2009年12月17日 (10年11ヶ月経過) 公開番号 2009-294712
状態 拒絶査定
技術分野 マルチプログラミング
主要キーワード 対応タスク 優先度変更処理 相対順位 要求タスク 逆転現象 タスク要求 タスク優先度 優先度判定
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2009年12月17日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

複数のOSを実行する場合において、優先度逆転現象を解消し、かつシステム整合性を維持する。

解決手段

本発明に係る優先度制御装置100は、第1OS130で動作する複数のタスク110及び第2OS131上で動作する複数のタスク120を実行するOS実行部101と、OS実行部101により実行されているタスク110である実行タスクの優先度と、OS実行部101に対して実行が要求されているタスク120である要求タスクの優先度とを取得するタスク優先度取得部104と、要求タスクの優先度が実行タスクの優先度より高い場合に、複数のタスク110の優先度を、複数のタスク110間の優先度の相対順位を維持したまま、要求タスクの優先度より低くし、かつ複数のタスク120のうち要求タスクの次に低い優先度より高くする優先度変更部107とを備える。

概要

背景

従来、複数のタスクを実行するOS(Operating System)では、各タスクに優先度を設定し、当該優先度に従い実行するタスクの順序を決定している。

このようなOSにおいて、優先度の逆転現象が発生することが知られている。以下、優先度の逆転現象について説明する。

低優先度のタスクを実行中に高優先度のタスクの実行が要求された場合、実行中の低優先度のタスクが高優先度のタスクで使用する資源を使用(ロック)しているか否かが判定される。実行中のタスクが高優先度のタスクで使用する資源をロックしていない場合、優先度に従い、実行されるタスクが高優先度のタスクに切り替えられる。

一方、実行中のタスクが高優先度のタスクで使用する資源をロックしている場合、実行中の低優先度のタスクを継続して実行され、低優先度のタスクが終了した後に、高優先度のタスクが実行される。

ここで、低優先度のタスクの実行中に、他の中優先度のタスク(高優先度のタスクより優先度が低く、かつ低優先度のタスクより優先度が高いタスク)の実行が要求され、かつ低優先度のタスクが中優先度のタスクで使用する資源をロックしていない場合、OSは、優先度に従い、低優先度のタスクの実行を中断し、中優先度のタスクを実行する。つまり、本来、先に実行されるべき高優先度のタスクより先に中優先度のタスクが実行される優先度の逆転現象が生じる。この優先度の逆転現象によりリアルタイム性阻害されるという問題がある。

このような優先度の逆転現象に対応する優先度制御装置として、特許文献1記載の優先度制御装置が知られている。

特許文献1記載の優先度制御装置は、実行中の低優先度のタスクの優先度を一時的に上げることで、中優先度のタスクの実行が要求されたとしても、要求を受け付けず、低優先度のタスクの実行を継続する。これにより、低優先度のタスクの実行が終了した後に、高優先度のタスクが実行される。すなわち、特許文献1記載の優先度制御装置は、上述した優先度の逆転現象を解消できる。

一方で、近年、目的の異なる機能を実現するため複数のOSを動作させるコンピュータシステムが用いられている。例えば、Linux(登録商標)上でWindows(登録商標)を動作させる場合などである。
特開平8−77025号公報

概要

複数のOSを実行する場合において、優先度の逆転現象を解消し、かつシステム整合性を維持する。本発明に係る優先度制御装置100は、第1OS130で動作する複数のタスク110及び第2OS131上で動作する複数のタスク120を実行するOS実行部101と、OS実行部101により実行されているタスク110である実行タスクの優先度と、OS実行部101に対して実行が要求されているタスク120である要求タスクの優先度とを取得するタスク優先度取得部104と、要求タスクの優先度が実行タスクの優先度より高い場合に、複数のタスク110の優先度を、複数のタスク110間の優先度の相対順位を維持したまま、要求タスクの優先度より低くし、かつ複数のタスク120のうち要求タスクの次に低い優先度より高くする優先度変更部107とを備える。

目的

そこで、本発明は、複数のOSを実行する場合において、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる優先度制御装置及び優先度制御方法を提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1OS(OperatingSystem)上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御する優先度制御装置であって、第1タスク及び第2タスクを実行する実行部と、前記実行部により実行されている第1タスクである実行タスクの優先度と、前記実行部に対して実行が要求されている第2タスクである要求タスクの優先度とを取得するタスク優先度取得部と、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定する優先度判定部と、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に低い優先度より高くする優先度変更部とを備えることを特徴とする優先度制御装置。

請求項2

前記優先度制御装置は、さらに、前記要求タスクの実行に使用する資源が、前記実行タスクの実行に使用されているか否かを判定する資源判定部を備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記要求タスクの実行に使用する資源が、前記実行タスクの実行に使用されている場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くすることを特徴とする請求項1記載の優先度制御装置。

請求項3

前記優先度制御装置は、さらに、前記要求タスクが実行待ち状態であるか否かを判定する状態判定部を備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記要求タスクが実行待ち状態である場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くすることを特徴とする請求項1記載の優先度制御装置。

請求項4

前記優先度制御装置は、さらに、前記複数の第1タスクのうち1つと、当該1つの第1タスクに対応する第2タスクとが設定される対応タスク設定部と、前記実行タスクが前記対応タスク設定部に設定された第1タスクであるか否かを判定し、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクであるか否かを判定するタスク判定部とを備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記実行タスクが前記対応タスク設定部に設定された第1タスクであり、かつ、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクである場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くすることを特徴とする請求項1記載の優先度制御装置。

請求項5

前記優先度制御装置は、さらに、ユーザの入力を受け付けユーザ入力部を備え、前記タスク判定部は、前記実行タスクが前記ユーザ入力部により受け付けられた処理を実行するタスクであるか否かを判定し、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記実行タスクが前記ユーザ入力部により受け付けられた処理を実行するタスクであり、かつ、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクである場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くすることを特徴とする請求項4記載の優先度制御装置。

請求項6

前記優先度変更部は、前記実行タスクの実行が終了した後に、当該実行タスクの優先度を変更前の優先度に戻すことを特徴とする請求項1記載の優先度制御装置。

請求項7

前記優先度制御装置は、さらに、前記実行部に対する第2タスクの実行要求を検知するタスク要求検知部を備え、前記タスク要求検知部により第2タスクの実行要求が検知された際に、前記タスク優先度取得部は、前記実行タスクの優先度と、当該実行要求が検知されたタスクである前記要求タスクの優先度とを取得し、前記優先度判定部は、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定し、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くすることを特徴とする請求項1記載の優先度制御装置。

請求項8

第1OS上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御し、第1タスク及び第2タスクを優先して実行する実行部を備える優先度制御装置における優先度制御方法であって、前記実行部により実行されている第1タスクである実行タスクの優先度と、前記実行部に対して実行が要求されている第2タスクである要求タスクの優先度とを取得するタスク優先度取得ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定する優先度判定ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くする優先度変更ステップとを含むことを特徴とする優先度制御方法。

請求項9

第1OS上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御し、第1タスク及び第2タスクを優先して実行する実行部を備える優先度制御装置における優先度制御方法のプログラムであって、前記実行部により実行されている第1タスクである実行タスクの優先度と、前記実行部に対して実行が要求されている第2タスクである要求タスクの優先度とを取得するタスク優先度取得ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定する優先度判定ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くする優先度変更ステップとをコンピュータに実行させることを特徴とするプログラム。

技術分野

0001

本発明は、優先度制御装置及び優先度制御方法に関し、特に、第1OS上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御する優先度制御装置に関する。

背景技術

0002

従来、複数のタスクを実行するOS(Operating System)では、各タスクに優先度を設定し、当該優先度に従い実行するタスクの順序を決定している。

0003

このようなOSにおいて、優先度の逆転現象が発生することが知られている。以下、優先度の逆転現象について説明する。

0004

低優先度のタスクを実行中に高優先度のタスクの実行が要求された場合、実行中の低優先度のタスクが高優先度のタスクで使用する資源を使用(ロック)しているか否かが判定される。実行中のタスクが高優先度のタスクで使用する資源をロックしていない場合、優先度に従い、実行されるタスクが高優先度のタスクに切り替えられる。

0005

一方、実行中のタスクが高優先度のタスクで使用する資源をロックしている場合、実行中の低優先度のタスクを継続して実行され、低優先度のタスクが終了した後に、高優先度のタスクが実行される。

0006

ここで、低優先度のタスクの実行中に、他の中優先度のタスク(高優先度のタスクより優先度が低く、かつ低優先度のタスクより優先度が高いタスク)の実行が要求され、かつ低優先度のタスクが中優先度のタスクで使用する資源をロックしていない場合、OSは、優先度に従い、低優先度のタスクの実行を中断し、中優先度のタスクを実行する。つまり、本来、先に実行されるべき高優先度のタスクより先に中優先度のタスクが実行される優先度の逆転現象が生じる。この優先度の逆転現象によりリアルタイム性阻害されるという問題がある。

0007

このような優先度の逆転現象に対応する優先度制御装置として、特許文献1記載の優先度制御装置が知られている。

0008

特許文献1記載の優先度制御装置は、実行中の低優先度のタスクの優先度を一時的に上げることで、中優先度のタスクの実行が要求されたとしても、要求を受け付けず、低優先度のタスクの実行を継続する。これにより、低優先度のタスクの実行が終了した後に、高優先度のタスクが実行される。すなわち、特許文献1記載の優先度制御装置は、上述した優先度の逆転現象を解消できる。

0009

一方で、近年、目的の異なる機能を実現するため複数のOSを動作させるコンピュータシステムが用いられている。例えば、Linux(登録商標)上でWindows(登録商標)を動作させる場合などである。
特開平8−77025号公報

発明が解決しようとする課題

0010

しかしながら、複数のOSを実行するシステムにおいて、特許文献1記載の技術を適用した場合、以下のような問題が生じる。

0011

各OSで実行されるタスクは、各OS内でそれぞれ独立した優先度を有している。つまり、各OS内でのタスクの優先度は規定されているが、OS間のタスクの優先度は必ずしも整合性が取れているわけではない。よって、単にOS間を跨いでタスクの優先度を上げた場合、OS間のシステムの整合性を維持できないことがある。これにより、優先度の逆転現象を解消できなかったり、又は別の不具合が生じたりする可能性がある。

0012

そこで、本発明は、複数のOSを実行する場合において、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる優先度制御装置及び優先度制御方法を提供することを目的とする。

課題を解決するための手段

0013

上記目的を達成するために、本発明に係る優先度制御装置は、第1OS上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御する優先度制御装置であって、第1タスク及び第2タスクを実行する実行部と、前記実行部により実行されている第1タスクである実行タスクの優先度と、前記実行部に対して実行が要求されている第2タスクである要求タスクの優先度とを取得するタスク優先度取得部と、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定する優先度判定部と、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に低い優先度より高くする優先度変更部とを備える。

0014

この構成によれば、本発明に係る優先度制御装置は、第1タスクの実行中に、第1タスクより優先度の高い第2タスクの実行が要求された場合、第1OS上で動作する全ての第1タスクの優先度を上げる。これにより、優先度制御装置は、優先度の逆転現象を解消できる。

0015

さらに、本発明に係る優先度制御装置は、第1OS上で動作する全ての第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま上げることで、実行中の第1タスクに関連する一連の第1タスクを優先して実行できる。これにより、複数のOSを実行する場合においても、OS内のタスクの優先度の整合性を維持できる。よって、本発明に係る優先度制御装置は、複数のOSを実行する場合においても、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる。

0016

また、前記優先度制御装置は、さらに、前記要求タスクの実行に使用する資源が、前記実行タスクの実行に使用されているか否かを判定する資源判定部を備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記要求タスクの実行に使用する資源が、前記実行タスクの実行に使用されている場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くしてもよい。

0017

この構成によれば、本発明に係る優先度制御装置は、要求タスクの実行に使用する資源が実行タスクの実行に使用されている場合に、優先度の変更処理を行う。これにより、本発明に係る優先度制御装置は、優先度の逆転現象が生じる場合にのみ、優先度の変更処理を行うことができる。

0018

また、前記優先度制御装置は、さらに、前記要求タスクが実行待ち状態であるか否かを判定する状態判定部を備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記要求タスクが実行待ち状態である場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くしてもよい。

0019

この構成によれば、本発明に係る優先度制御装置は、要求タスクが待機状態である場合に、優先度の変更処理を行う。これにより、本発明に係る優先度制御装置は、優先度の逆転現象が生じる場合にのみ、優先度の変更処理を行うことができる。

0020

また、前記優先度制御装置は、さらに、前記複数の第1タスクのうち1つと、当該1つの第1タスクに対応する第2タスクとが設定される対応タスク設定部と、前記実行タスクが前記対応タスク設定部に設定された第1タスクであるか否かを判定し、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクであるか否かを判定するタスク判定部とを備え、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記実行タスクが前記対応タスク設定部に設定された第1タスクであり、かつ、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクである場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くしてもよい。

0021

この構成によれば、本発明に係る優先度制御装置は、要求タスク及び実行タスクが予め定められた組み合わせの場合に、優先度の変更処理を行う。これにより、本発明に係る優先度制御装置は、資源のロック状態又はタスクの動作状態等を確認する処理を行わなくてもよいので、処理量を低減できる。

0022

また、前記優先度制御装置は、さらに、ユーザの入力を受け付けるユーザ入力部を備え、前記タスク判定部は、前記実行タスクが前記ユーザ入力部により受け付けられた処理を実行するタスクであるか否かを判定し、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高く、かつ、前記実行タスクが前記ユーザ入力部により受け付けられた処理を実行するタスクであり、かつ、前記要求タスクが前記対応タスク設定部に設定された当該実行タスクに対応する第2タスクである場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くしてもよい。

0023

この構成によれば、本発明に係る優先度制御装置は、画像表示等の特定の処理が多くの場合行われるユーザの入力を受け付けた場合、優先度の変更処理を行う。これにより、本発明に係る優先度制御装置は、資源のロック状態又はタスクの動作状態等を確認する処理を行わなくてもよいので、処理量を低減できる。

0024

また、前記優先度変更部は、前記実行タスクの実行が終了した後に、当該実行タスクの優先度を変更前の優先度に戻してもよい。

0025

また、前記優先度制御装置は、さらに、前記実行部に対する第2タスクの実行要求を検知するタスク要求検知部を備え、前記タスク要求検知部により第2タスクの実行要求が検知された際に、前記タスク優先度取得部は、前記実行タスクの優先度と、当該実行要求が検知されたタスクである前記要求タスクの優先度とを取得し、前記優先度判定部は、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定し、前記優先度変更部は、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くしてもよい。

0026

この構成によれば、本発明に係る優先度制御装置は、割り込み等のタスクの実行要求が発生した際に、優先度の変更処理を行うことができる。

0027

また、本発明に係る優先度制御方法は、第1OS上で動作する複数の第1タスク及び第2OS上で動作する複数の第2タスクの優先度を制御し、第1タスク及び第2タスクを優先して実行する実行部を備える優先度制御装置における優先度制御方法であって、前記実行部により実行されている第1タスクである実行タスクの優先度と、前記実行部に対して実行が要求されている第2タスクである要求タスクの優先度とを取得するタスク優先度取得ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高いか否かを判定する優先度判定ステップと、前記要求タスクの優先度が前記実行タスクの優先度より高い場合に、前記複数の第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま、前記要求タスクの優先度より低くし、かつ前記複数の第2タスクのうち前記要求タスクの次に優先度が低いタスクの優先度より高くする優先度変更ステップとを含む。

0028

これによれば、本発明に係る優先度制御方法は、第1タスクの実行中に、第1タスクより優先度の高い第2タスクの実行が要求された場合、第1OS上で動作する全ての第1タスクの優先度を上げる。これにより、優先度制御方法は、優先度の逆転現象を解消できる。

0029

さらに、本発明に係る優先度制御方法は、第1OS上で動作する全ての第1タスクの優先度を、当該複数の第1タスク間の優先度の相対順位を維持したまま上げることで、実行中の第1タスクに関連する一連の第1タスクを優先して実行できる。これにより、複数のOSを実行する場合においても、OS内のタスクの優先度の整合性を維持できる。よって、本発明に係る優先度制御方法は、複数のOSを実行する場合においても、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる。

0030

なお、本発明は、このような優先度制御装置として実現できるだけでなく、優先度制御装置に含まれる特徴的な手段をステップとする優先度制御方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。

発明の効果

0031

上より、本発明は、複数のOSを実行する場合において、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる優先度制御装置及び優先度制御方法を提供できる。

発明を実施するための最良の形態

0032

以下、本発明に係る優先度制御装置の実施の形態について、図面を参照しながら詳細に説明する。

0033

(実施の形態1)
本発明の実施の形態1に係る優先度制御装置は、一方のOSのタスクの実行中に、当該タスクより優先度の高い、他方のOSのタスクの実行が要求され、かつ、要求されたタスクが使用する資源を実行中のタスクかロック中の場合には、一方のOSの全てのタスクの優先度を上げる。これにより、本発明の実施の形態1に係る優先度制御装置は、複数のOSを実行する場合において、優先度の逆転現象を解消でき、かつシステムの整合性を維持できる。

0034

まず、本発明の実施の形態1に係る優先度制御装置の構成を説明する。

0035

図1は、本発明の実施の形態1に係る優先度制御装置の構成を示す図である。

0036

図1に示す優先度制御装置100は、複数のOS上でそれぞれ動作する複数のタスクの優先度を制御する。優先度制御装置100は、OS実行部101と、タスク優先度管理部102と、要求検知部103と、タスク優先度取得部104と、優先度判定部105と、資源判定部106と、優先度変更部107と、優先度保持部108とを備える。

0037

OS実行部101は、第1OS130及び第2OS131を実行する。第1OS130上で複数のタスク110が実行され、第2OS131上で複数のタスク120が実行される。OS実行部101は、複数のタスク110及び120の実行が同時に要求された場合、優先度が高いタスク110及びタスク120を優先して実行する。複数のタスク110は、タスク111、112、113・・・を含む。複数のタスク120は、タスク121、122、123・・・を含む。

0038

タスク優先度管理部102は、複数のタスク110及び120の優先度の関係を保持する。

0039

図2(a)は、タスク優先度管理部102に保持される優先度の関係の一例を示す図である。図2(a)に示すように、例えば、複数のタスク120の優先度は複数のタスク110の優先度より高く設定される。また、複数のタスク120において、高いほうからタスク121、122、123・・・の順に優先度が設定される。また、複数のタスク110において、高いほうからタスク111、112、113・・・の順に優先度が設定される。

0040

要求検知部103は、OS実行部101に対する割り込み等のタスクの実行要求を検知する。

0041

タスク優先度取得部104は、要求検知部103によりタスクの実行要求が検知された際に、OS実行部101により実行されているタスク110又は120(以下、実行タスクと記す。)の優先度を取得する。また、タスク優先度取得部104は、タスク優先度管理部102に保持される優先度の関係を参照することで、OS実行部101に対して実行が要求されているタスク110又は120(以下、要求タスクと記す。)の優先度を取得する。タスク優先度取得部104は、要求検知部103により実行要求が検知された際に、実行タスクの優先度、及び要求タスクの優先度を取得する。

0042

優先度判定部105は、タスク優先度取得部104により取得された要求タスクの優先度が実行タスクの優先度より高いか否かを判定する。

0043

資源判定部106は、要求タスクの実行に使用する資源が、実行タスクの実行に使用されているか否かを判定する。つまり、資源判定部106は、要求タスクの実行に使用する資源が、実行タスクによりロック中であるか否かを判定する。

0044

優先度変更部107は、第1OS130及び第2OS131のうち一方のOS上で動作するタスクの実行中に、他方のOSのタスクの実行が要求された場合、つまり実行タスク及び要求タスクのうち一方がタスク110であり、かつ、他方がタスク120である場合において、優先度判定部に105により要求タスクの優先度が実行タスクの優先度より高いと判定され、かつ、資源判定部106により要求タスクの実行に使用する資源が実行タスクの実行に使用されていると判定された場合に、実行タスクが含まれる複数のタスク110又は複数のタスク120の優先度を全て上げる。

0045

例えば、タスク112の実行中にタスク121の実行が要求された場合には、優先度変更部107は、タスク111、112、113・・・の全ての優先度を上げる。

0046

図2(b)は、優先度変更部107により変更された優先度の一例を示す図である。図2(b)に示すように、優先度変更部107は、複数のタスク110の優先度を、タスク121の優先度の直下、つまりタスク121より低く、かつタスク120のうちタスク121の次に優先度が低いタスク122の優先度より高くする。また、優先度変更部107は、複数のタスク110間の優先度の相対順位を維持したまま、タスク110の優先度を上げる。

0047

優先度保持部108は、優先度変更部107により変更される前の複数のタスク110及び120の優先度の関係を保持する。

0048

また、優先度変更部107は、優先度を変更した場合、実行タスクの実行が終了した後に、複数のタスク110及び120の優先度を優先度保持部108に保持される優先度にする。つまり、優先度変更部107は、実行タスクの実行が終了した後に、複数のタスク110の優先度を変更前の優先度に戻す。

0049

次に、優先度制御装置100の動作を説明する。

0050

図3は、優先度制御装置100による優先度制御動作の流れを示すフローチャートである。図4(a)は、OS実行部101により実行されるタスクの状態を示す図である。

0051

以下、図3及び図4(a)を用いて、タスク112の実行中にタスク121の実行が要求された場合の動作を説明する。また、図2(a)に示す優先度の関係が設定されているとする。また、図4(a)は、タスク121で用いる資源が、タスク112によりロックされている場合のタスクの状態を示す。

0052

時刻t1以前において、OS実行部101はタスク112を実行している。

0053

時刻t1においてタスク121の実行が要求される。要求検知部103は、タスク121の実行要求を検知する(S100)。タスク優先度取得部104は、要求検知部103による実行要求の検知に応じて、実行中のタスク112の優先度を取得する(S101)。また、タスク優先度取得部104は、実行が要求されたタスク121の優先度を取得する(S102)。

0054

次に、優先度判定部105は、タスク121の優先度がタスク112の優先度より高いか否かを判定する(S103)。

0055

ここでは、タスク121の優先度はタスク112の優先度より高いので(S103でYes)、次に、資源判定部106は、タスク121で用いる資源が、タスク112によりロックされているか否かを判定する(S104)。

0056

タスク121で用いる資源が、タスク112によりロックされており(S104でYes)、かつタスク112とタスク121とは異なるOS上のタスクなので、優先度変更部107は、図2(b)に示すように、複数のタスク110の優先度をタスク112の直下の優先度まで引き上げる(S105)。優先度保持部108は、優先度変更部107により変更される前の優先度を保持する。

0057

また、時刻t1においてOS実行部101は、タスク121で用いる資源が、タスク112によりロックされているので、タスク112の実行を継続し、タスク121を待機させる。

0058

時刻t2においてタスク123の実行が要求される。OS実行部101は、新たに要求されたタスク123の優先度に比べ実行中のタスク112の優先度が高いので、タスク112の実行を継続し、タスク123を待機させる。

0059

時刻t3においてタスク112の実行が終了する(S106)。優先度変更部107は、ステップS106で変更した複数のタスク110の優先度を、優先度保持部108に保持される元の優先度に戻す(S107)。

0060

また、時刻t3において、タスク112により使用されていた資源が解放され、かつ待機中のタスク121の優先度は、待機中のタスク123の優先度より高いので、OS実行部101は、タスク121を実行する。

0061

その後、時刻t4において、タスク121の実行が終了し、次に、OS実行部101は、タスク123を実行する。

0062

一方、ステップS104において、タスク121の優先度がタスク112の優先度より低い場合(S104でNo)、又は、ステップS105においてタスク121で用いる資源がタスク112によりロックされていない場合(S105でNo)、優先度変更部107は、タスクの優先度を変更しない。

0063

以下、比較のために優先度を変更しない場合の動作を説明する。

0064

図4(b)は、優先度を変更しない場合の、OS実行部101で実行されるタスクの状態を示す図である。

0065

図4(b)に示すように、優先度を変更しない場合には、時刻t2でタスク123の実行が要求されると、OS実行部101は実行中のタスク112より優先度が高いタスク123を実行し、タスク112を待機させる。

0066

時刻t3において、タスク123の実行が終了し、次に、OS実行部101は、タスク112の実行を再開する。

0067

時刻t4においてタスク112の実行が終了することにより、タスク112により使用されていた資源が解放されるので、OS実行部101は、タスク121を実行する。

0068

このように、優先度の変更を行わない場合には、タスク121より優先度の低いタスク123がタスク121より先に実行される。これにより、優先度の高いタスク121の実行が遅れる。なお、図4(a)及び図4(b)において、タスク121及び123の実行時間は同程度としているが、特に、タスク123の実行時間が長い場合に、タスク121の実行開始の遅れは顕著となる。

0069

以上より、本発明の実施の形態1に係る優先度制御装置100は、第1OS130のタスク110の実行中に、タスク110より優先度の高い、第2OS131のタスク120の実行が要求され、かつ、要求されたタスク120が使用する資源を実行中のタスク110かロック中の場合には、第1OS130上で動作する全てのタスク110の優先度を上げる。これにより、優先度制御装置100は、優先度の逆転現象を解消できる。

0070

さらに、第1OS130上で動作する全てのタスク110の優先度を上げることで、複数のOSを実行する場合においても、OS内のタスクの優先度の整合性を維持できる。

0071

具体的には、タスク112の実行において、第1OS上で動作する他のタスク113を呼び出し実行する場合がある。この場合、タスク112の優先度のみを上げた場合には、タスク113の実行の際に、新たに要求されたタスク123が先に実行され、優先度の逆転現象が生じる。一方、本発明の実施の形態1に係る優先度制御装置100は、第1OS130上で動作する全てのタスク110の優先度を上げるのでタスク112に係る一連の処理が終了するまで、タスク121より優先度が低いタスクの実行が要求されたとしても、当該要求を受け付けない。これにより、優先度制御装置100は、複数のOSを実行する場合においても、優先度の逆転現象を解消できる。

0072

なお、上記説明において、複数のタスク110及び120の優先度の関係として図2(a)に示す例を示したが、複数のタスク110及び120の優先度の関係はこれに限定されるものではない。

0073

図2(c)は、複数のタスク110及び120の優先度の関係の別の例を示す図である。図2(c)に示すように、複数のタスク110及び120の優先度の順番が混在してもよい。図2(c)に示す例において、タスク112の実行中にタスク121の実行が要求された場合には、上述した動作例と同様に、優先度変更部107は、図2(b)に示すように優先度を変更する。

0074

また、優先度変更部107は、要求タスクの優先度が実行タスクの優先度より高く(S104でYes)、かつ要求タスクで用いる資源が、実行タスクによりロックされている場合(S105でYes)において、要求タスク及び実行タスクが同じOS上のタスクであれば、当該OS上の複数のタスクのうち、実行タスクの優先度のみを要求タスクの直下の優先度まで引き上げてもよい。

0075

また、上記説明では、優先度変更部107は、資源がロック中であるか否かに応じて、優先度変更処理を行うとしたが、要求タスクが待機状態であるか否かに応じて、優先度変更処理を行ってもよい。

0076

図5は、優先度制御装置100の変形例の構成を示すブロック図である。図5に示す優先度制御装置150は、優先度制御装置100の構成に対して、資源判定部106の代わりに状態判定部109を備える。

0077

状態判定部109は、要求タスクが実行待ち状態(待機状態)であるか否かを判定する。

0078

優先度変更部107は、第1OS130及び第2OS131のうち一方のOS上で動作するタスクの実行中に、他方のOSのタスクの実行が要求された場合において、優先度判定部に105により要求タスクの優先度が実行タスクの優先度より高いと判定され、かつ、状態判定部109により要求タスクが実行待ち状態であると判定された場合に、実行タスクが含まれるタスク110又は120の優先度を全て上げる。

0079

また、上記説明では、優先度制御装置100は、割り込み等の新たなタスクの実行要求を検出した際に、優先度変更処理を行うか否かの判定及び優先度変更処理(ステップS101〜S105)を行うとしたが、所定の周期毎に、優先度変更処理を行うか否かの判定及び優先度変更処理(ステップS101〜S105)を行ってもよい。

0080

また、上記説明では、ステップS103(要求タスクの優先度が実行タスクの優先度より高いか否かの判定)を行った後に、ステップS104(資源がロック中であるか否か(又は、待機状態であるか否か)の判定)を行っているが、ステップS104を行った後にステップS103を行ってもよいし、一部又は全ての処理を同時に行ってもよい。

0081

(実施の形態2)
本発明の実施の形態2に係る優先度制御装置は、ユーザ入力に基づくタスクの実行に関しては、資源がロック中であるか否かによらず、優先度を変更する。

0082

まず、本発明の実施の形態2に係る優先度制御装置の構成を説明する。

0083

図6は、本発明の実施の形態2に係る優先度制御装置の構成を示す図である。なお、図1と同様の要素には同一の符号を付しており重複する説明は省略する。

0084

図6に示す優先度制御装置200は、実施の形態1に係る優先度制御装置100の構成に加え、さらに、ユーザ入力部201と、対応タスク表保持部202とを備え、資源判定部106の代わりにタスク判定部203を備える。

0085

ユーザ入力部201は、リモコン又はキーボート等であり、ユーザの入力を受け付ける。

0086

対応タスク表保持部202は、複数のタスク110のうち1以上と、当該1以上のタスク110に対応するタスク120とが設定される対応タスク表を保持する。ここで、対応タスク表に設定される対応するタスク110及び120の一方は、ユーザ入力部201により受け付けられた処理を実行するタスクである。また、対応タスク表に設定される対応するタスクは、同じ資源を使用するタスクである。

0087

また、対応タスク表において、1つのタスク110に対して1つのタスク120が設定されてもよいし、1つのタスク110に対して複数のタスク120が設定されてもよいし、複数のタスク110に対して1つのタスク120が設定されてもよい。また、対応タスク表にタスク110及び120の複数組の対応が設定されてもよい。

0088

タスク判定部203は、実行タスクがユーザ入力部201により受け付けられた処理を実行するタスクであるか否かを判定する。また、タスク判定部203は、実行タスクがユーザ入力部201により受け付けられた処理を実行するタスクである場合、要求タスクが対応タスク表に設定された当該実行タスクに対応するタスクであるか否かを判定する。

0089

優先度変更部107は、要求タスクの優先度が実行タスクの優先度より高く、かつ、タスク判定部203により、実行タスクがユーザ入力部201により受け付けられた処理を実行するタスクであると判定され、かつ、タスク判定部203により要求タスクが対応タスク表に設定された当該実行タスクに対応するタスクであると判定された場合に、実行タスクが含まれるタスク110又は120の優先度を全て上げる。なお、タスクの優先度の上げ方は、実施の形態1と同様である。

0090

次に、優先度制御装置200の動作を説明する。

0091

図7は、優先度制御装置200による優先度制御動作の流れを示すフローチャートである。

0092

以下、図7を用いて、タスク112の実行中にタスク121の実行が要求された場合の動作を説明する。また、図2(a)に示す優先度の関係が設定されているとする。また、実施の形態1と同様の動作は説明を省略する。

0093

ステップS200〜S203の動作は、図3に示すステップS100〜S203と同様である。

0094

ステップS203において、タスク121の優先度がタスク112の優先度より高い場合(S203でYes)、次に、タスク判定部203は、タスク112がユーザ操作に関するタスク、つまりユーザ入力部201により受け付けられた処理を実行するタスクであるか否かを判定する(S204)。

0095

タスク112が、ユーザ入力部201により受け付けられた処理を実行するタスクである場合(S204でYes)、タスク判定部203は、タスク121がタスク112に対応するタスクとして対応タスク表保持部202に保持される対応タスク表に設定されているか否かを判定する(S205)。

0096

タスク121がタスク112に対応するタスクとして対応タスク表に設定されている場合(S205でYes)、優先度変更部107は、複数のタスク110の優先度をタスク121の直下の優先度まで引き上げる(S206)。なお、ステップS207及びS208の動作は、図3に示すステップS106及びS107と同様である。

0097

一方、ステップS204において、タスク112が、ユーザ入力部201により受け付けられた処理を実行するタスクでない場合(S204でNo)、又は、ステップS205において、タスク121がタスク112に対応するタスクとして対応タスク表に設定されていない場合(S205でNo)、優先度変更部107は、タスクの優先度を変更しない。

0098

以上より、本発明の実施の形態2に係る優先度制御装置200は、ユーザ入力に基づくタスクの実行に関しては、資源がロック中であるか否かによらず、優先度を変更する。ここで、ユーザ入力に基づくタスクは、メニューの表示等、画像処理に関するものが多い。よって、対応タスク表には、対応するタスクとして、緊急字幕の表示等の同じく画像処理に関するタスクが設定される。

0099

このように、優先度制御装置200は、資源の競合が発生することで優先度逆転現象が発生する可能性の高いタスクの組み合わせを予め設定しておき、当該組み合わせのタスクが実行及び要求された場合には、優先度を変更する。

0100

これにより、優先度制御装置200は、実施の形態1に係る優先度制御装置100の効果に加え、使用されている資源の確認を行う必要がないので、処理量を低減できる。

0101

なお、実施の形態2に係る優先度制御装置200に対しても、上述した実施の形態1と同様の変形例を適用できる。

0102

また、上記説明では、優先度制御装置200は、ステップS203(要求タスクの優先度が実行タスクの優先度より高いか否かの判定)、ステップS204(実行タスクがユーザ入力に関するタスクであるか否かの判定)、ステップS205(要求タスクが実行タスクに対応するタスクであるか否かの判定)の順に処理を行っているが、ステップS203、S204、S205の順序は、任意の順序でよい。さらに、ステップS203、S204及びS205の一部又は全ての処理を同時に行ってもよい。

0103

また、上記説明では、優先度変更部107は、実行タスクがユーザ入力に関するタスクであるか否かに基づき、優先度変更処理を行っているが、実行タスクがユーザ入力に関するタスクであるか否かによらず、実行タスクが対応タスク表に設定されているか否かに基づき、優先度変更処理を行ってもよい。つまり、ユーザ入力に関するタスクに限らず、資源の競合が発生することで優先度逆転現象が発生する可能性の高いタスクの組み合わせを予め設定しておき、当該組み合わせのタスクが実行及び要求された場合には、優先度を変更してもよい。

0104

また、本発明は、実施の形態1及び実施の形態2の機能を有する優先度制御装置として実現してもよい。つまり、図7に示すステップS204でNo、又はステップS205でNoの場合に、図3に示すステップS104の処理を行ってもよい。

0105

また、上記実施の形態1及び実施の形態2では、2つのOSを実行する場合を例に述べたが、3以上のOSが実行される場合にも本発明を適用できる。

0106

本発明は、複数のOS上で動作するタスクの優先度を制御する優先度制御装置に適用できる。

図面の簡単な説明

0107

本発明の実施の形態1に係る優先度制御装置の構成を示すブロック図である。
本発明の実施の形態1に係る優先度制御装置による変更前後の優先度の一例を示す図である。
本発明の実施の形態1に係る優先度制御装置による優先度変更処理の流れを示すフローチャートである。
本発明の実施に形態1に係る優先度制御装置により実行されるタスクの状態及び優先度変更処理を行わない場合のタスクの状態を示す図である。
本発明の実施の形態1に係る優先度制御装置の変形例の構成を示すブロック図である。
本発明の実施の形態2に係る優先度制御装置の構成を示すブロック図である。
本発明の実施の形態2に係る優先度制御装置による優先度変更処理の流れを示すフローチャートである。

符号の説明

0108

100、150、200優先度制御装置
101 OS実行部
102タスク優先度管理部
103 要求検知部
104 タスク優先度取得部
105優先度判定部
106資源判定部
107優先度変更部
108優先度保持部
109状態判定部
110、111、112、113、114、115、116、117、118、119、120、121、122、123、124、125、126、127、128、129タスク
130 第1OS
131 第2OS
201ユーザ入力部
202対応タスク表保持部
203 タスク判定部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ