# HG changeset patch # User mir3636 # Date 1524484308 -32400 # Node ID a5ade8ddab0d9e01f0e41aacb4f056fecfb1301f # Parent 43c00f43ee22d4dc9a709b4314f9d5d0e9119d77 fix diff -r 43c00f43ee22 -r a5ade8ddab0d Paper/sigos.pdf Binary file Paper/sigos.pdf has changed diff -r 43c00f43ee22 -r a5ade8ddab0d Paper/sigos.tex --- a/Paper/sigos.tex Mon Apr 23 20:32:58 2018 +0900 +++ b/Paper/sigos.tex Mon Apr 23 20:51:48 2018 +0900 @@ -328,6 +328,12 @@ \lstinputlisting[caption=par goto による並列実行, label=pargoto]{./src/parGotoCreateTask.cbc} par goto の引数には Input/Output Data Gear と 実行後に継続する \_\_exit を渡す。 par goto で生成された Task は \_\_exit に継続することで終了する。 + +この par goto 文は通常のプログラミングの関数呼び出しのように扱うことができる。 + +Code\ref{perlpargoto} は par goto である Code\ref{pargoto} を perl スクリプトによって変換が行われたコードである。 +\lstinputlisting[caption=perl スクリプトによる par goto の変換, label=perlpargoto]{./src/parGotoCreateTask.c} + par goto文でも 通常の goto 分と同様にメタへの goto 文へ置き換えられるが、par goto 文では通常の goto 文とは異なるメタへと継続する。 Gears OS の Task は Output Data Gear を生成した時点で終了するので、par goto では直接 \_\_exit に継続するのではなく、 Output Data Gear への書き出し処理(Commit)に継続される。 @@ -340,11 +346,6 @@ カウンタが0になると Task が待っている Input Data Gear が揃ったことになり、 その Task を TaskManager 経由で 実行される Worker に送信する。 -この par goto 文は通常のプログラミングの関数呼び出しのように扱うことができる。 - -Code\ref{perlpargoto} は Code\ref{pargoto} を perl スクリプトによって変換が行われたコードである。 -\lstinputlisting[caption=perl スクリプトによる par goto の変換, label=perlpargoto]{./src/parGotoCreateTask.c} - %\section{比較} % %従来のプログラミングスタイルとの比較。