タスク間通信とリソース共有とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > タスク間通信とリソース共有の意味・解説 

タスク間通信とリソース共有

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/09 15:59 UTC 版)

リアルタイムオペレーティングシステム」の記事における「タスク間通信とリソース共有」の解説

マルチタスクシステムでは、複数タスク間でデータやハードウェアリソースを共有するという問題対処しなければならない一般に2つタスク同時に同じデータや同じハードウェアリソースにアクセスすることは危険である(ここで「危険」と言うのはタスク複数データ集合体更新中だった場合などに、結果一貫性保てず、予期しない結果生じることを意味する。他のタスクがそのデータ集合体アクセスするのは、更新が始まる前か更新完了した後でなければならない)。これを解決する一般的方法として以下の3種類があげられる割り込み一時的に不可マスク)とする。 2値セマフォロックあるいはミューテックスとも呼ぶ。 メッセージ渡し (Message Passing) 汎用OSではユーザープログラムが割り込みマスクすることはできないのが一般的である。というのもCPUモードによってユーザーできること限られているためである。最近CPU割り込みマスクレジスタ命令ユーザーモードアクセスできないようにしている。しかし、組み込みシステムRTOS多くアプリケーションカーネルモード実行可能であり、システムコール効率化したり、OS介入なしで動作環境制御ができるようになっている。 シングルプロセッサシステムでは、アプリケーションカーネルモード実行して割り込みマスク制御可能なら共有リソースへの同時アクセスを防ぐ方法としてはそれが最も効率的オーバヘッド小さい)である。割り込みマスクされていると、実行タスクCPU独占することができ、他のタスク割り込み制御を奪うことはできない。そのためクリティカルセクション効率的に保護されるタスククリティカルセクション抜けたとき、割り込みマスク解除され保留されていた割り込みがあれば、その処理が実行される割り込みマスクは、クリティカルセクションの期間が割り込み処理遅延時間要求指標を守る範囲内なければならない一般にこの方法はクリティカルセクションソースコードでほんの数行ループ含まれていない場合のみ適用されるハードウェアのビットマップレジスタを複数タスク操作する場合この方法による排他理想的である。 クリティカルセクションがもっと長かったループ含んでいる場合セマフォOS提供のプロセス間通信機能使用しなければならないそのような機能システムコールとして実装されているのが一般的で、完了時にOSディスパッチ処理が実行される。そのため、割り込みマスク比較すると非常に長時間要する可能性がある。しかし、クリティカルセクション長い場合割り込み遅延時間問題があるので選択余地はない。 2値セマフォは、ロック状態かアンロック状態である。ロックされている場合タスクはそのセマフォを待つためのキュー登録される一般にタスクセマフォ待ち時間タイムアウト値を設定できるセマフォに関する問題として、優先順位の逆転デッドロックがよく知られている。 「優先順位の逆転」では、高優先度タスクが低優先度タスクの持つセマフォを待つため、低優先度タスク先に処理される一般的な解決策としては優先度継承優先度上限プロトコルがある。「デッドロック」は複数セマフォ獲得しようとする複数タスク存在する場合発生するデッドロックセマフォ獲得順を厳密に設計することで回避するのが一般的である。ただし、同種のリソースを2個同時に獲得しなければならない場合それぞれのセマフォ獲得順を厳密に決定することは困難である。その場合、例えセマフォ獲得できないときにビジーウェイトブロックもしないエラー返すプリミティブ用意するなどの方式がある。 タスク間のリソース共有別の方法として「メッセージ渡し」がある。この場合、あるリソース直接的に特定の1つタスクのみが管理し、他のタスクがそのリソースアクセスしたい場合は、管理タスクメッセージ送信するこの方式でも優先順位の逆転デッドロック発生する可能性がある。しかし、システムが単純であればデッドロック発生しないように設計可能であるため、性能的にセマフォよりも不利だが、動作予測し易い。

※この「タスク間通信とリソース共有」の解説は、「リアルタイムオペレーティングシステム」の解説の一部です。
「タスク間通信とリソース共有」を含む「リアルタイムオペレーティングシステム」の記事については、「リアルタイムオペレーティングシステム」の概要を参照ください。

ウィキペディア小見出し辞書の「タスク間通信とリソース共有」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「タスク間通信とリソース共有」の関連用語

タスク間通信とリソース共有のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



タスク間通信とリソース共有のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのリアルタイムオペレーティングシステム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS