12.07.2015 Views

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>スピンロックは2つの 状 態 (ロックとアンロック)を 持 っています。 初 期 化 される 時 、スピンロックはアンロック 状 態 にあります。もし 共 有 リソースへのアクセスを 調 整 するためにスピンロックを使 用 したいと 考 えている 場 合 、アプリケーション・プログラムの 中 にそれらを 割 り 当 てて 同 期 したいプロセスまたはスレッドが 共 有 するメモリの 中 にそれらを 配郤 置 する 必 要 があります。「spin_mutexインターフェースの 利 用 」で 説 明 されているインターフェースを 使 うことによりそれらを 操 作 することが 可 能 です。spin_mutexインターフェースの 利 用 5このビジーウェイト 相 互 排 他 インターフェース 一 式 は、スピンロックの 初 期 化 、ロック、アンロックおよび 特 定 のスピンロックがロックされているかどうかを 判 断 することが 可 能 です。 以 下 で簡 単 に 説 明 します:spin_initspin_lockspin_trylockspin_islockspin_unlockスピンロックをアンロック 状 態 に 初 期 化 しますスピンロックがロックされるまでスピンします指 定 されたスピンロックのロックを 試 みます指 定 されたスピンロックがロックされているかどうかを 確 認 します指 定 されたスピンロックをアンロックしますこれらのインターフェースのいずれも 無 条 件 にスピンロックをロックすることが 可 能 なものはないことに 注 意 することが 重 要 です。 提 供 されるツールを 使 用 することによりこの 機 能 を 構 築 することが 可 能 です。CAUTIONスピンロック 上 の 操 作 は 再 起 的 ではありませんが、もし 既 にロックされたスピンロックを 再 ロック 使 用 とする 場 合 、プロセスまたはスレッドはデッドロックとなる 可 能 性 があります。これらを 使 用 する 前 にspin_initの 呼 び 出 しによりスピンロックを 初 期 化 する 必 要 があります。 各スピンロックに 対 して1 度 だけspin_initを 呼 び 出 します。もし 指 定 するスピンロックがロックされている 場 合 、spin_initは 効 果 的 にアンロックしますが、これは 値 を 返 しません。spin_initインターフェースは 以 下 のように 指 定 されます:#include void spin_init(spin_mutex_t *m);引 数 は 以 下 のように 定 義 されます:mスピンロックの 開 始 アドレスspin_lockはスピンロックがロックされるまでスピンします。これは 値 を 返 しません。このインターフェースは 以 下 のように 指 定 されます:#include void spin_lock(spin_mutex_t *m);5-8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!