Mercurial > hg > Papers > 2019 > menikon-sigos
changeset 17:8b0d4a70ef47
fix slide
author | e165723 <e165723@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 24 May 2019 14:18:28 +0900 |
parents | 22deadcd8653 |
children | cef6ee71df2d |
files | slide/sigos.html slide/sigos.md slide/sigos.pdf.html |
diffstat | 3 files changed, 41 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/sigos.html Thu May 23 18:29:30 2019 +0900 +++ b/slide/sigos.html Fri May 24 14:18:28 2019 +0900 @@ -100,7 +100,7 @@ <!-- _S9SLIDE_ --> -<h1 id="xv6-を継続で書き換える意味">xv6 を継続で書き換える意味</h1> +<h2 id="xv6-を継続で書き換える意味">xv6 を継続で書き換える意味</h2> @@ -108,7 +108,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="continuatuin-based-c">Continuatuin based C</h1> +<h2 id="continuatuin-based-c">Continuatuin based C</h2> <ul> <li>Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。</li> <li>Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 文によって遷移する。</li> @@ -122,7 +122,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="cbc-のコード例">CbC のコード例</h1> +<h2 id="cbc-のコード例">CbC のコード例</h2> <ul> <li>CbC では Code Gear は <em>__code</em> という型を持つ関数の構文で定義される。</li> <li>Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。</li> @@ -130,13 +130,14 @@ <li>この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。</li> </ul> -<p><em>__code</em> cg0(int a, int b){ +<pre><code>__code cg0(int a, int b){ goto cg1(a+b); -}</p> +} -<p><em>__code</em> cg1(int c){ +__code cg1(int c){ goto cg2(c); -}</p> +} +</code></pre> @@ -144,7 +145,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="gears-におけるメタ計算">Gears におけるメタ計算</h1> +<h2 id="gears-におけるメタ計算">Gears におけるメタ計算</h2> <ul> <li>Gears OS ではメタ計算を Meta Code Gear、Meta Data Gear で表現する。</li> <li>Meta Code Gear はノーマルレベルの Code Gear の直後に遷移され、メタ計算を実行する。</li> @@ -157,7 +158,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="interface">Interface</h1> +<h2 id="interface">Interface</h2> <ul> <li>Code Gear と Data Gear は Interface と呼ばれるまとまりとして記述される。</li> <li>Interface は使用される Data Gear の定義と、それに対する Code Gear の集合である。</li> @@ -170,7 +171,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="xv6-の-cbc-への書き換え">xv6 の CbC への書き換え</h1> +<h2 id="xv6-の-cbc-への書き換え">xv6 の CbC への書き換え</h2> @@ -178,7 +179,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="xv6-rpi-の-cbc-対応">xv6-rpi の CbC 対応</h1> +<h2 id="xv6-rpi-の-cbc-対応">xv6-rpi の CbC 対応</h2> @@ -186,7 +187,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="cbc-によるシステムコールの書き換え">CbC によるシステムコールの書き換え</h1> +<h2 id="cbc-によるシステムコールの書き換え">CbC によるシステムコールの書き換え</h2> @@ -194,7 +195,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="まとめと今後の方針">まとめと今後の方針</h1> +<h2 id="まとめと今後の方針">まとめと今後の方針</h2> </div>
--- a/slide/sigos.md Thu May 23 18:29:30 2019 +0900 +++ b/slide/sigos.md Fri May 24 14:18:28 2019 +0900 @@ -12,43 +12,45 @@ <!-- * 実際に行なった書き換え--> <!-- * まとめ --> -# xv6 を継続で書き換える意味 +## 研究目的 -# Continuatuin based C +## Continuatuin based C * Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。 * Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 文によって遷移する。 * この goto 文による遷移を軽量継続と呼ぶ。 * CbC は軽量継続を持ち、C と互換性のある言語である -# CbC のコード例 +## CbC のコード例 * CbC では Code Gear は *__code* という型を持つ関数の構文で定義される。 * Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。 * goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。 * この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。 -*__code* cg0(int a, int b){ +``` +__code cg0(int a, int b){ goto cg1(a+b); } -*__code* cg1(int c){ +__code cg1(int c){ goto cg2(c); } +``` -# Gears におけるメタ計算 +## Gears におけるメタ計算 * Gears OS ではメタ計算を Meta Code Gear、Meta Data Gear で表現する。 * Meta Code Gear はノーマルレベルの Code Gear の直後に遷移され、メタ計算を実行する。 * Meta Code Gear で OS の機能であるメモリ管理やスレッド管理を行う。 -# Interface +## Interface * Code Gear と Data Gear は Interface と呼ばれるまとまりとして記述される。 * Interface は使用される Data Gear の定義と、それに対する Code Gear の集合である。 * Interface の操作に対応する Code Gear の引数は Interface に定義されている Data Gear を通して行われる。 -# xv6 の CbC への書き換え +## xv6 の CbC への書き換え -# xv6-rpi の CbC 対応 +## xv6-rpi の CbC 対応 -# CbC によるシステムコールの書き換え +## CbC によるシステムコールの書き換え -# まとめと今後の方針 +## まとめと今後の方針
--- a/slide/sigos.pdf.html Thu May 23 18:29:30 2019 +0900 +++ b/slide/sigos.pdf.html Fri May 24 14:18:28 2019 +0900 @@ -84,7 +84,7 @@ <!-- _S9SLIDE_ --> -<h1 id="xv6-を継続で書き換える意味">xv6 を継続で書き換える意味</h1> +<h2 id="xv6-を継続で書き換える意味">xv6 を継続で書き換える意味</h2> @@ -92,7 +92,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="continuatuin-based-c">Continuatuin based C</h1> +<h2 id="continuatuin-based-c">Continuatuin based C</h2> <ul> <li>Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。</li> <li>Code Gear は 関数呼び出し時の環境を使わずに次の Code Gear へと goto 文によって遷移する。</li> @@ -106,7 +106,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="cbc-のコード例">CbC のコード例</h1> +<h2 id="cbc-のコード例">CbC のコード例</h2> <ul> <li>CbC では Code Gear は <em>__code</em> という型を持つ関数の構文で定義される。</li> <li>Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。</li> @@ -114,13 +114,14 @@ <li>この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。</li> </ul> -<p><em>__code</em> cg0(int a, int b){ +<pre><code>__code cg0(int a, int b){ goto cg1(a+b); -}</p> +} -<p><em>__code</em> cg1(int c){ +__code cg1(int c){ goto cg2(c); -}</p> +} +</code></pre> @@ -128,7 +129,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="gears-におけるメタ計算">Gears におけるメタ計算</h1> +<h2 id="gears-におけるメタ計算">Gears におけるメタ計算</h2> <ul> <li>Gears OS ではメタ計算を Meta Code Gear、Meta Data Gear で表現する。</li> <li>Meta Code Gear はノーマルレベルの Code Gear の直後に遷移され、メタ計算を実行する。</li> @@ -141,7 +142,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="interface">Interface</h1> +<h2 id="interface">Interface</h2> <ul> <li>Code Gear と Data Gear は Interface と呼ばれるまとまりとして記述される。</li> <li>Interface は使用される Data Gear の定義と、それに対する Code Gear の集合である。</li> @@ -154,7 +155,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="xv6-の-cbc-への書き換え">xv6 の CbC への書き換え</h1> +<h2 id="xv6-の-cbc-への書き換え">xv6 の CbC への書き換え</h2> @@ -162,7 +163,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="xv6-rpi-の-cbc-対応">xv6-rpi の CbC 対応</h1> +<h2 id="xv6-rpi-の-cbc-対応">xv6-rpi の CbC 対応</h2> @@ -170,7 +171,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="cbc-によるシステムコールの書き換え">CbC によるシステムコールの書き換え</h1> +<h2 id="cbc-によるシステムコールの書き換え">CbC によるシステムコールの書き換え</h2> @@ -178,7 +179,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h1 id="まとめと今後の方針">まとめと今後の方針</h1> +<h2 id="まとめと今後の方針">まとめと今後の方針</h2> </div>