comparison seminar2013/0509.html @ 2:7f4128b2369a

update seminar slides
author taiki <taiki@cr.ie.u-ryukyu.ac.jp>
date Tue, 04 Jun 2013 17:15:27 +0900
parents
children
comparison
equal deleted inserted replaced
1:d3f740120b55 2:7f4128b2369a
1 <!--
2 Google IO 2012 HTML5 Slide Template
3
4 Authors: Eric Bidelman <ebidel@gmail.com>
5 Luke Mahé <lukem@google.com>
6
7 URL: https://code.google.com/p/io-2012-slides
8 -->
9 <!DOCTYPE html>
10 <html>
11 <head>
12 <title>Presentation</title>
13 <meta charset="utf-8">
14 <meta http-equiv="X-UA-Compatible" content="chrome=1">
15 <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
16 <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
17 <!--This one seems to work all the time, but really small on ipad-->
18 <!--<meta name="viewport" content="initial-scale=0.4">-->
19 <meta name="apple-mobile-web-app-capable" content="yes">
20 <link rel="stylesheet" media="all" href="css/default.css">
21 <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="../io2012slides/theme/css/phone.css">
22 <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
23 <script data-main="../io2012slides/js/slides" src="../io2012slides/js/require-1.0.8.min.js"></script>
24 </head>
25 <body style="opacity: 0">
26
27 <slides class="layout-widescreen">
28
29 <!--
30 <slide class="logoslide nobackground">
31 <article class="flexbox vcenter">
32 <span><img src="../io2012slides/images/google_developers_logo.png"></span>
33 </article>
34 </slide>
35 -->
36
37 <slide class="title-slide segue nobackground">
38 <aside class="gdbar"><img src="../images/concurrent.png"></aside>
39 <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
40 <hgroup class="auto-fadein">
41 <h1 data-config-title><!-- populated from slide_config.json --></h1>
42 <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
43 <p data-config-presenter><!-- populated from slide_config.json --></p>
44 </hgroup>
45 </slide>
46
47 <slide>
48 <hgroup>
49 <h2>研究目的</h2>
50 </hgroup>
51 <article>
52 <ul>
53 <li>ブートが高速で、コンパクトなカーネルを実装する。</li>
54 <li>Codesegment と Datasegment をカーネルに実装するにあたって、メモリ管理の役割とどう合致するのかを検証する。</li>
55 <li>上記を確認したら CbC を用いて、動作が軽く落ちにくいカーネルを実装する。</li>
56 </ul>
57 </article>
58 </slide>
59
60 <slide>
61 <hgroup>
62 <h2>今週の作業</h2>
63 </hgroup>
64 <article>
65 <ul>
66 <li>Linux 3.8.9 を読む</li>
67 <li>メモリ初期化のデバッグ</li>
68 </ul>
69 </article>
70 </slide>
71
72 <slide>
73 <hgroup>
74 <h2>ELILO</h2>
75 </hgroup>
76 <article>
77 <h3>ELILO の中でのカーネル、という方針</h3>
78 <p>「ELILOアプリケーションの中」だったら ExitBootServices を実行しないで書くべき</p>
79 <ol>
80 <li>GDT/LDT を設定</li>
81 <li>別セグメントに飛ぶ</li>
82 <li>メモリの初期化</li>
83 <li>Call Gate と TSS</li>
84 <li>CPL (current privilege level) を調べる</li>
85 <li>64 bit mode(32bit と互換性なし)/compatibility mode</li>
86 <li>UEFI のマニュアルには<br>
87 Paging mode is enabled and any memory space defined by the UEFI memory map is identity mapped (virtual address equals physical address).</li>
88 </ol>
89 </article>
90 </slide>
91
92 <slide>
93 <hgroup>
94 <h2>エラーメッセージ</h2>
95 </hgroup>
96 <article>
97 <h3>cr0 の PE bit を無効にした時</h3>
98 <img src='images/err_message01.png'>
99 <h3>cr3 に値を入れた時</h3>
100 <img src='images/err_message02.png'>
101 </article>
102 </slide>
103
104 <slide>
105 <hgroup>
106 <h2>Fedora Linux</h2>
107 </hgroup>
108 <article>
109 <ul>
110 <li>Linux kernel 3.8.9</li>
111 <li>gdb で追いながら追っている途中</li>
112 </ul>
113 </article>
114 </slide>
115
116 <slide>
117 <hgroup>
118 <h2>PostgreSQL</h2>
119 </hgroup>
120 <article>
121 <h3>手順</h3>
122 <ol>
123 <li>./initdb -D $PGDATA<br>
124 データベースの初期化<li>
125 <li>./pg_ctl -D $PGDATA -l [logfile_name] start<br>
126 PostgreSQL の起動<li>
127 <li>./psql user<br>
128 対話プロンプトが開く<li>
129 <li>
130 ps -ef | grep postgres<br>
131 PostgreSQL のプロセスを探し出す<li>
132 <li>gdb $DIR/bin/postgres [process number]<br>
133 で読む<li>
134 </ol>
135 </article>
136 </slide>
137
138
139 <slide class="logoslide dark nobackground">
140 <article class="flexbox vcenter">
141 <span><img src="../io2012slides/images/google_developers_logo_white.png"></span>
142 </article>
143 </slide>
144
145 <slide class="backdrop"></slide>
146
147 </slides>
148
149 <script>
150 var _gaq = _gaq || [];
151 _gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
152 _gaq.push(['_trackPageview']);
153
154 (function() {
155 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
156 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
157 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
158 })();
159 </script>
160
161 <!--[if IE]>
162 <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
163 <script>CFInstall.check({mode: 'overlay'});</script>
164 <![endif]-->
165 </body>
166 </html>