6
|
1 <map version="1.0.1">
|
|
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
|
3 <node CREATED="1513759933655" ID="ID_1168102505" MODIFIED="1513760030124" TEXT="Code Gear と Data Gear を持つ Gears OS の設計">
|
|
4 <font NAME="SansSerif" SIZE="13"/>
|
|
5 <node CREATED="1513760000390" ID="ID_1625648361" MODIFIED="1513760085629" POSITION="right" TEXT="研究目的">
|
|
6 <node CREATED="1513760034116" ID="ID_499932315" MODIFIED="1513760055809" TEXT="OSの拡張性">
|
|
7 <node CREATED="1513760350704" ID="ID_1274406363" MODIFIED="1513760363619" TEXT="通常計算とメタ計算の分離"/>
|
|
8 </node>
|
|
9 <node CREATED="1513760058670" ID="ID_1355477640" MODIFIED="1513760071840" TEXT="OSの信頼性"/>
|
|
10 </node>
|
|
11 <node CREATED="1513760087022" ID="ID_857848362" MODIFIED="1513760093612" POSITION="right" TEXT="軽量継続"/>
|
|
12 <node CREATED="1513760094654" ID="ID_949226374" MODIFIED="1513760101989" POSITION="right" TEXT="メタ計算">
|
|
13 <node CREATED="1513760705804" ID="ID_1984843423" MODIFIED="1513760711659" TEXT="メモリ管理"/>
|
|
14 </node>
|
|
15 <node CREATED="1513760103900" ID="ID_468911821" MODIFIED="1513760113547" POSITION="right" TEXT="Context">
|
|
16 <node CREATED="1513760191140" ID="ID_728593308" MODIFIED="1513760198195" TEXT="Data Gear"/>
|
|
17 <node CREATED="1513760204385" ID="ID_1993481553" MODIFIED="1513760212491" TEXT="Code Gear number"/>
|
|
18 <node CREATED="1513760221528" ID="ID_757603655" MODIFIED="1513760233424" TEXT="Code Gear refarence table"/>
|
|
19 <node CREATED="1513760238531" ID="ID_834744506" MODIFIED="1513760244114" TEXT="Data Gear number"/>
|
|
20 <node CREATED="1513760260632" ID="ID_1467226180" MODIFIED="1513760263514" TEXT="Task"/>
|
|
21 </node>
|
|
22 <node CREATED="1513760114290" ID="ID_463257841" MODIFIED="1513760118403" POSITION="right" TEXT="Interface"/>
|
|
23 <node CREATED="1513760119556" ID="ID_352808512" MODIFIED="1513760130604" POSITION="right" TEXT="生成スクリプト"/>
|
|
24 <node CREATED="1513760132579" ID="ID_452090203" MODIFIED="1513760160532" POSITION="right" TEXT="Stub"/>
|
|
25 <node CREATED="1513760160773" ID="ID_1574335740" MODIFIED="1513760178912" POSITION="right" TEXT="goto meta"/>
|
|
26 <node CREATED="1513760277419" ID="ID_1532139870" MODIFIED="1513760291499" POSITION="right" TEXT="比較"/>
|
|
27 <node CREATED="1513760291805" ID="ID_648740425" MODIFIED="1513760297425" POSITION="right" TEXT="結論"/>
|
|
28 <node CREATED="1513760433849" ID="ID_1885184321" MODIFIED="1513762848016" POSITION="left" TEXT="OSの拡張性とメタ計算の関係">
|
|
29 <node CREATED="1513760881706" ID="ID_1909915129" MODIFIED="1513760890818" TEXT="テクノロジートランスファー">
|
|
30 <node CREATED="1513760967299" ID="ID_832179108" MODIFIED="1513760983274" TEXT="アーキテクチャの変更"/>
|
|
31 </node>
|
|
32 <node CREATED="1513761005939" ID="ID_1324770157" MODIFIED="1513761017754" TEXT="コールスタックとメタ計算の衝突">
|
|
33 <node CREATED="1513761034811" ID="ID_1819778725" MODIFIED="1513761052210" TEXT="軽量継続を使えばメタ計算と衝突しない">
|
|
34 <node CREATED="1513762871331" ID="ID_1845422349" MODIFIED="1513762887774" TEXT="メタ計算との衝突の例"/>
|
|
35 </node>
|
|
36 </node>
|
|
37 </node>
|
|
38 <node CREATED="1513760468164" ID="ID_1964491227" MODIFIED="1513762849528" POSITION="left" TEXT="信頼性とメタ計算の関係">
|
|
39 <node CREATED="1513760902250" ID="ID_1975872565" MODIFIED="1513760915018" TEXT="通常計算の検証"/>
|
|
40 <node CREATED="1513760925723" ID="ID_394329807" MODIFIED="1513760936714" TEXT="メタ計算を使ったモデル検査">
|
|
41 <node CREATED="1513760939699" ID="ID_265631848" MODIFIED="1513760945290" TEXT="抽象"/>
|
|
42 </node>
|
|
43 <node CREATED="1513760957591" ID="ID_1884859940" MODIFIED="1513760963282" TEXT="デバッグ"/>
|
|
44 </node>
|
|
45 <node CREATED="1513760485780" ID="ID_1601229706" MODIFIED="1513762851147" POSITION="left" TEXT="Gearsでのメタ計算">
|
|
46 <node CREATED="1513761059179" ID="ID_1783544646" MODIFIED="1513761615522" TEXT="stub">
|
|
47 <node CREATED="1513761064415" ID="ID_598888032" MODIFIED="1513761099128" TEXT="一般的なData Gear">
|
|
48 <node CREATED="1513761100328" ID="ID_708282593" MODIFIED="1513761125578" TEXT="union data から C の構造体へ変換"/>
|
|
49 <node CREATED="1513761144330" ID="ID_1914736492" MODIFIED="1513761169602" TEXT="関数呼出し時のコールフレームに相当する"/>
|
|
50 </node>
|
|
51 <node CREATED="1513761176818" ID="ID_828563080" MODIFIED="1513761194570" TEXT="引数の型を決めてCode Gearを送り出す"/>
|
|
52 </node>
|
|
53 <node CREATED="1513761616656" ID="ID_1147781164" MODIFIED="1513761620591" TEXT="goto meta">
|
|
54 <node CREATED="1513761622813" ID="ID_106634878" MODIFIED="1513761649697" TEXT="次のCode Gearに行く途中で挿入されるメタ計算">
|
|
55 <node CREATED="1513761681466" ID="ID_1232236363" MODIFIED="1513761692984" TEXT="タスク切り替え"/>
|
|
56 <node CREATED="1513761693690" ID="ID_1712332518" MODIFIED="1513761700625" TEXT="モデル検査"/>
|
|
57 <node CREATED="1513761701401" ID="ID_1464555281" MODIFIED="1513761705041" TEXT="デバッグ"/>
|
|
58 <node CREATED="1513761706178" ID="ID_126955738" MODIFIED="1513761718843" TEXT="GPUの処理"/>
|
|
59 </node>
|
|
60 <node CREATED="1513761654926" ID="ID_535636992" MODIFIED="1513761671697" TEXT="実際には次のstubを呼び出す"/>
|
|
61 </node>
|
|
62 </node>
|
|
63 <node CREATED="1513760503884" ID="ID_1687180152" MODIFIED="1513762853601" POSITION="left" TEXT="Contextの必要性">
|
|
64 <node CREATED="1513761218851" ID="ID_933471793" MODIFIED="1513761225560" TEXT="Task">
|
|
65 <node CREATED="1513761230329" ID="ID_206220729" MODIFIED="1513761245634" TEXT="通常のOSのスレッドに対応する"/>
|
|
66 <node CREATED="1513761252022" ID="ID_1925811247" MODIFIED="1513761272641" TEXT="実行するCode Gear と Data Gear をすべて持っている"/>
|
|
67 <node CREATED="1513761283705" ID="ID_1110011992" MODIFIED="1513761305969" TEXT="Context自体は通常計算からアクセスしない">
|
|
68 <node CREATED="1513761306330" ID="ID_847787492" MODIFIED="1513761313785" TEXT="例えばポインタは出てこない"/>
|
|
69 <node CREATED="1513761318679" ID="ID_1073600385" MODIFIED="1513761328625" TEXT="メタレベルではポインタは出てくる"/>
|
|
70 </node>
|
|
71 </node>
|
|
72 <node CREATED="1513761344906" ID="ID_42801685" MODIFIED="1513761361136" TEXT="Code Gear">
|
|
73 <node CREATED="1513761362241" ID="ID_1664184284" MODIFIED="1513762441701" TEXT="入力引数の型">
|
|
74 <icon BUILTIN="full-2"/>
|
|
75 </node>
|
|
76 <node CREATED="1513761381991" ID="ID_1321956089" MODIFIED="1513761392657" TEXT="引数への処理"/>
|
|
77 <node CREATED="1513761397553" ID="ID_147785556" MODIFIED="1513761423673" TEXT="次のCode Gearに決まった引数で移行する"/>
|
|
78 <node CREATED="1513761429079" ID="ID_1630285576" MODIFIED="1513761441041" TEXT="Code Gear のメタ情報">
|
|
79 <node CREATED="1513761448097" ID="ID_416876863" MODIFIED="1513761456529" TEXT="Code Gear のアドレス"/>
|
|
80 <node CREATED="1513761457298" ID="ID_951936619" MODIFIED="1513761464857" TEXT="Code Gearの実行コード"/>
|
|
81 <node CREATED="1513761480714" ID="ID_1686012684" MODIFIED="1513762427877" TEXT="入力の型">
|
|
82 <icon BUILTIN="full-2"/>
|
|
83 </node>
|
|
84 <node CREATED="1513761495502" ID="ID_1855825436" MODIFIED="1513762431813" TEXT="出力の型">
|
|
85 <icon BUILTIN="full-2"/>
|
|
86 </node>
|
|
87 <node CREATED="1513761559610" ID="ID_1631298528" MODIFIED="1513762372845" TEXT="Code Gearの番号">
|
|
88 <icon BUILTIN="full-1"/>
|
|
89 </node>
|
|
90 <node CREATED="1513761594418" ID="ID_1035048411" MODIFIED="1513761600271" TEXT="Stub"/>
|
|
91 <node CREATED="1513761601030" ID="ID_439800382" MODIFIED="1513761604399" TEXT="goto meta"/>
|
|
92 </node>
|
|
93 </node>
|
|
94 <node CREATED="1513761519658" ID="ID_1032169357" MODIFIED="1513761526778" TEXT="Data Gear">
|
|
95 <node CREATED="1513761526779" ID="ID_1540589097" MODIFIED="1513761767481" TEXT="Data Gear のメタ情報">
|
|
96 <node CREATED="1513761540242" ID="ID_1640042783" MODIFIED="1513762436533" TEXT="格納する引数の型">
|
|
97 <icon BUILTIN="full-2"/>
|
|
98 </node>
|
|
99 <node CREATED="1513761552346" ID="ID_1449646410" MODIFIED="1513761558700" TEXT="番号"/>
|
|
100 <node CREATED="1513761578738" ID="ID_1026576907" MODIFIED="1513761591929" TEXT="Meta Data Gear へのポインタ"/>
|
|
101 </node>
|
|
102 </node>
|
|
103 <node CREATED="1513761828725" ID="ID_61367354" MODIFIED="1513761836385" TEXT="Meta Data Gear">
|
|
104 <node CREATED="1513761839728" ID="ID_1213178012" MODIFIED="1513761850033" TEXT="メモリのリニアアロケーション用のポインタ"/>
|
|
105 <node CREATED="1513761851125" ID="ID_1792364876" MODIFIED="1513761862327" TEXT="Task Queue"/>
|
|
106 <node CREATED="1513761874624" ID="ID_152362819" MODIFIED="1513761882688" TEXT="Code Gear table"/>
|
|
107 <node CREATED="1513761883521" ID="ID_678500932" MODIFIED="1513761892936" TEXT="Data Gear table"/>
|
|
108 </node>
|
|
109 </node>
|
|
110 <node CREATED="1513760513028" ID="ID_480632406" MODIFIED="1513760522259" POSITION="left" TEXT="Interfaceの必要性">
|
|
111 <node CREATED="1513761940353" ID="ID_248016039" MODIFIED="1513761995064" TEXT="CodeとDataの集合を表すData Gear"/>
|
|
112 <node CREATED="1513761997774" ID="ID_1365760236" MODIFIED="1513762013592" TEXT="モジュールとかオブジェクトに対応する"/>
|
|
113 <node CREATED="1513762028726" ID="ID_1773732250" MODIFIED="1513762044376" TEXT="決まった引数を持つメソッドのスロット">
|
|
114 <node CREATED="1513762049377" ID="ID_123153703" MODIFIED="1513762072304" TEXT="Code Gear の番号が入る">
|
|
115 <node CREATED="1513762206633" ID="ID_887586608" MODIFIED="1513762217919" TEXT="interface の実装"/>
|
|
116 </node>
|
|
117 </node>
|
|
118 <node CREATED="1513762086838" ID="ID_1683727777" MODIFIED="1513762095576" TEXT="引数を格納するData Gear">
|
|
119 <node CREATED="1513762149149" ID="ID_672075127" MODIFIED="1513762157416" TEXT="特に戻り先がある"/>
|
|
120 </node>
|
|
121 <node CREATED="1513762165943" ID="ID_1780428913" MODIFIED="1513762175488" TEXT="一段のサブルーチンコール"/>
|
|
122 <node CREATED="1513762184705" ID="ID_1142267610" MODIFIED="1513762197176" TEXT="これによってGearsをモジュール化する"/>
|
|
123 </node>
|
|
124 <node CREATED="1513762235885" ID="ID_1364001043" MODIFIED="1513762257184" POSITION="left" TEXT="stub と Context の生成">
|
|
125 <node CREATED="1513762311768" ID="ID_1756076963" MODIFIED="1513762361198" TEXT="code gear の番号">
|
|
126 <icon BUILTIN="full-1"/>
|
|
127 </node>
|
|
128 <node CREATED="1513762378721" ID="ID_1309128215" MODIFIED="1513762419478" TEXT="Data Gear の型">
|
|
129 <icon BUILTIN="full-2"/>
|
|
130 </node>
|
|
131 <node CREATED="1513762489861" ID="ID_756579895" MODIFIED="1513762505055" TEXT="Data Gear の番号"/>
|
|
132 <node CREATED="1513762507680" ID="ID_1732211810" MODIFIED="1513762516959" TEXT="Stubの生成"/>
|
|
133 </node>
|
|
134 <node CREATED="1513760532728" ID="ID_1228592616" MODIFIED="1513760568243" POSITION="left" TEXT="比較">
|
|
135 <node CREATED="1513760568243" ID="ID_1608348636" MODIFIED="1513760578857" TEXT="既存のOS">
|
|
136 <node CREATED="1513762542024" ID="ID_1566570822" MODIFIED="1513762563471" TEXT="ユーザーレベルとシステムレベルを持っている"/>
|
|
137 <node CREATED="1513762567376" ID="ID_739022857" MODIFIED="1513762583431" TEXT="システムレベルではメタ計算の分離はない"/>
|
|
138 <node CREATED="1513762584728" ID="ID_159373267" MODIFIED="1513762595967" TEXT="Gearsではメタ計算を階層化できる"/>
|
|
139 <node CREATED="1513762601944" ID="ID_1769391569" MODIFIED="1513762638905" TEXT="プロセスやファイルが型を持っていない"/>
|
|
140 <node CREATED="1513762620744" ID="ID_661511565" MODIFIED="1513762630063" TEXT="Gearsは型を持っている"/>
|
|
141 <node CREATED="1513762731812" ID="ID_1655164257" MODIFIED="1513762782265" TEXT="既存のOSでメタ計算を使おうとするとOSを書き換える必要がある"/>
|
|
142 </node>
|
|
143 <node CREATED="1513760580640" ID="ID_908909110" MODIFIED="1513760591843" TEXT="リアルタイムモニタ">
|
|
144 <node CREATED="1513762640016" ID="ID_1575024579" MODIFIED="1513762653991" TEXT="OSの一種の簡略バージョン"/>
|
|
145 <node CREATED="1513762658144" ID="ID_1543870637" MODIFIED="1513762664463" TEXT="Gearsに近い"/>
|
|
146 <node CREATED="1513762665184" ID="ID_23077089" MODIFIED="1513762681727" TEXT="APIを使って資源管理を行う"/>
|
|
147 <node CREATED="1513762682128" ID="ID_1943328902" MODIFIED="1513762717704" TEXT="Gears OSの場合はメタ計算を使って行う "/>
|
|
148 </node>
|
|
149 <node CREATED="1513760592628" ID="ID_214777962" MODIFIED="1513760600505" TEXT="GPGPU"/>
|
|
150 </node>
|
|
151 <node CREATED="1513760606198" ID="ID_396827059" MODIFIED="1513760780939" POSITION="left" TEXT="結論">
|
|
152 <node CREATED="1513760623051" ID="ID_755908511" MODIFIED="1513760643914" TEXT="GearsOSのメタ計算部分の実装例を示した"/>
|
|
153 <node CREATED="1513760815807" ID="ID_434575356" MODIFIED="1513760822266" TEXT="メタ計算の有効性"/>
|
|
154 <node CREATED="1513760823196" ID="ID_704467311" MODIFIED="1513760836410" TEXT="Interfaceの有用性"/>
|
|
155 </node>
|
|
156 </node>
|
|
157 </map>
|