annotate slide/slide.html @ 21:e093b422c4e6 default tip

end
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sun, 29 May 2022 00:50:05 +0900
parents 8e39e3bf98d7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 <!DOCTYPE html>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 <html>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 <head>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 <meta http-equiv="content-type" content="text/html;charset=utf-8">
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
10 <title>GearsOSにおける<br />inodeを用いたファイルシステムの構築</title>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 3.0.3 (2021-11-24) [arm64-darwin21]">
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
13 <meta name="author" content="Matayoshi Yuto, Shinji Kono" >
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 <!-- style sheet links -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 <link rel="stylesheet" href="s6/themes/screen.css" media="screen">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 <link rel="stylesheet" href="s6/themes/print.css" media="print">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 <!-- JS -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 <script src="s6/js/jquery-1.11.3.min.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 <script src="s6/js/jquery.slideshow.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <script src="s6/js/jquery.slideshow.counter.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 <script src="s6/js/jquery.slideshow.controls.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 <script src="s6/js/jquery.slideshow.footer.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 <script src="s6/js/jquery.slideshow.autoplay.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 <!-- prettify -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 <link rel="stylesheet" href="scripts/prettify.css">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 <script src="scripts/prettify.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 <script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 $(document).ready( function() {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 Slideshow.init();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 $('code').each(function(_, el) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 if (!el.classList.contains('noprettyprint')) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 el.classList.add('prettyprint');
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 });
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 prettyPrint();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 } );
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 </script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 <!--[if IE]>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 <script src="s6/js/jquery.microsoft.js"></script>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 <![endif]-->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 </head>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 <body>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 <div class="layout">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 <div id="header"></div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 <div id="footer">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 <div align="right">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 <img src="s6/images/logo.svg" width="200px">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 <div class="presentation">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 <div class='slide cover'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 <table width="90%" height="90%" border="0" align="center">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 <tr>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 <td>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 <div align="center">
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
73 <h1><font color="#808db5">GearsOSにおける<br />inodeを用いたファイルシステムの構築</font></h1>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 </td>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 </tr>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 <tr>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 <td>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 <div align="left">
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
80 Matayoshi Yuto, Shinji Kono
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
81 琉球大学
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 </td>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 </tr>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 </table>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 <div class='slide'>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
92 <!-- ここでは大きな目的を述べる -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
93
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
94
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 <!-- _S9SLIDE_ -->
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
96 <h2 id="研究目的">研究目的</h2>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
97
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
98 <ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
99 <li>アプリケーションの信頼性を保証するために,アプリケーションが動作するOSの信頼性を高める必要がある</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
100 <li>信頼性確保の方法として定理証明やモデル検査がある</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
101 <li>当研究室では,信頼性の保証を目的としたGearsOSを開発している</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
102 <li>GearsOSで未実装の機能であるファイルシステムの実装を目指す</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
103 </ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
104
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
105 <!-- ここでは今回やったことの概要を述べる -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
106
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
107
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
108
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
109 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
110
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
111 <div class='slide'>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
112 <!-- _S9SLIDE_ -->
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 <h2 id="inodeを用いたgearsdirectoryの実装">inodeを用いたgearsDirectoryの実装</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 <ul>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
116 <li><span style="color: red; ">今回はUnixのinode仕組みを参考にディレクトリシステムを実装した</span></li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
117 <li>GearsOSのディレクトリシステムであるgearsDirectoryについて
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 <ul>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
119 <li>基礎概念
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
120 <ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
121 <li>CbC</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
122 <li>GearsOS</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
123 </ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
124 </li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
125 <li>実装</li>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 </li>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
128 </ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
129
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
130 <!-- ここから基礎概念 -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
131
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
132
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
133
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
134 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
135
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
136 <div class='slide'>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
137 <!-- _S9SLIDE_ -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
138 <h2 id="信頼性の保証を目的としたos">信頼性の保証を目的としたOS</h2>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
139
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
140 <ul>
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
141 <li>GearsAgda(Agda)
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
142 <ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
143 <li>形式手法による信頼性の向上</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
144 </ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
145 </li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
146 <li>GearsOS(CbC) &lt;- 今回ディレクトリシステムの実装を行なった
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
147 <ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
148 <li>ユーザーレベルタスクマネージメント</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
149 </ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
150 </li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
151 <li>x.v6(CbC)
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
152 <ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
153 <li>スタンドアロンOS</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
154 </ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
155 </li>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 <h2 id="continuation-based-c">Continuation based C</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 <li>Cの下位言語である</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 <li>プログラムはCodeGearと呼ばれる処理の単位で記述する</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 <li>データはDataGearと呼ばれる単位を用いる</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 <li>ノーマルレベルとメタレベルの処理を切り分けることが容易に可能である</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 <li>function callの継続の代わりにgotoによる継続を用いる
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 <li>呼び出し履歴を持たないことから軽量継続と呼ぶ</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 </li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 <p> </p>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 <div style="text-align: center;">
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
181 <img src="figs/cgdg.svg" width="1000" />
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 <!-- _S9SLIDE_ -->
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
190 <h2 id="gearsoscbc">GearsOS(CbC)</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 <li>当研究室にて,信頼性と拡張性の両立を目的として開発している</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 <li>CbCで記述されている</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 <li>Gearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 <li>ノーマルレベルとメタレベルの処理を切り分けることが容易にできる</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 <!-- _S9SLIDE_ -->
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
205 <h2 id="gearsoscbc-1">GearsOS(CbC)</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 <h3 id="codegearとmetacodegearの関係">CodeGearとmetaCodeGearの関係</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 <li>ノーマルレベルとメタレベルの存在
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 <li>CodeGearがDataGearを受け取り,処理後にDataGearを次のCodeGearに渡すという動作をしているように見える</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 <li>実際にはデータの整合性の確認や資源管理などのメタレベルの処理が存在し,それらの計算はMetaCodeGearで行われる</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 </li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 <img src="../paper/figs/meta_cg_dg.svg" width="1200" />
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 <!-- _S9SLIDE_ -->
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
228 <h2 id="gearsoscbc-2">GearsOS(CbC)</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 <h3 id="context">Context</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 <li>GearsOS上全てのCodeGear,DataGearの参照を持つ</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 <li>OS上の処理の実行単位</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 <li>Gearの概念ではMetaDataGearに当たる</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 <li>ノーマルレベルから直接参照されず,必ずMetaDataGearとしてMetaCodeGearから参照される</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 <!--
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 ### Contextの種類
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 - OS全体のContextを管理するKernel Context
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 - ユーザープログラムごとに存在するUser Context
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 - CPUやGPUごとに存在するCPU Context
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 <!-- _S9SLIDE_ -->
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
254 <h2 id="gearsoscbc-3">GearsOS(CbC)</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 <h3 id="codegear遷移の流れ">CodeGear遷移の流れ</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 <img src="figs/context.svg" width="1200" />
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 <!-- _S9SLIDE_ -->
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
268 <h2 id="unixのinode">Unixのinode</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 <ul>
20
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
271 <li>UnixのファイルシステムはメタデータにBTreeで構成されたinodeを用いる</li>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 <h3 id="inode">inode</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 <li>ファイルの属性情報が書かれたデータである</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 <li>識別番号としてinode numberを持つ</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 <li>inodeはファイルシステム始動時にinode領域をディスク上に確保する</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
282 <!-- ここまで基礎概念 -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
283
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
284 <!-- 実装したものの説明 -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
285
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 <h2 id="gearsfilesystemにおけるdirectoryの構成">GearsFileSystemにおけるdirectoryの構成</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 <li>2つのRedBlackTreeを用いる
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 <ol>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 <li>filenameとinode numberのペアを持つindex tree</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 <li>inode numberとinodeのポインタのペアを持つinode tree</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 </ol>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 </li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 <li>カレントディレクトリはgearsDirectory-&gt;currentDirectoryに保存される</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 <img src="figs/inode.svg" width="1000" />
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 <h2 id="unix-like-な-interface">Unix Like な interface</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 <h3 id="mkdir">mkdir</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 <pre><code class="language-c">__code mkdir(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 struct FTree* newDirectory = createFileSystemTree(context, gearsDirectory-&gt;currentDirectory);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 Node* inode = new Node();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 inode-&gt;key = gearsDirectory-&gt;INodeNumber;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 inode-&gt;value = newDirectory;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 struct FTree* cDirectory = new FTree();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 cDirectory = gearsDirectory-&gt;iNodeTree;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 goto cDirectory-&gt;put(inode, mkdir2);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 __code mkdir2(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 Node* dir = new Node();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 dir-&gt;key = name-&gt;value;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 Integer* iNum = new Integer();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 iNum-&gt;value = gearsDirectory-&gt;INodeNumber;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 dir-&gt;value = iNum;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 gearsDirectory-&gt;INodeNumber = gearsDirectory-&gt;INodeNumber + 1;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 struct FTree* cDirectory = new FTree();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 cDirectory = gearsDirectory-&gt;currentDirectory;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 goto cDirectory-&gt;put(dir, next(...));
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 </code></pre>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 <h2 id="unix-like-な-interface-1">Unix Like な interface</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 <h3 id="mkdir-1">mkdir</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 <div style="text-align: center;">
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
352 <img src="figs/mkdir.svg" width="1100" />
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 <!--
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 ## Unix Like な interface
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 ### ls
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 ```c
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 __code ls(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 Node* dir = new Node();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 dir->key = name->value;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 struct FTree* cDirectory = new FTree();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 cDirectory = gearsDirectory->currentDirectory;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 goto cDirectory->get(dir, ls2);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 __code ls2(struct GearsDirectoryImpl* gearsDirectory, struct Node* node, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 printf("%d\n", node->key);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 goto next(...);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 ```
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 ## Unix Like な interface
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 ### ls
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 <img src="figs/ls.svg" width="1000">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 ## Unix Like な interface
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 ### cd
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 ```c
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 __code cd2Child(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 struct FTree* cDirectory = new FTree();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 cDirectory = gearsDirectory->currentDirectory;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 struct Node* node = new Node();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 node->key = name->value;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 goto cDirectory->get(node, cd2Child2);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 __code cd2Child2(struct GearsDirectoryImpl* gearsDirectory, struct Node* node, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 struct FTree* iNodeTree = new FTree();
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 iNodeTree = gearsDirectory->iNodeTree;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 goto iNodeTree->get(node->value, cd2Child3);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 __code cd2Child3(struct GearsDirectoryImpl* gearsDirectory, struct Node* node, __code next(...)) {
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 gearsDirectory->currentDirectory = node->value;
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 goto next(...);
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 }
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 ```
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 ## Unix Like な interface
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 ### cd
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 <img src="figs/cd.svg" width="1200">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
418 <!-- 課題 -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
419
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 <h2 id="gearsdirectoryにおける非破壊編集ツリー">GearsDirectoryにおける非破壊編集ツリー</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 <li>GearsOSにおける永続データは非破壊的な編集を行う木構造を用いて保存する</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 <li>ディレクトリシステム自体にバックアップの機能を搭載することが可能と考える</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 <div style="text-align: center;">
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 <img src="../paper/figs/nondestructive_tree_modification.png" width="1200" />
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 <!-- _S9SLIDE_ -->
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
443 <h2 id="gearsosにおけるメモリマネージメントシステム">GearsOSにおけるメモリマネージメントシステム</h2>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
444
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
445 <ul>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
446 <li>メモリとディスク上のデータ構造が等しくなる形で実装したい
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
447 <ul>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
448 <li>単純なコピーでメモリとディスク間のデータやり取りを行うことができる</li>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
449 <li>メモリとディスクのデータアクセスの形式を統一することができる</li>
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
450 </ul>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
451 </li>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
452 </ul>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
453
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
454 <div style="text-align: center;">
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
455 <img src="figs/disk-memory.svg" width="900" />
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
456 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
457
16
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
458
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
459
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
460 </div>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
461
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
462 <div class='slide'>
e5dbeddc9958 add memory section
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
463 <!-- _S9SLIDE_ -->
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
464 <h2 id="gearsosにおけるメモリマネージメントシステム-1">GearsOSにおけるメモリマネージメントシステム</h2>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 <ul>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
467 <li>メモリとディスク上のデータ構造が等しくなる形で実装したい
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
468 <ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
469 <li>単純なコピーでメモリとディスク間のデータやり取りを行うことができる</li>
20
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
470 <li>メモリとディスクのアドレスの差はoffsetを変換することによって吸収する</li>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
471 <li>メモリとディスクのデータアクセスの形式を統一することができる</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
472 </ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
473 </li>
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474 </ul>
20
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
475
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
476 <div style="text-align: center;">
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
477 <img src="figs/data-access.svg" width="900" />
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
478 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
479
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
480
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
481
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
482 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
483
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
484 <div class='slide'>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
485 <!-- _S9SLIDE_ -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
486 <h2 id="gearsosにおけるメモリマネージメントシステム-2">GearsOSにおけるメモリマネージメントシステム</h2>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
487
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
488 <ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
489 <li>ガベージコレクションはCopying GCを用いる</li>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
490 </ul>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
491
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
492 <div style="text-align: center;">
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
493 <img src="figs/copying-gc.svg" width="900" />
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
494 </div>
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
495
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
496
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
497
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
499
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
500 <div class='slide'>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 <!-- _S9SLIDE_ -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 <h2 id="gearsfilesystemの今後">GearsFileSystemの今後</h2>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 <h3 id="gearsdirectory-path">gearsDirectory path</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507 <li>gearsDirectoryにはpathの機能が実装されていない</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 <li>full path指定のlsなどが実装できない状態である</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 <li>FileSystemTreeを拡張し,ノードをたどりpathを生成する様な機能を実装する必要がある</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 <h3 id="gearsdirectory-filename">gearsDirectory filename</h3>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514 <ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515 <li>現状はgearsDirectoryのfilenameはIntegerの構造で管理されている</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 <li>filenameは一般的に文字列型であるためIntegerから文字列型に変更する必要がある</li>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
517 </ul>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 <!--
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 ## GearsFileSystemの今後
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522 ### gearsDirectory on disk
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 - 現状はgearsDirectoryはon memoryで実装されている
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 - inodeをdisk上に構築する必要がある
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527 ### GearsShell
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529 - 現状のGearsOSはユーザーの入力を受け付けることが出来ず,言語フレームワークの様に機能している
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530 - gearsFileSystemなどGearsOSの各機能と接続し,今回作成したcdやlsの様なコマンドを受け付けるGearsShellを作成したい
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
531
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532 ### ファイルのバックアップ
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 - レコードのDataをファイルの差分履歴として保持し,日時情報を付け加えることでVersion Control Systemのような機能を持たせることが可能であると考えられる
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
537
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
538
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
539 </div>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
540
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
541 <div class='slide'>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
542 <!-- _S9SLIDE_ -->
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
543 <h2 id="gearsdirectoryまとめ">gearsDirectoryまとめ</h2>
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
544
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
545 <ul>
20
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
546 <li>gearsDirectoryの実装について説明した
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
547 <ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
548 <li>RedBlackTreeを用いてinodeの仕組みを構築し,ls,cd,mkdirを作成するなどして,Unix Likeに構築することが出来た</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
549 <li>RedBlackTreeのシンプルなinterfaceにより比較的容易に実装を行うことができた</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
550 <li>形式手法とファイルシステムの機能の両面で信頼性の向上が図れると考える</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
551 </ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
552 </li>
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
553 <li>メモリマネージメントシステムについて考察した</li>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
554 </ul>
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
555
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
556 <!--
18
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
557
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
558 メモ書き
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
559
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
560 - [x] GearsAgdaの話入れて,どこに対する実装なのかはっきりさせる
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
561 - [x]「CbCでinodeファイルシステムを実装した」ことをはっきりさせる
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
562 - [ ] 実装部分と未実装部分をはっきりさせる
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
563 - [x] x.v6の話いらない? -> 研究会で知らない人多分いないからいらない
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
564 - [ ] 仮想記憶との関係 これは図にできそう
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
565 - [x] まず大きな目的を述べる.その後,今回やったことを述べる
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
566
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
567
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
568 この流れがいいだろう
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
569
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
570 大きな研究目的 -> 今回の研究 -> 今回の研究に関する基礎概念
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
571 -> 実装したもの -> 実装したものの至らない点 -> 今後実装するものの紹介と考察
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
572
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
573 -->
2c21391912e4 add memory management figs
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
574
15
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 </div>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
576
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 </div><!-- presentation -->
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579 </body>
687e04e14a2c add slide
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 </html>