comparison 7.tex @ 7:624a45b40bfe

done.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 28 Mar 2009 13:45:19 +0900
parents
children
comparison
equal deleted inserted replaced
6:0688dba0327e 7:624a45b40bfe
1 \section{ メタエンジンの実装}
2
3 ここでの Linda Server は、Single Thread に実装されており、
4 Java nio のselect で待ち、通信パケットを受け取って処理する
5 というメインループを持っている。
6 メタエンジンは、このメインループを置き換える形で
7 実装した。つまり、メタエンジン自体が{\tt sync()}
8 しながらループするという構造を持っている(図\ref{メタエンジン})。
9
10 メタエンジンは、Linda serverの立ち上げ時、または、
11 メタエンジンそのものから、特殊なものに置き換えるAPI
12 を用意する。
13
14 APIは、通常のLindaのAPIだが、メタエンジンでは、
15 タプルスペースに対して直接アクセスする。
16
17 Single Thread Server上のメインループの一部として
18 実現されているので、タプルスペースをlockすることなく
19 自由にアクセスすることができる。ここでのLinda API
20 は{\tt in,rd}で待ち合わせしない仕様になっていて、
21 待ち合わせは、{\tt sync()}とポーリング、または、
22 call back によって実現されている。従って、
23 メインループの一部としても、{\tt in,rd}の待ち合わせ
24 によってデッドロックするようなことはない。
25
26