Mercurial > hg > Papers > 2019 > menikon-midterm
changeset 4:afaa3a0ba58d
fix
author | e165723 <e165723@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 20 Oct 2019 17:06:59 +0900 |
parents | f0db7d006b4f |
children | f2089431388b |
files | midterm.mm midterm.tex |
diffstat | 2 files changed, 30 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/midterm.mm Sat Oct 19 14:48:19 2019 +0900 +++ b/midterm.mm Sun Oct 20 17:06:59 2019 +0900 @@ -2,22 +2,22 @@ <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> <node CREATED="1571206003053" ID="ID_30716385" MODIFIED="1571206261800" TEXT="中間予稿"> <node CREATED="1571206022895" ID="ID_861305952" MODIFIED="1571287904550" POSITION="right" TEXT="何を目的としているか"> -<node CREATED="1571287939232" ID="ID_689518503" MODIFIED="1571388109335" TEXT=""/> -<node CREATED="1571288379453" ID="ID_142189159" MODIFIED="1571388110675" TEXT=""/> +<node CREATED="1571287939232" ID="ID_689518503" MODIFIED="1571464322267" TEXT="Gears OSを実機で動かしたい"/> +<node CREATED="1571288379453" ID="ID_142189159" MODIFIED="1571464345164" TEXT="プロトタイプとしてxv6で実装"/> <node CREATED="1571294882389" ID="ID_877460332" MODIFIED="1571388114009" TEXT=""/> </node> -<node CREATED="1571206034424" FOLDED="true" ID="ID_1553833030" MODIFIED="1571419845442" POSITION="right" TEXT="CbCとは"> -<node CREATED="1571294955618" ID="ID_1164609171" MODIFIED="1571388108053" TEXT=""/> +<node CREATED="1571206034424" ID="ID_1553833030" MODIFIED="1571463470637" POSITION="right" TEXT="CbCとは"> +<node CREATED="1571294955618" ID="ID_1164609171" MODIFIED="1571464383028" TEXT="CodeGear"/> +<node CREATED="1571464397365" ID="ID_590758249" MODIFIED="1571464418509" TEXT="遷移の仕方"/> +<node CREATED="1571464384971" ID="ID_442963618" MODIFIED="1571464394395" TEXT="軽量継続"/> </node> +<node CREATED="1571503584430" ID="ID_600382501" MODIFIED="1571503607916" POSITION="right" TEXT="CbCのcontextの説明を簡潔にする"/> <node CREATED="1571206036541" ID="ID_1443907136" MODIFIED="1571287473110" POSITION="left" TEXT="研究目的"/> -<node CREATED="1571206149784" FOLDED="true" ID="ID_518309532" MODIFIED="1571419831921" POSITION="right" TEXT="xv6とは"> -<node CREATED="1571294977300" ID="ID_1368331454" MODIFIED="1571388103875" TEXT=""/> -</node> -<node CREATED="1571419838480" ID="ID_673888818" MODIFIED="1571419838480" POSITION="right" TEXT=""/> +<node CREATED="1571419838480" ID="ID_673888818" MODIFIED="1571465147126" POSITION="right" TEXT="interfaceについて"/> <node CREATED="1571206164777" ID="ID_1146942088" MODIFIED="1571388088605" POSITION="left" TEXT="CbC"/> -<node CREATED="1571206204127" ID="ID_1463442815" MODIFIED="1571388099036" POSITION="right" TEXT=""/> -<node CREATED="1571287531089" ID="ID_1810785110" MODIFIED="1571419786654" POSITION="left" TEXT="xv6"/> -<node CREATED="1571206239975" ID="ID_1182948539" MODIFIED="1571388095131" POSITION="left" TEXT=""/> +<node CREATED="1571503529293" ID="ID_1654454620" MODIFIED="1571503552161" POSITION="left" TEXT="CbCのAgdaForm"/> +<node CREATED="1571503514304" ID="ID_1290593297" MODIFIED="1571503522631" POSITION="left" TEXT="context"/> +<node CREATED="1571206239975" ID="ID_1182948539" MODIFIED="1571464272775" POSITION="left" TEXT="xv6のinterface"/> <node CREATED="1571206264338" ID="ID_683827298" MODIFIED="1571206271309" POSITION="right" TEXT="今後の課題"/> <node CREATED="1571206272756" ID="ID_1391725770" MODIFIED="1571206279734" POSITION="left" TEXT="今後の課題"/> <node CREATED="1571206443722" ID="ID_1708136445" MODIFIED="1571206471264" POSITION="right" TEXT="参考文献"/>
--- a/midterm.tex Sat Oct 19 14:48:19 2019 +0900 +++ b/midterm.tex Sun Oct 20 17:06:59 2019 +0900 @@ -62,16 +62,28 @@ \section{研究目的} +呼び出されたCodeGearの番号とcontext上のinterfaceの引数で状態が分かる. +つまり.CbCのinterfaceを使うとモジュール化とOS内部の明確化がstackなしで実現できる. + +本研究ではこれらのことを用い,xv6のinterfaceをCbCで書き換えることによりプロセスごとにkernelの中がどんな状態を保っているかを明確にし,OSの信頼性を保証したい. + \section{Continuation based C} -xv6 kernel上でinterfaceを実装する際,当研究室で開発されたプログラミング言語Continuation based C (CbC)を用いる. -CbCは基本的な処理単位をCodeGearとして定義し,CodeGea間で遷移するようにプログラムを記述するC言語と互換性のあるプログラミング言語である. +xv6 kernel上でinterfaceを実装する際,当研究室で開発されたプログラミング言語 Continuation based C (CbC)を用いる. +CbC は基本的な処理単位を CodeGearとして定義し,CodeGea間で遷移するようにプログラムを記述するC言語と互換性のあるプログラミング言語である. +CodeGearは返り値を持たない為,関数内で処理が終了すると呼び出し元の関数に戻ることがなく別のCodeGearへ遷移する. +またCbCにおけるCodeGear間の継続にはスタックが使用できず,呼び出し元の環境などを持たない為軽量継続と呼ぶ. -%\lstinputlisting[label=cbcexample, caption=cbc\_example.cbc]{src/cbc_example.cbc} +%CbCは軽量継続を中心にプログラミングする事が可能であるため,レジスタの移動などが行われない. +%その為並列化やループ制御,関数呼び出しにおけるスタック制御などを意識したプログラミングスタイルでプログラミングする事が可能である. -\section{xv6} -xv6とはMITのオペレーティングコースの教育目的で2006年に開発されたオペレーティングシステムである. -\\xv6はシンプルでUnixに似た構造を持っている. - +\section{CbCのAgdaForm} +CbCはAgdaに変換できるように設計されている為,CbCで実装したプログラムはAgdaによって定理証明が可能である.ー>ってことを書けば良い? +\section{CbCのcontext} +CbCのcontextには引数の置き場所が書いてある.引数の置き場所とはCodeGearのことでありCodeGearには引数が格納されている?. +番号で管理している。 +dataの保存先と実行するdategearの保存先 +パルスさんの修論 +コンテキストには引数置き場所が書いてあるー>CodeGear \section{xv6のinterface} \section{今後の課題}