changeset 51:6445ac6c3215

...
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Wed, 16 Feb 2022 17:55:34 +0900
parents 255000b82c41
children 9f1d0d94ac78
files bin/output.pdf paper/figs/cd.png paper/figs/inode.png paper/figs/inode.svg paper/figs/ls.png paper/figs/mkdir.png paper/text/Eabstract.tex paper/text/chapter2.tex paper/thesis.pdf
diffstat 9 files changed, 42 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
Binary file bin/output.pdf has changed
Binary file paper/figs/cd.png has changed
Binary file paper/figs/inode.png has changed
--- a/paper/figs/inode.svg	Thu Feb 03 02:32:50 2022 +0900
+++ b/paper/figs/inode.svg	Wed Feb 16 17:55:34 2022 +0900
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Do not edit this file with editors other than diagrams.net -->
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="531px" height="361px" viewBox="-0.5 -0.5 531 361" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2022-01-25T03:24:08.469Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36&quot; etag=&quot;mVexJA0tRwB2poCUgkaD&quot; version=&quot;16.4.5&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;AAaulOYO_kfhROZJ8ttr&quot; name=&quot;Page-1&quot;&gt;7Vptb+I4EP41fCyKEwjwsdDui0S11XWlu350iSHeOjFyzAL762+c2HkHsnsBcqhSpcaTsWM/84xnxqbnzILdZ4HX/hP3COvZlrfrOQ8920YWGsM/JdknEtdCiWAlqKeVMsEL/UVMTy3dUI9EBUXJOZN0XRQueBiShSzIsBB8W1Rbclb86hqvSEXwssCsKv2betJPpGN7lMm/ELryzZeRO0neBNgo65VEPvb4NidyHnvOTHAuk6dgNyNMgWdwSfp9OvA2nZggoWzSYfnj9et3vthK+XT/+dm5+zb/Nr9DbjLMT8w2esV6tnJvIBB8E3pEjWL1nOnWp5K8rPFCvd2C0UHmy4BBC8HjkjI244wLaIc8BKWp/gIRkuwOzh2liACVCA+IFHtQSXmkQUxZlDS3mUmQkfl5c4y1EGsarNKhM6TgQYP1O8Cdxg1GAZaS05jhaJ1Qd0l3CudWEHOLiI2riA1qABucCy+763jZRbxQDcUuC5hTBciDrUk3uZA+X/EQs8dMOi26aqYz53ytwftBpNzrfRZvJC9CS3ZU/pN7flVD9Ye69bDTI8eNvWmEsF7V6c7qW8g2kqSr646MIOsdtwrdn4mggBsRWpisXS34uD0BH74RC3IESI2jxGJF5DHArXqCCMKwpD+LE2nd3E7H/cO2OuYfDQIXCb17lQJkoSgHUtFVUg5rshsCo1Pk1f6S+chr3kVq/aVFbtsNuX3AtjnbDWtsZ2SNPUB/4ZlTWEhKHWdSpI7jljiRLFP3ymcwpYEGg9JAqDRQgkNloJhf6bL/nHKjdilXSx3UbKst0dQ6QdMWKWeS8FOUcz4o1wLlxhXK0RBqLGUAQUiFfrC/yyLnIin4Oyll5DVJOmZ0FUJzAYRQUXiqogWFOuhevwio57FDwafI7BbCjTMu4j6oRpu6fN85V7SZ1NjBg9Xduh3Khde17WDcr7N5UnnDuHbdhbpeqA66lliirpeqg3HXEGtSvNx8Lo6aZkboQKF5mdTIHbWUGo3s66ZGaNAu6/6n6bjVlHX2B+vaYN2wwrp3AgPegwzkLlN535uAp5V60mrqrbkGuMUssVRupYu9Wpo4qW4FHT88tQobSN8aO1c+NzU3d6d3FreeHJc5OEXVEllN17bybnmzjnfyWuyibmf25o7fJpYPF65/m2hwOkziG44edil61NUzl6VxNbPM2+FIjI8P527YVM5oeDLQTy5qquqZ/AEbRFsaMJzgzENpUgEFzMKnzJvjPd+o6UYSL95Na+pzQX+BPs4sh4XUKYBjFTReVE89piAR6DwbZFFJ9IR3BcU5jqSZDWcMryP6Fs9PdQwgAtNwyqXkgVbKU8UjS7yJOXmGvbHuAAvVnS6kF+jt27ga4T9Rps7Av+/XB89ef9fDGFnKY/4VgWvRcDWP1R4GmeQvjYEScei+ZHG96UNHAiNM16oUiTEZTuEPUJqppHAIc51BG2Vt+FPqQs54CNPHNDYZAWpsiaIH+LPEEr+lxG1k7yN+U2WBqaoaGv18fl09cIdUN6BRRHn4YfIzmLwuCbqoyZ1q8tjv9z9sfQZbT65u6+opSsXQlzu7s8du14pvk4Ke/tXSAUtf5549zQf/6z07GpYG+uNjPWhmv7FN1LNfKjuP/wI=&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><clipPath id="mx-clip-374-270-132-30-0"><rect x="374" y="270" width="132" height="30"/></clipPath><clipPath id="mx-clip-374-300-132-30-0"><rect x="374" y="300" width="132" height="30"/></clipPath><clipPath id="mx-clip-374-330-132-30-0"><rect x="374" y="330" width="132" height="30"/></clipPath></defs><g><rect x="90" y="20" width="160" height="180" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="170" cy="60" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="130" cy="140" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 230 140 L 300 140 L 361.71 140.05" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 366.96 140.06 L 359.96 143.55 L 361.71 140.05 L 359.97 136.55 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="210" cy="140" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 130 120 L 170 80" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 170 80 L 210 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="370" y="0" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 15px; margin-left: 371px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">inode tree</div></div></div></foreignObject><text x="400" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">inode tree</text></switch></g><rect x="90" y="0" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 15px; margin-left: 91px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">index tree</div></div></div></foreignObject><text x="120" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">index tree</text></switch></g><ellipse cx="450" cy="60" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="410" cy="140" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="490" cy="140" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 410 120 L 450 80" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 450 80 L 490 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="180" y="160" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 175px; margin-left: 181px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">key: 2<br />value: 0</div></div></div></foreignObject><text x="210" y="179" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">key: 2...</text></switch></g><path d="M 60 35 L 83.63 35" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 88.88 35 L 81.88 38.5 L 83.63 35 L 81.88 31.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="20" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 35px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">get key: 2</div></div></div></foreignObject><text x="30" y="39" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">get key: 2</text></switch></g><rect x="370" y="20" width="160" height="180" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="280" y="120" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 135px; margin-left: 281px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">get key: 0</div></div></div></foreignObject><text x="310" y="139" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">get key: 0</text></switch></g><rect x="365" y="160" width="90" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 175px; margin-left: 366px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">key: 0<br />value: inode0</div></div></div></foreignObject><text x="410" y="179" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">key: 0...</text></switch></g><path d="M 370 270 L 370 240 L 510 240 L 510 270" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 370 270 L 370 360 L 510 360 L 510 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 370 270 L 510 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" text-anchor="middle" font-size="12px"><text x="439.5" y="259.5">inode0</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-374-270-132-30-0)" font-size="12px"><text x="375.5" y="289.5">File Type</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-374-300-132-30-0)" font-size="12px"><text x="375.5" y="319.5">Permission</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-374-330-132-30-0)" font-size="12px"><text x="375.5" y="349.5">...</text></g><path d="M 410 190 L 410.04 249.96" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="591px" height="399px" viewBox="-0.5 -0.5 591 399" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2022-02-16T08:38:28.871Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36&quot; etag=&quot;aqtyvFu9hEKMqCn9bgS3&quot; version=&quot;16.5.4&quot; type=&quot;device&quot; pages=&quot;4&quot;&gt;&lt;diagram id=&quot;AAaulOYO_kfhROZJ8ttr&quot; name=&quot;Page-1&quot;&gt;7VvbcuI4EP0aHkNZNgbzCOQymSWV1DI7u3lUsABNbIuVRYB8/bZsCV8TexMMYZIqqkBtSZZOH7VOS0nLGvmbK46XixvmEq9lGu6mZZ23TBMZyIEvadnGlq6BYsOcU1dVSgwT+kyUUVtX1CVhpqJgzBN0mTVOWRCQqcjYMOdsna02Y172rUs8JwXDZIq9ovVv6opFbHXMXmL/Ruh8od+Muv34iY91ZSM2hAvssnXKZF20rBFnTMS//M2IeBI8jUvc7vKFp7uBcRKIOg1mv+6vf7DpWoibwdWddXY7vh2foW7czRP2VmrGarRiqyHgbBW4RPZitKzhekEFmSzxVD5dg9PBthC+ByUEP2fU80bMYxzKAQug0jAUnD3u0IsqsUAoVyPAYViciprdE+GCbFImNbUrwnwi+Baq6Kd9BfOOZ3FxnTgN9ZRtkXaYbocVUea7rhMs4YeC8/9AW40s9AI8JtWo4nAZk3tGN9ITh8HUtLOYOkVMOyWQdppC1Dx9RFEWUVRC04NCap0+pP0PBmmNiEoCdyD3piRGpmDMhlsAhm//kYW2rYv3qmZUON+ka55vdWlDRaoZlO5TT5JGsqDbvMNfIVvxKaleuwLzORHVUZO4mW256P2Ud+0S72obJx4W9Cm7mZe5XL3hjlGY2Y5cHSdLLqubY008b9UqvfnmOrKtXEco11EMTKGjiIG7ab+dlL39krKUXOhVcr1EZKOCyE2SUgvKKlJaX6RsgpROgZRmW7YJIIuQbuGEFFgKu4LIUjMmSE5zlshQ7NF5AMUp0ISAfSj3GApKf6Ae+NR1vZf2uewCyFOwSNI97Gydbs49JZIWldDMampn6xf8hWJ/uTChL3/lU5AyfxmH9JcmxwmrO9vMYnrsFASdflaX3z6OLpjR6ed1dvejYVonsft8WQiqq/h06Pwgkq9n70nyOcZxJR/q7JeXv0siYtTlpfnFy0Z4aRd4+UigwwHYQJuSAPugbbue1LIPPMPX7r8reYQfseEsjOggWyFzuYk4oZ/Dr7n8Vq8YRMp55Rfo/37F7JGZOAG9bOa03e5wNC2Yy3bN5gRzvxiMYKFNVJFxsWBzFmDvIrHmkEvqjBlbKrB+ESG2Ck+8EizrXh3EUCqEJQGtKohlQljbcKyqLVmW7ginAJlMq5qPbU7d2NatGdtqB633kaF4PCHHv58gEAeXJLJ81hjQyYaAslu7plLmS3MrrO/T69F1Z9Jnfwz+QjOkT/qOEwAOoWLqejW3CN946F9X1sTX6cda6XqYJ38Jnj8xLFtO3ZLl1NwluEaywSD66XWU1csdPnRK3H7Qg2KzmOXlfLV/JR3fGSxlggCy5tOSodOrIarLYkBzZCjePSpv5XwUrqnv4dgPEir1REI3XVDPHeMtW8nRhgJPH3VpuGCcPkN9nHgWcw20ZWRqTGRL1ScnkmJ3GmyUM93gTabiGIdCj4Z5Hl6G9CEan2zowwZHgyETgvna2ykquWSGV544FgcswylyoCyxQmZjJCiK6UsQv2D5sV2+qH/3vUZDWJ40mI+jauedxPKnwkCaGDSfedHx0wIaEuhhGIWVCBN7CB9AaSR1lw1jHUEZJWX4yOpcjFgAw8c08iIB8qyJJBDEBIEFfthR+y2MeH2dVfPklQuqg+bbZvFGETJTn4YhZcEXKY5CijLNeFBSWEU13m63v9hwFDb0D8gG8tNeXzoX50+i53yzRz+fN8HtcRPyt53ItZHjZFLydtcyK9Ly0lO5d4iFytRc4Vqdmde9CHtvqg7F5G/h42P95D8KrIv/AA==&lt;/diagram&gt;&lt;diagram id=&quot;s08jDtw-m_Aoh3yq8LbV&quot; name=&quot;Page-2&quot;&gt;7Vptc6o4FP41zOx+aAeIIn60au/dnW6n0+7stp92UCLSAqExVL2/fhNIeAlRuVWs9tYvkkNen/Occ3JCNDAMV9+wE8//Qi4MNFN3VxoYaaZp6IZN/5hknUks3cgEHvZdXqkQPPg/oGjJpYnvwkWlIkEoIH5cFU5RFMEpqcgcjNGyWm2GguqosePBmuBh6gR16b++S+aZ1DZ7hfw79L25GNmw+tmb0BGV+UoWc8dFy5IIjDUwxAiR7ClcDWHAwBO4/GMbP/SrR/1ltNKj0ey/m1Evusg6u/6ZJvkSMIzIgbvm2n1zgoQDpplWQEe5miE6GNNLgHD6xnpN2FKvNBPMZjr9lUX6gqw55ELIOrhYpIQY0ApGL16lVYtGlsf+44SIMSd4r55ENxSEbPaZ+AWus4aRE8ILKnXCmIrTd9nCTf23mR9A9v73A82FI8rqeNDBi5GPKb0RXksT+OOWmtxtEk4g5jTLhzQJXLEqcxIGVGDQxwXB6AUOuU4iFEE2JT8IJJET+F5EiwGcpZOBmPjUJgZcHPquywa5Ws59Ah9iZ8pGXFIPQGUYJZELGWt0vl5u1UYvn4EwJZCuuBE7OYvZVOCqZJucrd8gCiHBa1pFvO1mLbjjATa3w2Vhxmafy+YlEwZc5nDP4eU9F9ZBH7iBqI1l/N17vFv+HZqTh2WCkteLyf04X0HZViSNFdgZG9AtKZNBO8zNC1xfp0al1OcRUderqFt11IGuQL3XFur6r4A6qKJuKFA37ZZQV65AxMfNgaGZa9zoo1sJL9tiixQUym5+a/QQYtd/23/Vi9iJNiDxzp7z4NY8ymxdJhWrJknFKQCHnHopREZwmU994wRPMDoe0UNUo6Ghioa9lqKh2kP8jF/WG/jlD/W/ZtUB51CW4M2dchneXHhwfMFufGkvNI3axNQSts4iznKrmb9i+jgmsraEbL+ObEcBbKctXDufBNeOtFFTMPaouFqfA9eOeWK4qjZiMq6RO2BHJYXnLGFZdcIULbx+ZIXLrig+8ZppYbQq1xytRWnlk1IzWnoqvSkasYJos6/SFijBU7jblImDPbitP+5KoVs5KqpToKTirkLFQoZh4BD/rXrApNI7H+EO+ek2iTPMklKsrryJz9bNW5VPdOSOLKkjU+ooA6bWUUrDfNnvZ6bq7GgPZioZZmxl2CY26zvY3DozQUNmWl/MbIOZ/Roz/YgmQEwjGMIaS/fPJKaUNjS1OtOTNmD0LqvpRace9OxunXetJReCiBUNunQ1XxpsqMGPV2GD49Jz2BDKCcxH5y9Gg8T7LHCVEhjjozfaxifJuOUM5uOBbZJy/6IpjLDmnTtF4U5PdKsIDrVVBEfeKoqvjF9ZzGbO7SbnaWfY50DO5+A1uR6Ft9Po+W3SBeun+/hKHHCUqUgRfuBFhMkceShygnEhlfhY1LlBKOZUfIaErPlG1UkIqhJaUNgoe8mczjspDHpVEl9aZneXZ2alO4h9ihfbgx+J3XZDdncakrsxa/eLpvXktsaS8/3wctTvLkqbM2ponqjNtW4g4g7A4Yiv9rKgK33b7Hfb8rLLQWd471vwz8l6Np6OvBvj7Vp5r6fJJQWL/upftasnTQ0vGYhGUfaJfgw029T6Jvu4z54NbWDzh36v3mnWmlccxwynUifZuurdcImljS3NHrJnLqlHnVP41C4frrTlkbqSRxJkLH9oV3mkQxykKOlZz56qR2GbKLaNvLou37DJ2opbkO9jYI2/76He+Vz+kBlZu1mWOojjMdVU3QlRbbPfQVVaLG46Z463uC8Oxv8D&lt;/diagram&gt;&lt;diagram id=&quot;_SMWdJT_P9braKPgiXsX&quot; name=&quot;Page-3&quot;&gt;7Vtbd6M2EP41Pqd9cA5INsaP8SVpT7N7ts2mm/QlhxjZVoIRFTjG/fWVjAQIcMA2kMvGL7YGMUKfvpnRDHIHjlfhJbW85RdiI6cDNDvswEkHAL0HDPbFJdtIMtBBJFhQbItOieAa/4eEUBPSNbaRr3QMCHEC7KnCGXFdNAsUmUUp2ajd5sRRR/WsBcoJrmeWk5f+wHawjKQmGCTy3xBeLOXIujGMrqws2VnMxF9aNtmkRHDagWNKSBD9WoVj5HDwJC7hzZ+TzXRLnnz30nlc3Y9v4KgbKbs45JZ4ChS5Qb2q5dyeLWctAOsAw2GjjOaEDcbXxSF0d8X4d82nOuoAOJ9r7JMWaX6wFZBLIVfQ9XeEOGcd9IEX7romNxkL/r1AgRyTPX00bHRFih/oSQM8oe2uh2GtPNZ0H3wvpdz3LPfE57eoP8GUsZfQbTceZ3fx96/Mor6uVw+IpiYZjSknCZThQYBCLl8GK4cJdP6IASVPaCxWwiUu4o+HHScjshy8cFnTQXOu4RnRADNLOBfiFbZtPshos8QBuvasGR9xw+yeyShZuzbiXNHE3IUt64P4CaQBwfixSzkpuMsfBYUpixQcvURkhQK6ZV3k1aGgpPA30BTtTWK9YNCPZMuU5ULRzxIOYxGrToyC/RB2cYj5mWU2Uo07OeI0amlHmplqMZprrVCG0REMQPuFERDx67/uVVtK7PoI2x5BocrPQQE9pVetm550rHn/PBq0d3v7Y3VzP3r+W8NdWMDODPAJVPoeMFNrwpdwHFMRXlzsCFjob1r0CmZf9QpFsJsFsPebgh38DLADletGAeiwIdCLJzA8BHWtAuqviW4fqKQu4LRuFMCrm03hexCp3zq8sT94M/BWcNVMC8uM9sW8dOj0vShdmuOQL0ebEbCnAjvMA9srwLXXFKy9DwKrpsKqFxC2VVyND4Kr+cZwHVTA1bXPefEj8ZspLFUXzNCi21veOOvL5p3ouWtMwnTPyVa2QhykbmOtu9SV5CbekPecumg+WdMZKjflwKI8XSn1pMhWij95CqSWuP/CRoUixwrws1oyKlp3McI3gncpmwzkA5Vh8e5UqojmLe5K12gyiozMhguCjKIImJyiHQ3jaR/PzKJM9wRmFjJMf5Fh+9islbC5cWbCisw0PpnZBDPzG3/sEpvXIQKKUI6lp9fQZow2iL7XKlo2tejlQ57Zag0tX2fGDKjwc/325C5G6foNC7xGc+un59bvXe4F+5k6UoupS2EVScujyALHtWgSGizJgriWM02kGY4mfa4I8QTCjygItoK51jogKv4nxmWgx1tLfl9XOyvdavLWN0QxA43bZGxcRQWvxiO5fIFZGspluC2N5acGaROe9VjElx+gUBQMh2daRmfDwVYi9O6tvada+6tnfvoHqQAZ4K0BW6UG9JPm1JX9nV7V37WTu5j6nnc+h+YuZmYz1XbuIufxmVbv51w5Od9WyefjkLOoylvTyZijjxGo52NqOQRU26QEULzP58mfOjcVeqZOH78PSb9ubjfrHeT9dHvpmfx9p/j6Mv+uePczzYTH5GbNu32zotsHFb1+ZXdelRD699HVHxje3KPF1V+aBTa4v5XF3XfEB5ada5rxPkghI1/5XmD4Wqx4sU5Q+wHBOH4eGmiSk3xJtFJPv7poE+s7/vxe++GpxeKBltmYFYWjporohcXCKjXYJI2YOZbv49lLmUT1ElwqfzCAeUgGUehKDluzjJmrDmL/mcjXSg2goavEyVY9qqYGcJhRlD1XV19qYE697+HscTa5fnj+YoHhud+dVjkNdjjfXt5bnpjbGiBbmtbgUbFuD/HqC3VVI53xqkzOnsU3jmRyL3NiDOp1MZk1k3/gRN2T/zHB6f8=&lt;/diagram&gt;&lt;diagram id=&quot;HHLeNmLiLjBSiti2kdQe&quot; name=&quot;Page-4&quot;&gt;7Vtbd6o4FP41rjXz0C4SLuJjr6dz6/RMZ9ZpzxuVqJwiwRAr9tdPIuESQI2KWHvsS8mG7JC9v30ldvSrcfyFOOHoL+wivwM1N+7o1x0IgQEt9o9T5gmlC2BCGBLPFQ/lhEfvHQmiJqhTz0WR9CDF2KdeKBP7OAhQn0o0hxA8kx8bYF9eNXSGqEJ47Dt+lfrNc+koodqwm9PvkDccpSsDq5fcGTvpw2In0chx8axA0m86+hXBmCZX4/gK+Vx4qVwevd+1t/fb2eMFRC4mN0/Rf+gsYXa7yZRsCwQFdGvWD1/f9Zd/gnhyd9G7/ePH091kgs+AnfB+c/ypEFgHWj5b5XKA2WJs13QuRGlNpji9cRYtFH3BHgDdMM5vsquh+F/k0sc+JhKXDtQHA439FUnbrjZENF2QCSBZU36PF5JSXtE8YRU4Y3TGqM445Cz4vUQMUPtl4PmI3/91KVsovS2kKOb0ER37jADYpeN7w4Bd+2iwYI0I9RgsLwR57Lkun3w5G3kUPYZOn3OaMSNkNIKngYu44jQ2iijBrxl69Wz5tYAQwOFLo7hgDgIgXxAeI0rm7BFxVxdQT21dDGe54WTWMCoYTTrNEbY6zBjneGQXApIbwDNdbDk8mwXWAi9bYWuHBVJACiAGL1FYYB6FTrDj+zskuvYIc66YzEuA/+2eOfz76fgFkcImkzWVkZ7g80poIsABhzWzIL9Eas4i+N5FqAHdVi0E9GQT0a0aG+mabdqIUWMjJZ3l0gNL5FtQJxfuVWZW+u3twphqNXpAPdglPZg1erBrfJW5Nz3oh9NDe3KHstjr0K+3KfW6ALFU6JqC0A8pXBOa6+IvsGqkmxlD4+IFn0m8mTw/jHjhevEyLqxUWhYWi/lmFCb108CLuTraTBtLeWOvKlijRq7GvsSq4ImPQaywlGuAGsC2KlejKkaXFdtiiAkd4SEOHP8mp5YSt/yZPzEOhYh/IErnIo1wphTLCkCxR5/49HNTjJ4Ld65jwXkxmKeDgG03mWSBXkp4Lt7NJy5G0swHRDwmMUQEcWmmuisWIjwlfbRC4iIeUIfwMmSFnxZdGq6PldAiyHeo9yY3RxoHivk5DFDvfjADtBTkGrgXvG2WB9iCLGVjLFiJWbQRsM5Gai1SW2mRe7cUXdFSoKKhFFRsrkhole1JrPCAvUXfIs34rFIZ0y1BJ9m3mFXs7pUYWaDECJYYJYKpMFrAMNv29sjsNovM3Xy+uYnH3zsyoSIyzRMy94HMaofbC7DLu7yUIFRB6e7trT6DDU8djrPBVa5BjWrIs9tsb/Vq1OeyrZzUp1Tj1qmvzQ5+avzHngqatmwWLZa4vddwMrrEf1s3T/f2LJzE3+/+TfteR1WKAUMKzGfauWZ1t6nHVM2rFEobjOnpR/D16eZB67D0NY/e+gzZ+g5eiIFP0mKy4EcTrMLXrJ+1xFV2OmnQ/SClhA1kkG1dSthWiVHLpQRQ6Wv9pFVuirn14NRP4NwLOOuagw2dIdn6zJR8kqSR4zKNbUoIij9zOiPTZFJRPptRVyxltHaq0G7VT7dXLqXXz5KvX+ffJe9+rtn6NpXS/t2+rer2Fb1+S4VR7+gAwctlzToOVEDVZEA1UW0HFSnjQgjNIt+mIWLHKJcHJ/lYaIBm2Uucws7KzrUOasJOu0czVdoveb3Q950o8vqrSoZlZwLzUsKChnoxwQbrfUPxMIUhO6BtnE/TAaj+5INKa844ZN1hrPssplp36D0gMyqftdxz3QGrRfFKX9mfEq76ghfTFrO0Pbu2pr7rFMxP09IjuQdzekbpe49ek2vrrX7xgZsdUtnc6WVSz50eMK2i0ztvwu01nRKpJsCHcT/ZeFP3Y1p2PQDbcj/VkyfegMs59iJ6ciOq3wG0Uu5U83OKuqPRW3gRNsx/M5mgIP/lqX7zPw==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs><clipPath id="mx-clip-434-308-132-30-0"><rect x="434" y="308" width="132" height="30"/></clipPath><clipPath id="mx-clip-434-338-132-30-0"><rect x="434" y="338" width="132" height="30"/></clipPath><clipPath id="mx-clip-434-368-132-30-0"><rect x="434" y="368" width="132" height="30"/></clipPath></defs><g><rect x="150" y="30" width="170" height="190" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="230" cy="70" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="190" cy="150" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="270" cy="150" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 190 130 L 230 90" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 230 90 L 270 130" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="420" y="0" width="110" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 15px; margin-left: 421px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">2. inode tree</div></div></div></foreignObject><text x="475" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">2. inode tree</text></switch></g><rect x="150" y="0" width="100" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 15px; margin-left: 151px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">1. index tree</div></div></div></foreignObject><text x="200" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">1. index tree</text></switch></g><ellipse cx="500" cy="70" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="460" cy="150" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><ellipse cx="540" cy="150" rx="20" ry="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 460 130 L 500 90" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 500 90 L 540 130" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="180" y="180" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 138px; height: 1px; padding-top: 195px; margin-left: 182px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">key: filename<br style="font-size: 12px" />value: inum</div></div></div></foreignObject><text x="182" y="199" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">key: filename...</text></switch></g><path d="M 100 45 L 125 45 L 143.64 45.57" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 148.88 45.74 L 141.78 49.02 L 143.64 45.57 L 141.99 42.02 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="30" width="100" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 45px; margin-left: 2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">get<br style="font-size: 12px" />key:filename</div></div></div></foreignObject><text x="2" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">get...</text></switch></g><path d="M 500 220 L 500 271.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 500 276.88 L 496.5 269.88 L 500 271.63 L 503.5 269.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="420" y="30" width="160" height="190" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="330" y="110" width="110" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 125px; margin-left: 332px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">get<br style="font-size: 12px" />key: inum</div></div></div></foreignObject><text x="332" y="129" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">get...</text></switch></g><rect x="430" y="180" width="160" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 195px; margin-left: 432px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">key: inum<br style="font-size: 12px" />value: inode pointer</div></div></div></foreignObject><text x="432" y="199" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">key: inum...</text></switch></g><path d="M 430 308 L 430 278 L 570 278 L 570 308" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 430 308 L 430 398 L 570 398 L 570 308" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 430 308 L 570 308" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" text-anchor="middle" font-size="12px"><text x="499.5" y="297.5">inode</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-434-308-132-30-0)" font-size="12px"><text x="435.5" y="327.5">File Type</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-434-338-132-30-0)" font-size="12px"><text x="435.5" y="357.5">Permission</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" pointer-events="none" clip-path="url(#mx-clip-434-368-132-30-0)" font-size="12px"><text x="435.5" y="387.5">...</text></g><path d="M 290 150 L 370.04 150 L 443.71 150.07" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 448.96 150.08 L 441.96 153.57 L 443.71 150.07 L 441.97 146.57 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
Binary file paper/figs/ls.png has changed
Binary file paper/figs/mkdir.png has changed
--- a/paper/text/Eabstract.tex	Thu Feb 03 02:32:50 2022 +0900
+++ b/paper/text/Eabstract.tex	Wed Feb 16 17:55:34 2022 +0900
@@ -1,7 +1,7 @@
-Ensuring the reliability of applications is an To guarantee the reliability of applications, it is necessary to improve the reliability of the underlying operating system. In order to guarantee the reliability of applications, it is necessary to improve the reliability of the underlying operating system. Theorem proving and model checking are the methods to guarantee the reliability.
+Ensuring the reliability of applications is an important issue for ensuring the reliability of information systems and operations that use computers. In order to guarantee the reliability of applications, it is necessary to improve the reliability of the underlying operating system. Theorem proving and model checking are the methods to guarantee the reliability.
 
-In our laboratory, we are developing GearsOS to guarantee the reliability by theorem proving and model checking. GearsOS is capable of separating normal-level and meta-level processing. GearsOS is written in Continuation Based C (CbC) and has a programming concept called Gear. By performing theorem proving and model checking on the meta-level processing extracted by CbC\cite{modelcheck}.
+GearsOS is written in Continuation Based C (CbC), which can separate normal-level and meta-level processing, and has a programming concept called Gears. GearsOS is written in Continuation Based C (CbC), which can separate normal-level and meta-level processing, and has a programming concept called Gears\cite{modelcheck}.
 
-There are currently unimplemented features in GearsOS, one of which is the file system. The Unix file system stores file metadata in the form of inodes. We would like to implement a file system for GearsOS using the same inode mechanism. In addition, we would like to implement a distributed file system using the distributed framework Christie, which is being developed in our laboratory.
+One of the currently unimplemented features of GearsOS is the file system, which stores file metadata in the form of inodes. In the Unix file system, file metadata is stored in the form of inodes, and we would like to implement a similar file system for GearsOS using the inode mechanism. We would also like to implement a distributed file system using the distributed framework Christie, which is being developed in our laboratory.
 
-In this paper, we first introduce the basic concept of the GearsOS file system construction. This paper first introduces the basic concept of the file system construction of GearsOS, and then describes the concrete construction method of the file system of GearsOS.
\ No newline at end of file
+In this paper, we first introduce the basic concept of the GearsOS file system construction, and then describe the concrete construction method of the GearsOS file system.
\ No newline at end of file
--- a/paper/text/chapter2.tex	Thu Feb 03 02:32:50 2022 +0900
+++ b/paper/text/chapter2.tex	Wed Feb 16 17:55:34 2022 +0900
@@ -94,6 +94,7 @@
 
 \chapter{Christie}
 Christieは当研究室で開発を行っているJavaで記述された分散フレームワークである.
+GearsOSの分散ファイルシステムを構築する際に用いる.
 CbCと似ているが別物のGearという概念や,任意のTopologyを形成するためのTopologyManagerがある.
 
 \section{Gearの概念}
@@ -119,6 +120,8 @@
 ReomoteDGMはCGMが配線されている別のCGMがもつDGのプールである.
 
 \chapter{UnixのFile system}
+UnixのFile systemはBTreeとinodeで構成されており,xv6もその仕組みを用いている.
+
 \section{xv6}
 xv6\cite{xv6}はMITで教育用の目的で開発されたOSで,Unixの基本的な構造を持つ.
 当研究室ではxv6のCbCでの書き換え,分析を行なっている\cite{xv6component,xv6kernel}.
@@ -161,7 +164,7 @@
 \end{table}
 
 \chapter{GearsFileSystemにおけるdirectoryの構成}
-当研究室ではxv6のCbCでの実装を行なっているが,今回はxv6のルーチンをCbCで書き換えるのではなく
+当研究室ではxv6のCbCでの実装を行なっているが,今回はxv6のFileルーチンをCbCで書き換えるのではなく
 GearsOSへUnixのFile systemの仕組みを取り入れるアプローチをとる.
 ファイルシステムを大まかにディレクトリシステムとファイルの二つに分けて考える.
 ディレクトリシステムはUnixのinodeの仕組みを取り入れる.
@@ -173,7 +176,7 @@
 ソースコード\ref{src:ftree}はFileSystemTreeのinterfaceである.
 gearsOSにおけるinterfaceはCodeGearと各CodeGearが用いるI/O DataGearの集合を記述する.
 FileSystemTreeのinterfaceはfTreeとnodeのDataGearとput,get,remove,nextのCodeGearを持つ.
-FileSystemTreeの実体はgearsOSの永続データを構築する際に使用されるRedBlackTreeであり,put,get,removeはRedBlackTreeの操作を行うためのCodeGearである.
+FileSystemTreeのfTreeはgearsOSの永続データを構築する際に使用されるRedBlackTreeであり,put,get,removeはRedBlackTreeの操作を行うためのCodeGearである.
 nextは遷移先のCodeGearを参照するために用いる.
 \lstinputlisting[caption=FTreeのinterface,label=src:ftree]{src/FTree.h}
 
@@ -186,10 +189,10 @@
 これはinodeをfilenameで検索するためのindex treeであるといえる(以下,index treeとする).
 
 図\ref{fig:inode}はindex treeを用いたinodeの検索の流れを表す.
-まずindex treeからkeyが2のnodeをgetする.
-keyが2のnodeのvalueよりinode numberが0であることがわかる.
+まずindex treeからkeyがfilenameのnodeをgetする.
+keyがfilenameのnodeのvalueよりinode numberががわかる.
 次に取得したinode numberをkeyとしてinode treeを検索する.
-keyが0のnodeはinode0を持っていて,inodeを参照することができる.
+keyがinode numberのnodeはvalueとしてinodeを持っていて,inodeを参照することができる.
 
 \begin{figure}[ht]
   \begin{center}
@@ -206,35 +209,59 @@
 \subsection{mkdir}
 Unixにおいてmkdirは新しくdirectoryを作成するコマンドである.
 GearsDirectoryのmkdirはindex treeとinode treeにnodeをputすることでdirectoryを作成する.
-ソースコード\ref{src:mkdir}はgearsDirectoryにおけるmkdirのCodeGearである.
+ソースコード\ref{src:mkdir}はgearsDirectoryにおけるmkdirのCodeGearであり,図\ref{fig:mkdir}はその処理を図で表したものである.
 まず1行目の\emph{\_\_code mkdir}ではinode treeへinodeのputが行われ,\emph{\_\_code mkdir2}へ遷移する.
-次に,11行目の\emph{\_\_code mkdir2}ではindex treeへkeyがfilenameのnodeのputが行われ,nextのCodeGearへ遷移する.
+inodeは4,5行目でkeyにinode number, valueにディレクトリのポインタがセットされる.
+次に,11行目の\emph{\_\_code mkdir2}ではindex treeへkeyがfilename,valueがinode numberのnodeのputが行われ,nextのCodeGearへ遷移する.
 FileSystemTreeのputを2回行うため,mkdirは\emph{\_\_code mkdir}と\emph{\_\_code mkdir2}の2つのCodeGearで構成されている.
 InputDataGearの\emph{name}はfilenameを表す.
 \lstinputlisting[caption=mkdirのCodeGear,label=src:mkdir]{src/mkdir.cbc}
+\begin{figure}[ht]
+  \begin{center}
+      \includegraphics[width=80mm]{figs/mkdir.png}
+  \end{center}
+  \caption{mkdirの操作の流れ}
+  \label{fig:mkdir}
+\end{figure}
 
 \subsection{ls}
 Unixにおいてlsはファイルやディレクトリの一覧,メタ情報を表示するコマンドである.
 GearsDirectoryのlsはindex treeに対し,getをすることでディレクトリのnameを取得する.
 Unixのlsコマンドにおける\emph{\$ls filename}に等しい機能である.
-ソースコード\ref{src:ls}はgearsDirectoryにおけるlsのCodeGearである.
-まず1行目の\emph{\_\_code ls}ではindex treeに対しgetを行うため,index treeのgetへgotoしている.
+ソースコード\ref{src:ls}はgearsDirectoryにおけるlsのCodeGearであり,図\ref{fig:ls}はその処理を図で表したものである.
+まず1行目の\emph{\_\_code ls}ではindex treeに対しgetを行うため,
+3行目でgetしたいfilenameをkeyにセットし,index treeのgetへgotoしている.
 その後,9行目の\emph{\_\_code ls2}ではnode\verb|->|keyに格納されたgetの結果をprintfで出力する.
 本来lsコマンドは引数を渡さずに実行するとcurrent directory下のディレクトリやファイルを一覧で表示するが,
 現時点では未実装である.
 一覧表示の機能はfilenameのリストをディレクトリに持たせることで実装可能であると思われる.
 \lstinputlisting[caption=lsのCodeGear,label=src:ls]{src/ls.cbc}
+\begin{figure}[ht]
+  \begin{center}
+      \includegraphics[width=120mm]{figs/ls.png}
+  \end{center}
+  \caption{lsの操作の流れ}
+  \label{fig:ls}
+\end{figure}
 
 \subsection{cd}
 Unixにおいてcdはディレクトリを移動するコマンドである.
 GearsDirectoryのcdはindex treeとinode treeに対しgetを行い,currentDirectoryを書き換えることで実装する.
 機能としてはディレクトリが持つ子ディレクトリへの移動ができる.
-ソースコード\ref{src:cd}はgearsDirectoryにおけるcdのCodeGearである.
+ソースコード\ref{src:cd}はgearsDirectoryにおけるcdのCodeGearであり,図\ref{fig:cd}はその処理を図で表したものである.
 まず1行目の\emph{\_\_code cd2Child}でindex treeに対しgetを行うため,index treeのgetへgotoしている.
 次に,9行目の\emph{\_\_code cd2Child2}でinode treeに対しgetを行うため,inode treeのgetへgotoしている.
+この際,getは1行目のcd2Childでgetしたnodeのvalueをもとに行う.valueにはinode numberがセットされている.
 その後,15行目の\emph{\_\_code cd2Child3}でcurrent directoryを保存しているgearsDirectory\verb|->|currentDirectoryを
 getしたnode\verb|->|valueに書き換える.
 \lstinputlisting[caption=cdのCodeGear,label=src:cd]{src/cd.cbc}
+\begin{figure}[ht]
+  \begin{center}
+      \includegraphics[width=120mm]{figs/cd.png}
+  \end{center}
+  \caption{cdの操作の流れ}
+  \label{fig:cd}
+\end{figure}
 
 \section{GearsDirectoryの非破壊的編集によるバックアップ}
 GearsOSにおける永続データは非破壊的な編集を行う木構造を用いて保存する.
Binary file paper/thesis.pdf has changed