Mercurial > hg > Papers > 2020 > menikon-thesis
changeset 30:10bdabd06497 default tip
fix
author | menikon |
---|---|
date | Mon, 17 Feb 2020 04:52:15 +0900 |
parents | ae7aa3408ba5 |
children | |
files | slide/CbC による xv6 の FileSystem の書き換え.html |
diffstat | 1 files changed, 36 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/CbC による xv6 の FileSystem の書き換え.html Mon Feb 17 04:37:31 2020 +0900 +++ b/slide/CbC による xv6 の FileSystem の書き換え.html Mon Feb 17 04:52:15 2020 +0900 @@ -188,7 +188,7 @@ </ul><pre><code class="clike hljs"><span class="hljs-keyword">for</span> (inum = 1; inum < sb.ninodes; inum++) { .... } -</code></pre><h3 id="書き換え後" style=""><a class="anchor hidden-xs" href="#書き換え後" title="書き換え後"><i class="fa fa-link"></i></a>書き換え後</h3><ul> +</code></pre><h3 id="書き換え後0" style=""><a class="anchor hidden-xs" href="#書き換え後0" title="書き換え後0"><i class="fa fa-link"></i></a>書き換え後</h3><ul> <li>ループの条件に合うかどうかを確認するためのCodeGearに遷移する</li> </ul><pre><code class="clike hljs">__<span class="hljs-function">code <span class="hljs-title">allocinode</span>(<span class="hljs-params"><span class="hljs-keyword">struct</span> fs_impl* fs_impl, <span class="hljs-keyword">uint</span> dev, <span class="hljs-keyword">struct</span> superblock* sb, __code next(...</span>))</span>{ <span class="hljs-comment">//:skip</span> .... @@ -246,7 +246,7 @@ log_write(bp); brelse(bp); <span class="hljs-built_in">return</span> iget(dev, inum); -</code></pre><p>- 処理を抜けた場合allocinode_noloopへ遷移<br> +</code></pre><h3 id="書き換え後" style=""><a class="anchor hidden-xs" href="#書き換え後" title="書き換え後"><i class="fa fa-link"></i></a>書き換え後</h3><p>- 処理を抜けた場合allocinode_noloopへ遷移<br> - 処理を行い値を返し終了</p><pre><code class="clike hljs">__<span class="hljs-function">code <span class="hljs-title">allocinode_noloop</span>(<span class="hljs-params"><span class="hljs-keyword">struct</span> fs_impl* fs_impl, <span class="hljs-keyword">uint</span> inum, <span class="hljs-keyword">uint</span> dev, <span class="hljs-keyword">short</span> type, <span class="hljs-keyword">struct</span> superblock* sb, <span class="hljs-keyword">struct</span> buf* bp, <span class="hljs-keyword">struct</span> dinode* dip, __code next(<span class="hljs-keyword">int</span> ret, ...</span>))</span>{ <span class="hljs-comment">//:skip</span> memset(dip, <span class="hljs-number">0</span>, <span class="hljs-keyword">sizeof</span>(*dip)); dip->type = type; @@ -261,8 +261,8 @@ <li>Basic Block 単位に書き換えたことによって、組み合わせを変え処理の改善などに利用可能</li> </ul><h2 id="まとめと今後の方針" style=""><a class="anchor hidden-xs" href="#まとめと今後の方針" title="まとめと今後の方針"><i class="fa fa-link"></i></a>まとめと今後の方針</h2><ul> <li>OS 内部で CbC インターフェースを扱えるようになった</li> -<li>CbC の書き換えが完了すれば、継続の入力と出力を検査することで OS の信頼性を保証したり、インターフェースの実装の入れ替えが可能になる</li> -<li>デバックをまだ行っていないため正常に動くかどうか確認することが求められる。</li> +<li>CbC の書き換えが完了すれば、継続の入力と出力を検査することで OS の信頼性を保証したり、インターフェースの実装の入れ替えが可能になり拡張性が実現可能</li> +<li>デバックをまだ行っていないため正常に動くかどうか確認することが求められる</li> </ul></div> <div class="ui-toc dropup unselectable hidden-print" style="display:none;"> <div class="pull-right dropdown"> @@ -271,8 +271,8 @@ </a> <ul id="ui-toc" class="ui-toc-dropdown dropdown-menu" aria-labelledby="tocLabel"> <div class="toc"><ul class="nav"> -<li class=""><a href="#CbC-による-xv6-の-FileSystem-の書き換え" title="CbC による xv6 の FileSystem の書き換え">CbC による xv6 の FileSystem の書き換え</a><ul class="nav"> -<li class=""><a href="#研究目的" title="研究目的">研究目的</a></li> +<li><a href="#CbC-による-xv6-の-FileSystem-の書き換え" title="CbC による xv6 の FileSystem の書き換え">CbC による xv6 の FileSystem の書き換え</a><ul class="nav"> +<li><a href="#研究目的" title="研究目的">研究目的</a></li> </ul> </li> <li><a href="#Continuation-based-C" title="Continuation based C">Continuation based C</a></li> @@ -283,23 +283,24 @@ <li><a href="#Xv6のFileSystem" title="Xv6のFileSystem">Xv6のFileSystem</a></li> <li><a href="#Xv6の書き換え方針" title="Xv6の書き換え方針">Xv6の書き換え方針</a></li> <li><a href="#インターフェースの導入" title="インターフェースの導入">インターフェースの導入</a></li> -<li><a href="#インターフェースの定義" title="インターフェースの定義">インターフェースの定義</a></li> -<li><a href="#インターフェース実装内の-CbC" title="インターフェース実装内の CbC">インターフェース実装内の CbC</a></li> -<li><a href="#ialloc-の-CbCによる書き換え" title="ialloc の CbCによる書き換え">ialloc の CbCによる書き換え</a><ul class="nav"> -<li><a href="#元ソースコード" title="元ソースコード">元ソースコード</a></li> -<li><a href="#iallocの処理の流れ" title="iallocの処理の流れ">iallocの処理の流れ</a></li> -<li><a href="#CbCで書き換えたiallc" title="CbCで書き換えたiallc">CbCで書き換えたiallc</a><ul class="nav"> -<li><a href="#書き換え前" title="書き換え前">書き換え前</a></li> -<li><a href="#書き換え後" title="書き換え後">書き換え後</a></li> -<li><a href="#書き換え前1" title="書き換え前">書き換え前</a></li> -<li><a href="#書き換え後1" title="書き換え後">書き換え後</a></li> -<li><a href="#書き換え前2" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#インターフェースの定義" title="インターフェースの定義">インターフェースの定義</a></li> +<li class=""><a href="#インターフェース実装内の-CbC" title="インターフェース実装内の CbC">インターフェース実装内の CbC</a></li> +<li class=""><a href="#ialloc-の-CbCによる書き換え" title="ialloc の CbCによる書き換え">ialloc の CbCによる書き換え</a><ul class="nav"> +<li class=""><a href="#元ソースコード" title="元ソースコード">元ソースコード</a></li> +<li class=""><a href="#iallocの処理の流れ" title="iallocの処理の流れ">iallocの処理の流れ</a></li> +<li class=""><a href="#CbCで書き換えたiallc" title="CbCで書き換えたiallc">CbCで書き換えたiallc</a><ul class="nav"> +<li class=""><a href="#書き換え前" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後0" title="書き換え後">書き換え後</a></li> +<li class=""><a href="#書き換え前1" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後1" title="書き換え後">書き換え後</a></li> +<li class=""><a href="#書き換え前2" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後" title="書き換え後">書き換え後</a></li> </ul> </li> </ul> </li> -<li><a href="#書き換えの評価" title="書き換えの評価">書き換えの評価</a><ul class="nav"> -<li><a href="#まとめと今後の方針" title="まとめと今後の方針">まとめと今後の方針</a></li> +<li class=""><a href="#書き換えの評価" title="書き換えの評価">書き換えの評価</a><ul class="nav"> +<li class=""><a href="#まとめと今後の方針" title="まとめと今後の方針">まとめと今後の方針</a></li> </ul> </li> </ul> @@ -309,8 +310,8 @@ </div> <div id="ui-toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="top:17px;display:none;" > <div class="toc"><ul class="nav"> -<li class=""><a href="#CbC-による-xv6-の-FileSystem-の書き換え" title="CbC による xv6 の FileSystem の書き換え">CbC による xv6 の FileSystem の書き換え</a><ul class="nav"> -<li class=""><a href="#研究目的" title="研究目的">研究目的</a></li> +<li><a href="#CbC-による-xv6-の-FileSystem-の書き換え" title="CbC による xv6 の FileSystem の書き換え">CbC による xv6 の FileSystem の書き換え</a><ul class="nav"> +<li><a href="#研究目的" title="研究目的">研究目的</a></li> </ul> </li> <li><a href="#Continuation-based-C" title="Continuation based C">Continuation based C</a></li> @@ -321,23 +322,24 @@ <li><a href="#Xv6のFileSystem" title="Xv6のFileSystem">Xv6のFileSystem</a></li> <li><a href="#Xv6の書き換え方針" title="Xv6の書き換え方針">Xv6の書き換え方針</a></li> <li><a href="#インターフェースの導入" title="インターフェースの導入">インターフェースの導入</a></li> -<li><a href="#インターフェースの定義" title="インターフェースの定義">インターフェースの定義</a></li> -<li><a href="#インターフェース実装内の-CbC" title="インターフェース実装内の CbC">インターフェース実装内の CbC</a></li> -<li><a href="#ialloc-の-CbCによる書き換え" title="ialloc の CbCによる書き換え">ialloc の CbCによる書き換え</a><ul class="nav"> -<li><a href="#元ソースコード" title="元ソースコード">元ソースコード</a></li> -<li><a href="#iallocの処理の流れ" title="iallocの処理の流れ">iallocの処理の流れ</a></li> -<li><a href="#CbCで書き換えたiallc" title="CbCで書き換えたiallc">CbCで書き換えたiallc</a><ul class="nav"> -<li><a href="#書き換え前" title="書き換え前">書き換え前</a></li> -<li><a href="#書き換え後" title="書き換え後">書き換え後</a></li> -<li><a href="#書き換え前1" title="書き換え前">書き換え前</a></li> -<li><a href="#書き換え後1" title="書き換え後">書き換え後</a></li> -<li><a href="#書き換え前2" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#インターフェースの定義" title="インターフェースの定義">インターフェースの定義</a></li> +<li class=""><a href="#インターフェース実装内の-CbC" title="インターフェース実装内の CbC">インターフェース実装内の CbC</a></li> +<li class=""><a href="#ialloc-の-CbCによる書き換え" title="ialloc の CbCによる書き換え">ialloc の CbCによる書き換え</a><ul class="nav"> +<li class=""><a href="#元ソースコード" title="元ソースコード">元ソースコード</a></li> +<li class=""><a href="#iallocの処理の流れ" title="iallocの処理の流れ">iallocの処理の流れ</a></li> +<li class=""><a href="#CbCで書き換えたiallc" title="CbCで書き換えたiallc">CbCで書き換えたiallc</a><ul class="nav"> +<li class=""><a href="#書き換え前" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後0" title="書き換え後">書き換え後</a></li> +<li class=""><a href="#書き換え前1" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後1" title="書き換え後">書き換え後</a></li> +<li class=""><a href="#書き換え前2" title="書き換え前">書き換え前</a></li> +<li class=""><a href="#書き換え後" title="書き換え後">書き換え後</a></li> </ul> </li> </ul> </li> -<li><a href="#書き換えの評価" title="書き換えの評価">書き換えの評価</a><ul class="nav"> -<li><a href="#まとめと今後の方針" title="まとめと今後の方針">まとめと今後の方針</a></li> +<li class=""><a href="#書き換えの評価" title="書き換えの評価">書き換えの評価</a><ul class="nav"> +<li class=""><a href="#まとめと今後の方針" title="まとめと今後の方針">まとめと今後の方針</a></li> </ul> </li> </ul>