diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seminar2013/0509.html	Tue Jun 04 17:15:27 2013 +0900
@@ -0,0 +1,166 @@
+<!--
+Google IO 2012 HTML5 Slide Template
+
+Authors: Eric Bidelman <ebidel@gmail.com>
+         Luke Mahé <lukem@google.com>
+
+URL: https://code.google.com/p/io-2012-slides
+-->
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Presentation</title>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="chrome=1">
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
+  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
+  <!--This one seems to work all the time, but really small on ipad-->
+  <!--<meta name="viewport" content="initial-scale=0.4">-->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <link rel="stylesheet" media="all" href="css/default.css">
+  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="../io2012slides/theme/css/phone.css">
+  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
+  <script data-main="../io2012slides/js/slides" src="../io2012slides/js/require-1.0.8.min.js"></script>
+</head>
+<body style="opacity: 0">
+
+<slides class="layout-widescreen">
+
+<!--
+  <slide class="logoslide nobackground">
+    <article class="flexbox vcenter">
+      <span><img src="../io2012slides/images/google_developers_logo.png"></span>
+    </article>
+  </slide>
+-->
+
+  <slide class="title-slide segue nobackground">
+    <aside class="gdbar"><img src="../images/concurrent.png"></aside>
+    <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
+    <hgroup class="auto-fadein">
+      <h1 data-config-title><!-- populated from slide_config.json --></h1>
+      <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
+      <p data-config-presenter><!-- populated from slide_config.json --></p>
+    </hgroup>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>研究目的</h2>
+    </hgroup>
+    <article>
+      <ul>
+        <li>ブートが高速で、コンパクトなカーネルを実装する。</li>
+        <li>Codesegment と Datasegment をカーネルに実装するにあたって、メモリ管理の役割とどう合致するのかを検証する。</li>
+        <li>上記を確認したら CbC を用いて、動作が軽く落ちにくいカーネルを実装する。</li>
+      </ul>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>今週の作業</h2>
+    </hgroup>
+    <article>
+      <ul>
+        <li>Linux 3.8.9 を読む</li>
+        <li>メモリ初期化のデバッグ</li>
+      </ul>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>ELILO</h2>
+    </hgroup>
+    <article>
+        <h3>ELILO の中でのカーネル、という方針</h3>
+        <p>「ELILOアプリケーションの中」だったら ExitBootServices を実行しないで書くべき</p>
+        <ol>
+            <li>GDT/LDT を設定</li>
+            <li>別セグメントに飛ぶ</li>
+            <li>メモリの初期化</li>
+            <li>Call Gate と TSS</li>
+            <li>CPL (current privilege level) を調べる</li>
+            <li>64 bit mode(32bit と互換性なし)/compatibility mode</li>
+            <li>UEFI のマニュアルには<br>
+            Paging mode is enabled and any memory space defined by the UEFI memory map is identity mapped (virtual address equals physical address).</li>
+        </ol>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>エラーメッセージ</h2>
+    </hgroup>
+    <article>
+    <h3>cr0 の PE bit を無効にした時</h3>
+    <img src='images/err_message01.png'>
+    <h3>cr3 に値を入れた時</h3>
+    <img src='images/err_message02.png'>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>Fedora Linux</h2>
+    </hgroup>
+    <article>
+    <ul>
+        <li>Linux kernel 3.8.9</li>
+        <li>gdb で追いながら追っている途中</li>
+    </ul>
+    </article>
+  </slide>
+
+  <slide>
+    <hgroup>
+      <h2>PostgreSQL</h2>
+    </hgroup>
+    <article>
+    <h3>手順</h3>
+      <ol>
+        <li>./initdb -D $PGDATA<br>
+        データベースの初期化<li>
+        <li>./pg_ctl -D $PGDATA -l [logfile_name] start<br>
+        PostgreSQL の起動<li>
+        <li>./psql user<br>
+        対話プロンプトが開く<li>
+        <li>
+        ps -ef | grep postgres<br>
+        PostgreSQL のプロセスを探し出す<li>
+        <li>gdb $DIR/bin/postgres [process number]<br>
+        で読む<li>
+      </ol>
+    </article>
+  </slide>
+
+
+  <slide class="logoslide dark nobackground">
+    <article class="flexbox vcenter">
+      <span><img src="../io2012slides/images/google_developers_logo_white.png"></span>
+    </article>
+  </slide>
+
+  <slide class="backdrop"></slide>
+
+</slides>
+
+<script>
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
+_gaq.push(['_trackPageview']);
+
+(function() {
+  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+<!--[if IE]>
+  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
+  <script>CFInstall.check({mode: 'overlay'});</script>
+<![endif]-->
+</body>
+</html>