タグ

メッセージキューに関するyukimori_726のブックマーク (3)

  • lf287, SoftwareDevelopment: 並列プログラミング - メッセージキュー (1)

    by Leonardo Giordani <leo.giordani(at)libero.it> 著者紹介: Politecnico of Milan の通信工学部の学生で、ネットワーク管理を行っています。 プログラミング (主にアセンブリ言語と C/C++) に興味を持っています。 1999 年以降は、ほとんど Linux/Unix だけを扱っています。 目次: はじめに メッセージキューの基礎 プロトコルの作成 System V メッセージキュー お薦めの 要約: この連載記事の目的は、マルチタスキングの考え方を紹介し、それが Linux オペレーティングシステムではどのように実装されているかを説明することです。 まずはマルチタスキングの基礎になる概念的な部分から始めて、最終的にはプロセス間通信を行うアプリケーションを完成させます。 そこではシンプルですが効率的な通信プロトコルを使い

    lf287, SoftwareDevelopment: 並列プログラミング - メッセージキュー (1)
  • Posixメッセージキュー - s-kita’s blog

    Introductionメッセージキューは、メッセージのリンク構造と考えることが出来る 各メッセージはレコードであり、各メッセージには送信側が指定した優先度が付いている。 メッセージの書き込みに際しては、そのキューにおいて何らかのプロセスがメッセージの到着を待っていることが要求されない。(パイプと対照的) メッセージキューはパイプと異なり、カーネル持続性(kernel persistence)を持つ。(パイプ、FIFOでは、それらが最後にクローズされる際に、残っているデータは破棄される。) PosixメッセージキューとSystem V メッセージキューの違いPosixメッセージキューからの読み出しは、常に最も高い優先度の最も古いメッセージを返す。System V メッセージキューでは、任意の優先度のメッセージを読み出すことが出来る。 Posixメッセージキューでは、空のキューにメッセージが

    Posixメッセージキュー - s-kita’s blog
  • POSIX メッセージキュー リベンジ編 - debian36の日記

    前回:http://d.hatena.ne.jp/debian36/20080220/1203510497 ちょっと前に挑戦して、うまくいかなかったPOSIX メッセージキューを用いたIPCプログラミング。 いろいろ試した結果、前回の ERRNO 90 (ELOOP) の原因は、 mq_receive 時のバッファサイズ指定ミスのようでした。 SysVのMsgQだと、メッセージキューそのものの属性がどうであろうと、 そのときに(msgrcvコール時に)取得するメッセージ以上のサイズをmsgrcv()のlength引数に渡せばよかったのですが、 POSIXのMsgQの場合、実際に格納されているメッセージのサイズがどうであろうと、対象となるメッセージキューに格納されうる最大のサイズを mq_receive() のlen 引数に渡さなければいけないようです。 そのため、mq_receive()す

    POSIX メッセージキュー リベンジ編 - debian36の日記
  • 1