• ベストアンサー

イベントフラグを複数のタスクで待った時の優先順位

μiTRONのイベントフラグ待ちで、 1つのイベントフラグを複数のタスクで同時に待っていた場合に 一番最初に動くタスクは、優先順位順でしょうか? それとも、先に待機した順でしょうか?

  • mtsed
  • お礼率92% (77/83)

質問者が選んだベストアンサー

  • ベストアンサー
  • R32C
  • ベストアンサー率39% (115/290)
回答No.1

uITRON4.0であれば、タスク優先度順かFIFO順(先に 待機した順)を選ぶことができます。選び方は、イベント フラグの生成(CRE_FLGまたはcre_flg等)時に指定します。 uITRON3.0を含め、それ以前のuITRONでは優先度順は仕様 になかったと思いますが、実装独自に拡張されている場合 もあります。ですので、そのuITRONの仕様(uITRONの仕様と 違う部分がかかれた仕様書)を確認されるとよいと思います。 ただし、クリア属性を指定しない場合には、 カーネル過渡状態では、確かに優先度順で、 タスクはwait状態からready状態に遷移しますが、 タスクスケジューラが、優先度の高いタスクを ディスパッチするため実質的には、優先度順 になるはずです。 もう少し解説しますと、 クリア属性を指定する場合は、先頭のタスクのみが waitを解除しますが、クリア属性の指定がない場合は、 flagの成立するすべてのタスクがwaitを解除します。 したがって、解除されるタスクを含め優先度の高い タスクが次にディスパッチされます。 さらに、同一優先順位のタスクについてどちらが先に ディスパッチされるかについては、uITRONの仕様には 不定である旨記載されているので、どちらが先に ディスパッチされる かは、実装依存かと思われます。

参考URL:
http://pc8.2ch.net/test/read.cgi/os/1077188504/276n-
mtsed
質問者

お礼

ありがとうございました。 確かにご回答のとおりで、uITRON4.0ではTA_TFIFO/TA_TPRIの指定ができるようですね。 今使っているOSは3.0でタスク優先順位である旨の記載がありました。

関連するQ&A

  • 保育園入所の優先順位について

    育児のカテゴリでなく、あえて行政のカテゴリで質問しています。 保育園の入所(現行制度)について、 新年度入所の場合は、優先順位がありますが 途中入所で順番待ちをしている場合も、優先順位がありますか? それとも完全に順番制ですか? 例えば優先順位として 1.片親である 2.両親ともにフルタイムで働いている 3.両親の片方がフルタイムで働いていて片方が休職中 など、あると思いますが、途中入所で順番待ちの場合、 休職中の人よりも片親でフルタイムで働いている人のほうが大変だから、 先にしてあげようとか、そういうことがありますか?

  • 優先順位のつけ方

    日々の業務(仕事以外でも)に優先順位をつけて行動している方は多いと思います。私もそのようにしているのですが、どうも順位のつけ方が間違っているのか、最低限のことはこなせてますが、それ以上のことがなかなかこなせません。 実際時間はあるので、優先順位のつけ方が間違っているのだと思います。 一般的に、タスクの重要度と緊急度で4段階に分けるやり方だと思いますが、そこにさらに自分の気持ち(やりたいか、やりたくないか)が加わると順位がめちゃめちゃになります。 例えば、緊急で重要だけどやりたくないものがあったとして、頭ではそれを最優先しないといけないのは分かっているのですが、どうしても気持ち的に辛くて現実逃避してしまう(それも重要でも緊急でもないものに)…というパターンです。結局最終的に、重要だけど緊急ではないやりたいことなどにも手付かずのまま1日を終えることがあります。 またそれぞれにかかる時間もさまざまで、短時間で終わるものはこなせるのですが、目標達成までに時間がかかるものはなかなか手がつけられません。細かいタスクに分けているのですが、ゴールが遠いせいか途中で嫌になることも。 以下のようなタスクがあった場合、どのように優先順位をつけていくのが妥当でしょうか。またこの中に「将来の目標に向かっての勉強(でも期日などが未定)」というものを入れ込むとしたら、どこに組み込めばよいでしょう? 1.重要で緊急だけれどやりたくないこと。終わるまでに日数がかかる(お金の絡む頼まれごとなど) 2.重要で緊急だけどやりたくないこと。ただ短時間で終わる(家事とか…あまり好きじゃありません) 3.重要だけど緊急ではないやりたいこと。ただし毎日継続が必要(ダイエットとか) 4.重要だけど緊急ではないやりたくないこと(メールの返事とか。メール不精です) 5.重要ではないけど緊急なこと。なおかつやりたくないこと(スカートの裾がほつれたので縫わなきゃ…とかそういう類) 6.重要ではない緊急なことでやりたいこと(期限の決まった趣味など) 7.重要でも緊急でもないやりたいこと(買った雑誌を読むとか) ちなみに重要でも緊急でもないやりたくないことはやらなくても済む事の場合が多いので入れてません。 やりたくないことの間にやりたいことを入れれば良いのでしょうが、ずるずると楽しいほうに流されがちです。ここは自分の意思の弱さがまずいとは分かっているのですが。 気が付いたら1ヶ月終わってた…なんてことはもう終わりにしたいです。

  • 法律の優先順位

    ひとつまたは複数の法律内の条項が互いに矛盾している場合の優先順位のつけ方に、一般原則があれば教えてください

  • CSSの優先順位

    ヘッダー情報の中に <link href="○○.css" rel="stylesheet" type="text/css" /> を複数記述すれば、1つのHPに複数の外部CSSを関連付けることができますが、 そのなかで、おなじIDやクラスに別の命令をした場合、どのような形で優先順位がつくのでしょうか? 最初に読み込んだCSSが強いのでしょうか?弱いのでしょうか?

    • ベストアンサー
    • CSS
  • エクスプローラの「詳細」で並ぶ時の優先順位

    エクスプローラの「詳細」表示で、例えばファイルの種類順に並べ替えた場合、同種のファイルはさらに自動的に名前順に並びますが、この優先順位をファイル名やフォルダを変えずに任意に設定することはできませんか? ファイル整理ソフトなどを使わない方法があればお教えください。

  • 約束の優先順位

    (1)恋人との約束 (2)同姓の友人との約束 (3)異性の友人との約束 この3つの場合に、優先順位てありますか?例えば、既に約束していても、後からのほうを優先するような。まあ、何が何でも(1)を優先する人が多いかもしれませんが。 自分の場合は、どれでも先に決めたものを優先しますが、人によって様々ですかね。

  • アプリケーション起動時に優先順位を高くしたい

    現在、win2000でBsGOLDを使用しているのですが、書き込みエラーを 危険性を少しでも回避したいので BsGOLDの優先度を高くしたいのです。 起動した後タスクマネージャで高くする方法はわかったのですが 起動すると同時に高くしておく方法はあるのでしょうか? あるホームページで以下のコマンドをアプリ起動の前に書き込んでおけば 起動と同時になるようなことが書いてあったのですがうまくいきません %Systemroot%\system32\CMD.EXE /c start /HIGH /D 優先順位を高くする方法、またはCD-R書き込みが失敗しない方法を 知っている方、どうか教えて下さい

  • Excelユーザー設定リスト優先順位について

    Excelのユーザー設定リストについて質問です。 登録したリストの複数に同じ文字が登録されていた時の優先順位に決まりごとはありますか? 動作確認をしたのですが、登録順でも。JISコード順でも、読み順でも無い気がします。 どうぞよろしくお願いします。

  • LANの優先順位

    WindowsXP_SP2を使っています。 100Mbpsの有線LANと10Mbpsの無線LANを両方同時に使っている場合、Windowsは、どちらのLANを使いに行くのでしょうか。 おそらく速度の速い方が優先順位が高いと思うのですが。 また、どちらを使うか設定変更などで切替できるのでしょうか。 どうぞよろしくお願いします。

  • 複数の出品物の入札で、表示される順位は?

    ヤフオクですが、数量が1ではなく複数の場合何人かが最高額入札者になることがあります。 この場合、複数居る最高額入札者の表示される順位というのは何で決まるのでしょうか? 入札が早い順なら別におかしくは思わなかったのですが、そうではないので、何を基準に順位が決まるのか疑問です。 もしかして、入札額の高い順ですか?