changeset 35:d98dc007854b

update
author mir3636
date Sun, 21 Jan 2018 09:30:16 +0900
parents 529e93784da3
children 3f9931c6488f
files Slide/prosym.html Slide/prosym.md
diffstat 2 files changed, 61 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/Slide/prosym.html	Sun Jan 21 08:35:25 2018 +0900
+++ b/Slide/prosym.html	Sun Jan 21 09:30:16 2018 +0900
@@ -86,7 +86,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin16]
-                on 2018-01-21 00:45:59 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-01-21 08:47:18 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -226,24 +226,45 @@
 __code code2(struct Array* array) {
     ...
 }
-
 </code></pre>
-<p># Gears OS の構成
-- Gears OS は以下の要素で構成される。
-    - Context 
-        - 使用されるCode/Data Gear のリストを持っておりTaskでもある。<br />
-    - TaskQueue 
-        - Task のリストを扱う
-    - TaskManager 
-        - Task の依存関係の解決、作成や停止を行います。
-    - Worker 
-        - Task の実行を行う</p>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="gears-os-">Gears OS の構成図</h1>
+<h1 id="gears-os-">Gears OS の構成</h1>
+<ul>
+  <li>Gears OS は以下の要素で構成される。
+    <ul>
+      <li>Context
+        <ul>
+          <li>使用されるCode/Data Gear のリストを持っておりTaskでもある。</li>
+        </ul>
+      </li>
+      <li>TaskQueue
+        <ul>
+          <li>Task のリストを扱う</li>
+        </ul>
+      </li>
+      <li>TaskManager
+        <ul>
+          <li>Task の依存関係の解決、作成や停止を行います。</li>
+        </ul>
+      </li>
+      <li>Worker
+        <ul>
+          <li>Task の実行を行う</li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="gears-os--1">Gears OS の構成図</h1>
 
 <div style="text-align: center;">
  <img src="./fig/gears_structure.pdf" alt="gears_structure" width="900" />
@@ -302,6 +323,28 @@
 };
 </code></pre>
 
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="data-gear-">Data Gear の定義</h1>
+<ul>
+  <li>Data Gear は union と struxt を用いて定義される</li>
+  <li>これをもとに必要な Data Gear の allocate を行う</li>
+</ul>
+
+<pre lang="data"><code>union Data {
+    struct Time {
+        enum Code next;
+        double time;
+    } time;
+    struct LoopCounter {
+        int i;
+    } loopCounter;
+    ...
+};
+</code></pre>
+
 <!--
 # CbC による Gears OS 記述の問題点
 - Gears OS を CbC で実装する上でメタ計算の記述が煩雑であることがわかった。
@@ -428,9 +471,6 @@
   <li>現在の CbC で Gears OS を記述すると、このメタ計算の記述も行わなくてはならず、これには多くの労力を要する。</li>
   <li>この記述を助けるために Context を生成する generate_context と stub Code Gear を生成する generate_stub を perl スクリプトで作成した。</li>
 </ul>
-<div style="text-align: center;">
- <img src="./fig/generate_context.pdf" alt="generate_context" width="900" />
-</div>
 
 
 </div>
--- a/Slide/prosym.md	Sun Jan 21 08:35:25 2018 +0900
+++ b/Slide/prosym.md	Sun Jan 21 09:30:16 2018 +0900
@@ -97,8 +97,8 @@
 __code code2(struct Array* array) {
     ...
 }
+```
 
-```
 # Gears OS の構成
 - Gears OS は以下の要素で構成される。
     - Context 
@@ -155,6 +155,7 @@
     D_dg2,
 };
 ```
+
 # Data Gear の定義
 - Data Gear は union と struxt を用いて定義される
 - これをもとに必要な Data Gear の allocate を行う
@@ -307,10 +308,9 @@
 </div>
 
 # 今後の課題
-- 本研究では interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う perl スクリプトの生成を行なった。
+- 本研究では CbC を用いた Gears OS の記述、CbC ファイルから Gears OS の記述に必要な Meta の生成を行う perl スクリプトの作成を行なった。
 - これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。
-- 今後の課題は Code Gear からメタ計算を行う meta Code Gear を生成できるようにし、ユーザーがメタレベルの処理を意識せずにコードを記述できるようにする。
-- また、今回 perl スクリプトによって Context や stub の生成を行なったが、LLVM/clang 上で実装しコンパイラで直接 CbC を実行できるようにすることを目的とする。
-
+- 今後の課題は今回 perl スクリプトによって Context や stub を含むファイルの生成を行なったが、LLVM/clang 上で実装しコンパイラから直接 CbC を実行できるようにすることを目的とする。
+- また、xv6 を Gears OS での書き換えや、継続ではスタックは積まないため、スタックトレースを使わない手法でのデバッグの考案などもある。
 
 [](プロシン発表時間 セッション7 1/21 10:40 - 12:00)