Mercurial > hg > Papers > 2020 > anatofuz-sigos
view etc/xv6model.mm @ 21:7c9cac61b14c
update
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 02 May 2020 21:31:57 +0900 |
parents | babdf0b27d62 |
children |
line wrap: on
line source
<map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> <node CREATED="1587962519361" ID="ID_307407658" MODIFIED="1587966139651" TEXT="xv6の構成要素の継続の分析"> <node CREATED="1587966142790" ID="ID_24786061" MODIFIED="1588056185134" POSITION="right" TEXT="OSの信頼性"> <node CREATED="1588056185711" ID="ID_1705246760" MODIFIED="1588056194739" TEXT="OSそのものの信頼性が重要"/> <node CREATED="1588056195436" ID="ID_1000501001" MODIFIED="1588056203319" TEXT="テストで全て発見するのは難しい"/> <node CREATED="1588056205928" ID="ID_1775779045" MODIFIED="1588056210700" TEXT="形式手法で解決したい"> <node CREATED="1588056211082" ID="ID_782152333" MODIFIED="1588056213398" TEXT="モデル検査"/> <node CREATED="1588056213962" ID="ID_1271429688" MODIFIED="1588056216894" TEXT="定理証明"/> <node CREATED="1588056229893" ID="ID_1640626116" MODIFIED="1588056239491" TEXT="状態遷移での表現"> <node CREATED="1588056251418" ID="ID_850233495" MODIFIED="1588056260965" TEXT="継続を用いたプログラムになる"/> <node CREATED="1588056261544" ID="ID_870898269" MODIFIED="1588056271078" TEXT="各処理の状態が明確になる"/> <node CREATED="1588056271519" ID="ID_517574622" MODIFIED="1588056278016" TEXT="再利用性"/> </node> </node> <node CREATED="1588056283536" ID="ID_1946524166" MODIFIED="1588056292317" TEXT="状態遷移ベースでのプログラミング"> <node CREATED="1588056292667" ID="ID_385795752" MODIFIED="1588056297956" TEXT="CbCを使うのに適している"/> <node CREATED="1588056298386" ID="ID_1545754667" MODIFIED="1588056311951" TEXT="軽量継続で書いていく必要がある"/> <node CREATED="1588056312380" ID="ID_1848143637" MODIFIED="1588056334076" TEXT="既存のOSで信頼性を高めたい箇所を継続ベースで書く"/> </node> </node> <node CREATED="1588056341226" ID="ID_1837405038" MODIFIED="1588056346724" POSITION="right" TEXT="xv6の概要"> <node CREATED="1588056347165" ID="ID_954793317" MODIFIED="1588056352328" TEXT="小さなunix"> <node CREATED="1588056352757" ID="ID_592980455" MODIFIED="1588056358303" TEXT="学習用のOS"/> <node CREATED="1588056358759" ID="ID_1784074944" MODIFIED="1588056368579" TEXT="x86をサポート"> <node CREATED="1588056368933" ID="ID_851958233" MODIFIED="1588056373994" TEXT="armサポートのものもある"/> <node CREATED="1588056374420" ID="ID_700794887" MODIFIED="1588056385063" TEXT="今回はarmのものを使う"> <node CREATED="1588056385236" ID="ID_120282817" MODIFIED="1588056394784" TEXT="ラズパイで動かしたい"/> </node> </node> <node CREATED="1588056489774" ID="ID_695083191" MODIFIED="1588056494714" TEXT="システムコール"> <node CREATED="1588056495175" ID="ID_876291661" MODIFIED="1588056496886" TEXT="read"/> <node CREATED="1588056497186" ID="ID_329962087" MODIFIED="1588056498267" TEXT="open"/> <node CREATED="1588056500337" ID="ID_926123985" MODIFIED="1588056501851" TEXT="write"/> <node CREATED="1588056502166" ID="ID_150941282" MODIFIED="1588056506307" TEXT="select"/> </node> <node CREATED="1588056512664" ID="ID_1823023299" MODIFIED="1588056516227" TEXT="ファイルシステム"> <node CREATED="1588056516717" ID="ID_1552666406" MODIFIED="1588056520078" TEXT="log"/> <node CREATED="1588056520395" ID="ID_1392323149" MODIFIED="1588056526677" TEXT="bread"/> <node CREATED="1588056526950" ID="ID_1881798606" MODIFIED="1588056534318" TEXT="elf"/> </node> </node> <node CREATED="1588056510050" FOLDED="true" ID="ID_1294717157" MODIFIED="1588065642193" TEXT="軽量継続で表現し直す"> <node CREATED="1588065592550" ID="ID_925955867" MODIFIED="1588065597228" TEXT="xv6の状態とは"> <node CREATED="1588065641714" ID="ID_1199635843" MODIFIED="1588065641714" TEXT=""/> </node> <node CREATED="1588065597808" ID="ID_1840987850" MODIFIED="1588065607325" TEXT="例題として考えたいxv6の処理"> <node CREATED="1588065607948" ID="ID_519197164" MODIFIED="1588065612708" TEXT="現状どうなっているか"/> <node CREATED="1588065612943" ID="ID_771550355" MODIFIED="1588065621185" TEXT="どのあたりに着目するのか"/> </node> </node> </node> <node CREATED="1588065623159" ID="ID_566985871" MODIFIED="1588065629824" POSITION="right" TEXT="XV6の分析"> <node CREATED="1588065630421" ID="ID_620275620" MODIFIED="1588065637999" TEXT="xv6の状態"> <node CREATED="1588065643559" ID="ID_1580321989" MODIFIED="1588065648363" TEXT="kernelの状態"/> <node CREATED="1588065648988" ID="ID_1221901311" MODIFIED="1588065652205" TEXT="プロセスの状態"/> <node CREATED="1588065652719" ID="ID_235449200" MODIFIED="1588065663320" TEXT="特定の処理における状態数"/> <node CREATED="1588065663777" ID="ID_1335508696" MODIFIED="1588065679577" TEXT="どの様に遷移していく? 何で繊維する?"/> </node> <node CREATED="1588065638758" ID="ID_256481536" MODIFIED="1588065691655" TEXT="書き換えを行う"> <node CREATED="1588065692098" ID="ID_455049098" MODIFIED="1588065698196" TEXT="現状で書き換えたい処理"/> <node CREATED="1588065698669" ID="ID_37487063" MODIFIED="1588065701662" TEXT="処理の詳細"/> <node CREATED="1588065702074" ID="ID_1608569903" MODIFIED="1588065710916" TEXT="書き換えを行う際の状態単位"> <node CREATED="1588065711374" ID="ID_804061781" MODIFIED="1588065717336" TEXT="CodeGearに分割する"/> <node CREATED="1588065717599" ID="ID_770084702" MODIFIED="1588065724413" TEXT="CodeGear同士に移動"/> </node> <node CREATED="1588066062742" ID="ID_929052430" MODIFIED="1588066069377" TEXT="状態を持つcontext"> <node CREATED="1588066069972" ID="ID_1711074034" MODIFIED="1588066074526" TEXT="どういう要素をもつべきか"/> <node CREATED="1588066075121" ID="ID_1829192060" MODIFIED="1588066083437" TEXT="そもそもcontextの種類はどれくらいあるのか"> <node CREATED="1588066086776" ID="ID_1687292667" MODIFIED="1588066089013" TEXT="process"/> <node CREATED="1588066089312" ID="ID_863986189" MODIFIED="1588066107762" TEXT="kernelのcontext"> <node CREATED="1588066108521" ID="ID_1568633104" MODIFIED="1588066123112" TEXT="割り込みのフラグ"/> <node CREATED="1588066123390" ID="ID_1163565139" MODIFIED="1588066131358" TEXT="inode cache"/> </node> </node> </node> </node> </node> <node CREATED="1588420879127" ID="ID_694783791" MODIFIED="1588420885189" POSITION="right" TEXT="CbC"> <node CREATED="1588420885528" ID="ID_1718362615" MODIFIED="1588420888713" TEXT="CbCの概要"/> <node CREATED="1588420889579" ID="ID_94820861" MODIFIED="1588420894077" TEXT="CodeGear"> <node CREATED="1588420894439" ID="ID_1690545692" MODIFIED="1588420897811" TEXT="軽量継続"/> <node CREATED="1588420898427" ID="ID_601528707" MODIFIED="1588420902107" TEXT="環境付きgoto"> <node CREATED="1588420914007" ID="ID_196411479" MODIFIED="1588420920477" TEXT="setjmp/longmp"/> <node CREATED="1588420920757" ID="ID_469312585" MODIFIED="1588420930536" TEXT="内部コード生成"/> </node> <node CREATED="1588420902519" ID="ID_174711025" MODIFIED="1588420912172" TEXT="引数がDataGearに相当する"/> </node> <node CREATED="1588420932670" ID="ID_1856809702" MODIFIED="1588420935461" TEXT="GearsOS"> <node CREATED="1588420938059" ID="ID_458781973" MODIFIED="1588420940008" TEXT="Context"/> <node CREATED="1588420940358" ID="ID_1211486281" MODIFIED="1588420945634" TEXT="MetaCodeGear"/> </node> <node CREATED="1588420935768" ID="ID_1784377971" MODIFIED="1588420962531" TEXT="Data Gear"> <node CREATED="1588420935972" ID="ID_1752561490" MODIFIED="1588420975142" TEXT="CodeGearの入出力"/> <node CREATED="1588420975675" ID="ID_627314667" MODIFIED="1588420987865" TEXT="継続を用いてプログラミングする場合は必要"/> <node CREATED="1588420988358" ID="ID_70353973" MODIFIED="1588421007396" TEXT="グローバルな変数の管理をどうする?"/> </node> </node> <node CREATED="1587966144154" ID="ID_1416207432" MODIFIED="1587966148400" POSITION="left" TEXT="目次"> <node CREATED="1587966149328" ID="ID_285261624" MODIFIED="1587966171170" TEXT="OSの信頼性"/> <node CREATED="1587966171873" ID="ID_49224039" MODIFIED="1587966179381" TEXT="XV6 OSの概要"/> <node CREATED="1587966179913" ID="ID_1735703718" MODIFIED="1587966190536" TEXT="XV6のファイルシステムの分析"/> <node CREATED="1587966191026" ID="ID_710119512" MODIFIED="1587966196503" TEXT="CbCの導入"/> <node CREATED="1587966196869" ID="ID_754369000" MODIFIED="1587966199587" TEXT="まとめ"/> </node> <node CREATED="1588420872286" ID="ID_1472185749" MODIFIED="1588420872286" POSITION="left" TEXT=""/> </node> </map>