Mercurial > hg > Papers > 2019 > tobaru-sigos
changeset 19:17ad42799e3c
add slide
author | tobaru |
---|---|
date | Wed, 29 May 2019 11:49:36 +0900 |
parents | 37de32597955 |
children | 4955324fa739 |
files | slide/images/Conversion_of_a_selector_offset_pair_to_a_linear_address.svg slide/images/fig3_8.svg slide/images/x86code.svg slide/sig-os2019.md |
diffstat | 4 files changed, 1232 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/images/Conversion_of_a_selector_offset_pair_to_a_linear_address.svg Wed May 29 11:49:36 2019 +0900 @@ -0,0 +1,237 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 1316.3333 776.33331" + height="776.33331" + width="1316.3333" + xml:space="preserve" + id="svg2" + version="1.1"><metadata + id="metadata8"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs6"><clipPath + id="clipPath20" + clipPathUnits="userSpaceOnUse"><path + id="path18" + d="M 0,0 H 987.25 V 582.25 H 0 Z" /></clipPath></defs><g + transform="matrix(1.3333333,0,0,-1.3333333,0,776.33333)" + id="g10"><g + id="g12" /><g + id="g14"><g + clip-path="url(#clipPath20)" + id="g16"><path + id="path22" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m -68.875,660.125 h 1188 v -733 h -1188 z" /><path + id="path24" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 3.125,529.4886 H 254.0341 V 453.125 H 3.125 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g26"><path + id="path28" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 72,130.6364 H 322.9091 V 207 H 72 Z" /></g><g + transform="matrix(1,0,0,-1,128.5795,491.3068)" + id="g30"><text + id="text34" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-55.545,11.08)"><tspan + id="tspan32" + y="0" + x="0 19.440001 35.549999 42.209999 58.32 74.43 83.879997 101.1">Selector</tspan></text> +</g><path + id="path36" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 345.125,390.125 H 596.0341 V 313.7614 H 345.125 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g38"><path + id="path40" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 414,270 h 250.9091 v 76.3636 H 414 Z" /></g><g + transform="matrix(1,0,0,-1,470.5795,351.9432)" + id="g42"><text + id="text46" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-91.68,11.08)"><tspan + id="tspan44" + y="0" + x="0 20.549999 36.66 51.66 67.769997 76.110001 92.220001 110.01 127.8 137.25 153.36 168.36">Base address</tspan></text> +</g><path + id="path48" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 345.125,313.7614 H 596.0341 V 237.3977 H 345.125 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g50"><path + id="path52" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 414,346.3636 h 250.9091 v 76.3637 H 414 Z" /></g><g + transform="matrix(1,0,0,-1,470.5795,275.5795)" + id="g54"><text + id="text58" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-32.52,11.08)"><tspan + id="tspan56" + y="0" + x="0 16.68 23.34 48.93 55.59">Limit</tspan></text> +</g><path + id="path60" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 345.125,237.3977 H 596.0341 V 161.0341 H 345.125 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g62"><path + id="path64" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 414,422.7273 h 250.9091 v 76.3636 H 414 Z" /></g><g + transform="matrix(1,0,0,-1,470.5795,199.2159)" + id="g66"><text + id="text70" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-77.235,11.08)"><tspan + id="tspan68" + y="0" + x="0 22.799999 32.25 48.93 65.040001 75.029999 83.370003 98.910004 115.02 121.68 139.47">Other felds</tspan></text> +</g><path + id="path72" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 670.2159,579.125 H 921.125 V 502.7614 H 670.2159 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g74"><path + id="path76" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 739.0909,81 H 990 v 76.3636 H 739.0909 Z" /></g><g + transform="matrix(1,0,0,-1,795.6705,540.9432)" + id="g78"><text + id="text82" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-40.335,11.08)"><tspan + id="tspan80" + y="0" + x="0">O</tspan></text> +</g><g + transform="matrix(1,0,0,-1,795.6705,540.9432)" + id="g84"><text + id="text88" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-17.535,11.08)"><tspan + id="tspan86" + y="0" + x="0">ff</tspan></text> +</g><g + transform="matrix(1,0,0,-1,795.6705,540.9432)" + id="g90"><text + id="text94" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-0.225,11.08)"><tspan + id="tspan92" + y="0" + x="0 15 31.110001">set</tspan></text> +</g><path + id="path96" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 613.2159,79.48864 H 984.125 V 3.125 H 613.2159 Z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g98"><path + id="path100" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 682.0909,580.6364 H 1053 V 657 H 682.0909 Z" /></g><g + transform="matrix(1,0,0,-1,798.6705,41.30682)" + id="g102"><text + id="text106" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-138.915,11.08)"><tspan + id="tspan104" + y="0" + x="0 16.68 33.360001 45.029999 65.580002 72.239998 81.690002 90.029999 96.690002 103.35 120.03 136.14 152.25 162.24001 170.58 186.69 204.48 222.27 231.72 247.83 262.82999">32-Bit linear address</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g108"><path + id="path110" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 187.0813,394.3983 V 207" /></g><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g112"><path + id="path114" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 329.9476,394.3983 H 187.0813" /></g><path + id="path116" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 273.8726,265.7267 -12.8,4.8 v -9.6 z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g118"><path + id="path120" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 342.7476,394.3983 -12.8,-4.8 v 9.6 z" /></g><g + transform="matrix(1,0,0,-1,293.9297,286.2267)" + id="g122"><text + id="text126" + style="font-variant:normal;font-weight:200;font-size:250px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue-UltraLight;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-35.03125,86.6259)"><tspan + id="tspan124" + y="0" + x="0">{</tspan></text> +</g><g + transform="matrix(1,0,0,-1,471.1875,427.125)" + id="g128"><text + id="text132" + style="font-variant:normal;font-weight:normal;font-size:30px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-69.72,11.08)"><tspan + id="tspan130" + y="0" + x="0 21.120001 37.23 52.23 68.339996 78.330002 84.989998 102.78 112.23 129.45">Descriptor</tspan></text> +</g><path + id="path134" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 748.2656,293.5 h 72.5 V 394 h -72.5 z" /><g + transform="matrix(1,0,0,-1,787.3906,343.625)" + id="g136"><text + id="text140" + style="font-variant:normal;font-weight:normal;font-size:100px;font-family:AppleSymbols;-inkscape-font-specification:AppleSymbols;writing-mode:lr-tb;fill:#323232;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-38.95312,16.8252)"><tspan + id="tspan138" + y="0" + x="0">⊕</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g142"><path + id="path144" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 808.8663,306 H 666" /></g><path + id="path146" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 752.7913,354.125 -12.8,4.8 v -9.6 z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g148"><path + id="path150" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 821.6663,306 -12.8,-4.8 v 9.6 z" /></g><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g152"><path + id="path154" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 853.2082,260.1028 851.5312,162" /></g><path + id="path156" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 784.552,387.2241 4.5805,12.8802 -9.5986,-0.1641 z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g158"><path + id="path160" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 853.427,272.9009 4.5805,-12.8802 -9.5986,0.1641 z" /></g><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g162"><path + id="path164" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 852.6062,566.1001 853.5312,333" /></g><path + id="path166" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 783.6805,81.22495 4.8507,12.78085 -9.5999,0.0381 z" /><g + transform="matrix(1,0,0,-1,-68.875,660.125)" + id="g168"><path + id="path170" + style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 852.5555,578.9 4.8507,-12.7808 -9.5999,-0.0381 z" /></g></g></g></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/images/fig3_8.svg Wed May 29 11:49:36 2019 +0900 @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 728.33331 303" + height="303" + width="728.33331" + xml:space="preserve" + id="svg2" + version="1.1"><metadata + id="metadata8"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs6"><clipPath + id="clipPath20" + clipPathUnits="userSpaceOnUse"><path + id="path18" + d="M 0,0 H 546.25 V 227.25 H 0 Z" /></clipPath></defs><g + transform="matrix(1.3333333,0,0,-1.3333333,0,303)" + id="g10"><g + id="g12" /><g + id="g14"><g + clip-path="url(#clipPath20)" + id="g16"><path + id="path22" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m -16.875,238.125 h 648 v -238 h -648 z" /><path + id="path24" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 64.125,184.125 h 72 v -99 h -72 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g26"><path + id="path28" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 81,54 h 72 v 99 H 81 Z" /></g><path + id="path30" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 82.125,130.125 h 36 v -36 h -36 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g32"><path + id="path34" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 99,108 h 36 v 36 H 99 Z" /></g><path + id="path36" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 271.125,184.125 h 72 v -99 h -72 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g38"><path + id="path40" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 288,54 h 72 v 99 h -72 z" /></g><g + transform="matrix(1,0,0,-1,307.125,134.625)" + id="g42"><text + id="text46" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-22.008,3.832001)"><tspan + id="tspan44" + y="0" + x="0 10.452 16.896 27.132 34.02 38.015999">Memory</tspan></text> +</g><path + id="path48" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 379.125,184.125 h 72 v -99 h -72 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g50"><path + id="path52" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 396,54 h 72 v 99 h -72 z" /></g><g + transform="matrix(1,0,0,-1,415.125,134.625)" + id="g54"><text + id="text58" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-11.67,-3.335999)"><tspan + id="tspan56" + y="0" + x="0 8.448 11.112 17.112">Disk</tspan></text> +</g><g + transform="matrix(1,0,0,-1,415.125,134.625)" + id="g60"><text + id="text64" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-26.22,11)"><tspan + id="tspan62" + y="0" + x="0 8.6639996 15.552 22.224001 26.004 29.784 36.672001 39.335999 42 48.444">Controller</tspan></text> +</g><path + id="path66" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 82.125,175.125 h 36 v -36 h -36 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g68"><path + id="path70" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 99,63 h 36 V 99 H 99 Z" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g72"><path + id="path74" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 117,99 v 9" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g76"><path + id="path78" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 117,144 v 38.5" /></g><path + id="path80" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 98.00368,54.74632 c 1.17157,1.17157 3.07102,1.17157 4.24262,0 1.1716,-1.17157 1.1716,-3.07107 0,-4.24264 -1.1716,-1.17157 -3.07105,-1.17157 -4.24262,0 -1.17157,1.17157 -1.17157,3.07107 0,4.24264" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g82"><path + id="path84" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 114.8787,183.3787 c 1.1716,-1.1716 3.071,-1.1716 4.2426,0 1.1716,1.1716 1.1716,3.071 0,4.2426 -1.1716,1.1716 -3.071,1.1716 -4.2426,0 -1.1716,-1.1716 -1.1716,-3.071 0,-4.2426" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g86"><path + id="path88" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 45,189 H 522" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g90"><path + id="path92" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 54,81 H 89.1" /></g><path + id="path94" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 80.225,157.125 -8,3 v -6 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g96"><path + id="path98" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 97.1,81 -8,-3 v 6 z" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g100"><path + id="path102" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 171,117 -26.2347,4.3725" /></g><path + id="path104" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 119.9991,115.4374 8.3844,-1.644 -0.9864,5.9183 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g106"><path + id="path108" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 136.8741,122.6876 8.3844,1.644 -0.9864,-5.9183 z" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g110"><path + id="path112" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 126.5239,101.2853 198,81" /></g><path + id="path114" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 101.9528,134.6555 8.5151,-0.7019 -1.6381,5.7721 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g116"><path + id="path118" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 118.8278,103.4695 8.5151,0.7019 -1.6381,-5.77207 z" /></g><g + transform="matrix(1,0,0,-1,100.125,206.625)" + id="g120"><text + id="text124" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-12.552,-3.335999)"><tspan + id="tspan122" + y="0" + x="0 8.6639996 16.440001">CPU</tspan></text> +</g><g + transform="matrix(1,0,0,-1,100.125,206.625)" + id="g126"><text + id="text130" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-23.004,11)"><tspan + id="tspan128" + y="0" + x="0 7.1160002 13.56 20.004 26.232 32.675999 39.563999">package</tspan></text> +</g><g + transform="matrix(1,0,0,-1,19.1875,156.625)" + id="g132"><text + id="text136" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-12.552,3.832001)"><tspan + id="tspan134" + y="0" + x="0 8.6639996 16.440001">CPU</tspan></text> +</g><g + transform="matrix(1,0,0,-1,194.625,117.625)" + id="g138"><text + id="text142" + style="font-variant:normal;font-weight:normal;font-size:11px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-20.174,-8.461998)"><tspan + id="tspan140" + y="0" + x="0 9.5810003 15.488 24.871 31.184999 34.848">Memory</tspan></text> +</g><g + transform="matrix(1,0,0,-1,194.625,117.625)" + id="g144"><text + id="text148" + style="font-variant:normal;font-weight:normal;font-size:11px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-32.3015,3.846001)"><tspan + id="tspan146" + y="0" + x="0 9.5810003 15.488 21.604 27.511 33.825001 39.731998 49.115002 55.021999 61.138">Management</tspan></text> +</g><g + transform="matrix(1,0,0,-1,194.625,117.625)" + id="g150"><text + id="text154" + style="font-variant:normal;font-weight:normal;font-size:11px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-9.0695,16.154)"><tspan + id="tspan152" + y="0" + x="0 6.1160002 12.232 14.674">unit</tspan></text> +</g><g + transform="matrix(1,0,0,-1,203.625,184.125)" + id="g156"><text + id="text160" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-42.006,-10.504)"><tspan + id="tspan158" + y="0" + x="0 6.888 13.56 20.004 23.34 32.004002 39.779999 48.444 51.779999 57.779999 64.223999 70.896004 78.012001">The CPU sends</tspan></text> +</g><g + transform="matrix(1,0,0,-1,203.625,184.125)" + id="g162"><text + id="text166" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-45.45,3.832001)"><tspan + id="tspan164" + y="0" + x="0 6 8.6639996 12.66 16.440001 23.112 29.556 32.220001 35.556 42 49.116001 56.231998 60.012001 66.456001 72.456001 78.456001 84.900002">virtual addresses</tspan></text> +</g><g + transform="matrix(1,0,0,-1,203.625,184.125)" + id="g168"><text + id="text172" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-31.902,18.168)"><tspan + id="tspan170" + y="0" + x="0 3.78 10.668 14.004 17.784 24.455999 30.9 34.236 44.688 55.139999">to the MMU</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g174"><path + id="path176" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 125.0132,171.1653 162,198" /></g><path + id="path178" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 101.6629,71.65767 4.7135,-7.12618 3.5235,4.85646 z" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g180"><path + id="path182" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 118.5379,166.4673 4.7135,7.1262 3.5235,-4.8565 z" /></g><g + transform="matrix(1,0,0,-1,173.625,20.625)" + id="g184"><text + id="text188" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-67.908,-3.335999)"><tspan + id="tspan186" + y="0" + x="0 6.888 13.56 20.004 23.34 33.792 44.243999 52.908001 56.243999 62.243999 68.688004 75.360001 82.475998 88.475998 91.811996 98.928001 105.6 111.6 117.6 120.264 126.708 133.15199">The MMU sends physical</tspan></text> +</g><g + transform="matrix(1,0,0,-1,173.625,20.625)" + id="g190"><text + id="text194" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-68.358,11)"><tspan + id="tspan192" + y="0" + x="0 6.4439998 13.56 20.676001 24.455999 30.9 36.900002 42.900002 49.344002 55.344002 58.68 62.459999 69.348 72.683998 76.463997 83.136002 89.580002 92.916 103.152 109.596 119.832 126.72 130.716">addresses to the memory</tspan></text> +</g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g196"><path + id="path198" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 324.3528,153 0.2102,29.5002" /></g><path + id="path200" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 305.573,54.73106 c 1.1632,1.17989 3.0627,1.19343 4.2426,0.03024 1.1799,-1.16319 1.1934,-3.06265 0.0302,-4.24254 -1.1632,-1.17989 -3.0626,-1.19343 -4.2425,-0.03023 -1.1799,1.16319 -1.1934,3.06264 -0.0303,4.24253" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g202"><path + id="path204" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 322.448,183.3939 c 1.1632,-1.1798 3.0627,-1.1934 4.2426,-0.0302 1.1799,1.1632 1.1934,3.0626 0.0302,4.2425 -1.1632,1.1799 -3.0626,1.1935 -4.2425,0.0303 -1.1799,-1.1632 -1.1934,-3.0627 -0.0303,-4.2426" /></g><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g206"><path + id="path208" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 432.3279,153 0.1954,29.5001" /></g><path + id="path210" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 413.5329,54.73214 c 1.1638,1.17931 3.0632,1.19189 4.2425,0.02811 1.1793,-1.16378 1.1919,-3.06324 0.0281,-4.24255 -1.1637,-1.17931 -3.0632,-1.19189 -4.2425,-0.0281 -1.1793,1.16378 -1.1919,3.06324 -0.0281,4.24254" /><g + transform="matrix(1,0,0,-1,-16.875,238.125)" + id="g212"><path + id="path214" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 430.4079,183.3929 c 1.1638,-1.1793 3.0632,-1.1919 4.2425,-0.0281 1.1793,1.1637 1.1919,3.0632 0.0281,4.2425 -1.1637,1.1793 -3.0632,1.1919 -4.2425,0.0281 -1.1793,-1.1638 -1.1919,-3.0632 -0.0281,-4.2425" /></g><g + transform="matrix(1,0,0,-1,529.625,52.625)" + id="g216"><text + id="text220" + style="font-variant:normal;font-weight:normal;font-size:12px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-10.446,3.832001)"><tspan + id="tspan218" + y="0" + x="0 8.2200003 14.892">Bus</tspan></text> +</g></g></g></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/images/x86code.svg Wed May 29 11:49:36 2019 +0900 @@ -0,0 +1,547 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 869.66669 299" + height="299" + width="869.66669" + xml:space="preserve" + id="svg2" + version="1.1"><metadata + id="metadata8"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs6"><clipPath + id="clipPath20" + clipPathUnits="userSpaceOnUse"><path + id="path18" + d="M 0,0 H 652.25 V 224.25 H 0 Z" /></clipPath></defs><g + transform="matrix(1.3333333,0,0,-1.3333333,0,299)" + id="g10"><g + id="g12" /><g + id="g14"><g + clip-path="url(#clipPath20)" + id="g16"><path + id="path22" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 1.125,243.125 h 648 v -238 h -648 z" /><path + id="path24" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 10.125,58.07622 H 303.0315 V 26.02744 H 10.125 Z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g26"><path + id="path28" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 9,185.0488 h 292.9065 v 32.0488 H 9 Z" /></g><g + transform="matrix(1,0,0,-1,156.5782,42.05183)" + id="g30"><text + id="text34" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-34.528,5.776001)"><tspan + id="tspan32" + y="0" + x="0 10.96 19.552 27.552 36.144001 45.040001 51.264 60.16">Base0-15</tspan></text> +</g><path + id="path36" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 303.0315,58.07622 H 595.938 V 26.02744 H 303.0315 Z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g38"><path + id="path40" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 301.9065,185.0488 H 594.813 v 32.0488 H 301.9065 Z" /></g><g + transform="matrix(1,0,0,-1,449.4847,42.05183)" + id="g42"><text + id="text46" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-36.024,5.776001)"><tspan + id="tspan44" + y="0" + x="0 8.8959999 12.448 26.096001 29.648001 34.688 39.136002 48.032001 54.256001 63.152">Limit 0-15</tspan></text> +</g><path + id="path48" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 10.125,90.125 H 139.3485 V 58.07622 H 10.125 Z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g50"><path + id="path52" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 9,153 h 129.2235 v 32.0488 H 9 Z" /></g><g + transform="matrix(1,0,0,-1,74.73673,74.10061)" + id="g54"><text + id="text58" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-38.976,5.776001)"><tspan + id="tspan56" + y="0" + x="0 10.96 19.552 27.552 36.144001 45.040001 53.936001 60.16 69.056">Base24-31</tspan></text> +</g><path + id="path60" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 466.7145,90.125 H 595.938 V 58.07622 H 466.7145 Z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g62"><path + id="path64" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 465.5895,153 H 594.813 v 32.0488 H 465.5895 Z" /></g><g + transform="matrix(1,0,0,-1,531.3263,74.10061)" + id="g66"><text + id="text70" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-41.2,5.776001)"><tspan + id="tspan68" + y="0" + x="0 10.96 19.552 27.552 36.144001 40.591999 49.487999 58.383999 64.608002 73.503998">Base 16-23</tspan></text> +</g><path + id="path72" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 406.4103,90.125 h 60.3042 V 58.07622 h -60.3042 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g74"><path + id="path76" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 405.2853,153 h 60.3042 v 32.0488 h -60.3042 z" /></g><g + transform="matrix(1,0,0,-1,436.5624,74.10061)" + id="g78"><text + id="text82" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-16.744,5.776001)"><tspan + id="tspan80" + y="0" + x="0 7.408 15.408 24.896">Type</tspan></text> +</g><path + id="path84" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 328.8762,90.125 h 51.6894 V 58.07622 h -51.6894 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g86"><path + id="path88" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 327.7512,153 h 51.6894 v 32.0488 h -51.6894 z" /></g><g + transform="matrix(1,0,0,-1,354.7209,74.10061)" + id="g90"><text + id="text94" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-13.04,5.776001)"><tspan + id="tspan92" + y="0" + x="0 11.264 21.632">DPL</tspan></text> +</g><path + id="path96" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 380.5656,90.125 h 25.8447 V 58.07622 h -25.8447 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g98"><path + id="path100" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 379.4406,153 h 25.8447 v 32.0488 h -25.8447 z" /></g><g + transform="matrix(1,0,0,-1,393.4879,74.10061)" + id="g102"><text + id="text106" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-5.184,5.776001)"><tspan + id="tspan104" + y="0" + x="0">S</tspan></text> +</g><path + id="path108" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 303.0315,90.125 h 25.8447 V 58.07622 h -25.8447 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g110"><path + id="path112" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 301.9065,153 h 25.8447 v 32.0488 h -25.8447 z" /></g><g + transform="matrix(1,0,0,-1,315.9538,74.10061)" + id="g114"><text + id="text118" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-5.184,5.776001)"><tspan + id="tspan116" + y="0" + x="0">P</tspan></text> +</g><path + id="path120" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 242.7272,90.125 h 60.3043 V 58.07622 h -60.3043 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g122"><path + id="path124" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 241.6022,153 h 60.3043 v 32.0488 h -60.3043 z" /></g><g + transform="matrix(1,0,0,-1,272.8794,74.10061)" + id="g126"><text + id="text130" + style="font-variant:normal;font-weight:normal;font-size:10px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-23.905,3.860001)"><tspan + id="tspan128" + y="0" + x="0 5.5599999 7.7800002 16.309999 18.530001 21.68 27.24 32.799999 36.689999 42.25">Limit16-19</tspan></text> +</g><path + id="path132" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 191.0378,90.125 h 25.8447 V 58.07622 h -25.8447 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g134"><path + id="path136" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 189.9128,153 h 25.8447 v 32.0488 h -25.8447 z" /></g><g + transform="matrix(1,0,0,-1,203.9602,74.10061)" + id="g138"><text + id="text142" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-4.448,5.776001)"><tspan + id="tspan140" + y="0" + x="0">0</tspan></text> +</g><path + id="path144" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 216.8825,90.125 h 25.8447 V 58.07622 h -25.8447 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g146"><path + id="path148" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 215.7575,153 h 25.8447 v 32.0488 h -25.8447 z" /></g><path + id="path150" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 165.1931,90.125 h 25.8447 V 58.07622 h -25.8447 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g152"><path + id="path154" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 164.0681,153 h 25.8447 v 32.0488 h -25.8447 z" /></g><g + transform="matrix(1,0,0,-1,178.1155,74.10061)" + id="g156"><text + id="text160" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-5.632,5.776001)"><tspan + id="tspan158" + y="0" + x="0">D</tspan></text> +</g><path + id="path162" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 139.3485,90.125 h 25.8446 V 58.07622 h -25.8446 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g164"><path + id="path166" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 138.2235,153 h 25.8446 v 32.0488 h -25.8446 z" /></g><g + transform="matrix(1,0,0,-1,152.2708,74.10061)" + id="g168"><text + id="text172" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-6.072,5.776001)"><tspan + id="tspan170" + y="0" + x="0">G</tspan></text> +</g><g + transform="matrix(1,0,0,-1,605.0315,71.42988)" + id="g174"><text + id="text178" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-4.093502,5.776001)"><tspan + id="tspan176" + y="0" + x="0">4</tspan></text> +</g><g + transform="matrix(1,0,0,-1,605.0315,44.72256)" + id="g180"><text + id="text184" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-4.093502,5.776001)"><tspan + id="tspan182" + y="0" + x="0">0</tspan></text> +</g><g + transform="matrix(1,0,0,-1,622.1875,18.625)" + id="g186"><text + id="text190" + style="font-variant:normal;font-weight:normal;font-size:10px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-17.775,-2.279999)"><tspan + id="tspan188" + y="0" + x="0 6.8499999 12.22 14.44 19.809999 22.959999 25.18 30.18">Relative</tspan></text> +</g><g + transform="matrix(1,0,0,-1,622.1875,18.625)" + id="g192"><text + id="text196" + style="font-variant:normal;font-weight:normal;font-size:10px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-17.875,10)"><tspan + id="tspan194" + y="0" + x="0 5.3699999 11.3 17.23 20.379999 25.75 30.75">address</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g198"><path + id="path200" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 320.0625,225 H 584.913" /></g><path + id="path202" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 594.038,18.125 -8,3 v -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g204"><path + id="path206" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 592.913,225 -8,-3 v 6 z" /></g><g + transform="matrix(1,0,0,-1,298.1875,18.125)" + id="g208"><text + id="text212" + style="font-variant:normal;font-weight:normal;font-size:16px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-17.936,5.776001)"><tspan + id="tspan210" + y="0" + x="0 8.8959999 17.792 27.280001 30.832001">32bit</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g214"><path + id="path216" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 18.9,225 H 274.0625" /></g><path + id="path218" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 12.025,18.125 8,-3 v 6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g220"><path + id="path222" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 10.9,225 8,3 v -6 z" /></g><g + transform="matrix(1,0,0,-1,550.1875,104.125)" + id="g224"><text + id="text228" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-84.6495,4.318001)"><tspan + id="tspan226" + y="0" + x="0 8.4239998 15.405 22.867001 33.956001 40.937 48.165001 52.259998 55.874001 59.969002 66.469002 74.178001 81.158997 84.773003 91.753998 98.982002 106.691 110.305 118.014 122.109 129.571 133.666 140.647 147.62801 151.72301 154.60899 162.071">Segment type and protection</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g230"><path + id="path232" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 396,117 v 26.1" /></g><path + id="path234" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 397.125,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g236"><path + id="path238" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 396,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g240"><path + id="path242" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 467.5626,117 H 396" /></g><g + transform="matrix(1,0,0,-1,505.1875,137.125)" + id="g244"><text + id="text248" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-30.8295,4.318001)"><tspan + id="tspan246" + y="0" + x="0 7.2280002 10.842 14.456 18.07 26.493999 32.993999 39.493999 43.589001 50.57 61.659">0 : System </tspan></text> +</g><g + transform="matrix(1,0,0,-1,514.1875,119.125)" + id="g250"><text + id="text254" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-41.6585,4.318001)"><tspan + id="tspan252" + y="0" + x="0 7.2280002 10.842 14.456 18.07 26.493999 34.202999 41.911999 44.798 47.683998 54.665001 61.646 65.740997 68.626999 76.088997">1 : Application</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g256"><path + id="path258" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 432,135 v 8.1" /></g><path + id="path260" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 433.125,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g262"><path + id="path264" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 432,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g266"><path + id="path268" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 455.7084,135 H 432" /></g><g + transform="matrix(1,0,0,-1,468.5781,127.75)" + id="g270"><text + id="text274" + style="font-variant:normal;font-weight:normal;font-size:20px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-3.33,7.220001)"><tspan + id="tspan272" + y="0" + x="0">{</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g276"><path + id="path278" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 360,81 v 62.1" /></g><path + id="path280" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 361.125,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g282"><path + id="path284" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 360,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g286"><path + id="path288" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 467.5626,81 H 360" /></g><g + transform="matrix(1,0,0,-1,532.1875,164.0312)" + id="g290"><text + id="text294" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-52.715,4.318001)"><tspan + id="tspan292" + y="0" + x="0 8.4239998 12.753 15.639 22.139 25.025 27.910999 34.891998 42.354 49.334999 52.949001 55.834999 62.816002 69.316002 76.296997 79.182999 82.550003 89.778 94.834999 102.063">Privilege level(0-3)</tspan></text> +</g><g + transform="matrix(1,0,0,-1,542.125,210.125)" + id="g296"><text + id="text300" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-103.805,4.318001)"><tspan + id="tspan298" + y="0" + x="0 7.2280002 10.842 14.456 18.07 26.493999 33.474998 40.937 52.026001 59.007 66.235001 70.330002 73.944 76.830002 83.330002 86.944 93.925003 101.634 108.134 115.115 122.343 126.438 130.052 133.89999 137.995 145.457 156.54601 160.16 171.24899 178.23 189.319 196.78101 201.11">0 : Segment is absent from memory</tspan></text> +</g><g + transform="matrix(1,0,0,-1,536.125,194.125)" + id="g302"><text + id="text306" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-97.6625,4.318001)"><tspan + id="tspan304" + y="0" + x="0 7.2280002 10.842 14.456 18.07 26.493999 33.474998 40.937 52.026001 59.007 66.235001 70.330002 73.944 76.830002 83.330002 86.944 94.653 98.748001 105.729 112.229 119.21 126.438 130.533 134.147 137.033 144.261 147.875 158.964 165.94501 177.034 184.496 188.825">1 : Segment is present in memory</tspan></text> +</g><g + transform="matrix(1,0,0,-1,424.625,202.75)" + id="g308"><text + id="text312" + style="font-variant:normal;font-weight:normal;font-size:20px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-3.33,7.220001)"><tspan + id="tspan310" + y="0" + x="0">{</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g314"><path + id="path316" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 315,45 v 98.1" /></g><path + id="path318" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 316.125,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g320"><path + id="path322" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 315,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g324"><path + id="path326" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 423,45 H 315" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g328"><path + id="path330" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 153,135 v 8.1" /></g><path + id="path332" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 154.125,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g334"><path + id="path336" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 153,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g338"><path + id="path340" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 117,135 h 36" /></g><g + transform="matrix(1,0,0,-1,60.625,114.925)" + id="g342"><text + id="text346" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-45.1555,4.318001)"><tspan + id="tspan344" + y="0" + x="0 7.2280002 10.842 14.456 18.07 25.298 28.184 31.798 34.683998 41.183998 44.798 47.683998 54.911999 58.526001 66.235001 72.735001 76.830002 83.810997">0 : Li is in bytes</tspan></text> +</g><g + transform="matrix(1,0,0,-1,62.625,104.125)" + id="g348"><text + id="text352" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-47.0795,4.318001)"><tspan + id="tspan350" + y="0" + x="0 7.2280002 10.842 14.456 18.07 25.298 28.184 31.798 34.683998 41.183998 44.798 47.683998 54.911999 58.526001 66.235001 73.216003 80.678001 87.658997">1 : Li is in pages</tspan></text> +</g><g + transform="matrix(1,0,0,-1,58.07812,158.125)" + id="g354"><text + id="text358" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-51.9025,4.318001)"><tspan + id="tspan356" + y="0" + x="0 7.2280002 10.842 14.456 21.684 28.912001 33.969002 42.874001 45.759998 49.855 53.469002 59.969002 66.949997 74.412003 85.500999 92.482002 99.709999">1: 32-Bit segment</tspan></text> +</g><g + transform="matrix(1,0,0,-1,60.125,167.125)" + id="g360"><text + id="text364" + style="font-variant:normal;font-weight:normal;font-size:13px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-53.7095,4.318001)"><tspan + id="tspan362" + y="0" + x="0 7.2280002 10.842 14.456 18.07 25.298 32.526001 37.583 46.487999 49.374001 53.469002 57.083 63.583 70.564003 78.026001 89.114998 96.096001 103.324">0 : 16-Bit segment</tspan></text> +</g><g + transform="matrix(1,0,0,-1,118.3828,109.75)" + id="g366"><text + id="text370" + style="font-variant:normal;font-weight:normal;font-size:20px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-3.33,7.220001)"><tspan + id="tspan368" + y="0" + x="0">}</tspan></text> +</g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g372"><path + id="path374" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 179.152,81 v 62.1" /></g><path + id="path376" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 180.277,92.025 3,8 h -6 z" /><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g378"><path + id="path380" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 179.152,151.1 3,-8 h -6 z" /></g><g + transform="matrix(1,0,0,-1,1.125,243.125)" + id="g382"><path + id="path384" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 117,81 h 62.152" /></g><g + transform="matrix(1,0,0,-1,117.625,162.625)" + id="g386"><text + id="text390" + style="font-variant:normal;font-weight:normal;font-size:20px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-3.33,7.220001)"><tspan + id="tspan388" + y="0" + x="0">}</tspan></text> +</g></g></g></g></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slide/sig-os2019.md Wed May 29 11:49:36 2019 +0900 @@ -0,0 +1,142 @@ +title:GearsOS の Paging と Segmentation +author:並列信頼研 桃原優 +profile: + +## OSの課題 +- OS は時代とともに複雑性を増し、適切な資源管理や信頼性を保証する事は難しい。 +- 現代 の OS では, User Space で Page Table Entry によるメモリ管理を行える OS は少ない。 + +## 本研究室での取り組み +- メタレベルの処理で記述できる CbC の開発。 +- CbC を用いる Gears OS の実装。 + +## 本研究の目的 +- CbC で GearsOS を実装する事でメモリ管理を行えるようになる。 +- しかし、今の GearsOS では単に Page Table Entry をコピーしてるだけ(Fork)。 +- GearsOS にメモリ管理を行う API を考察する。 + + +## スライドの流れ +- <font color="red">GearsOS</font> +- Paging +- CrossCompile +- 今後の課題 + + + + + +## GearsOS +- 以下を目的として GearsOS を開発している + - 並列実行のサポート + - 信頼性の保証 + +- 従来の OS が行うメモリ管理や並列実行などは Meta レベル(kernel space)で処理される。 +- CbC という言語で GearsOS を実装する事で、ノーマルレベルから並列実行環境に合わせた記述ができるようにする + +## Continuation based C +- Code Gear と Data Gear という単位でプログラムを記述する Continuation based C (以下、CbC)の研究を行っている。 +- Code Gear + - CbC における最も基本的な処理の単位 + - 入力と出力を持つ。goto によって Code Gear から次の Code Gear へ遷移する事で継続的に処理を行い、並列処理をする。 +- Data Gear + - データの基本的な単位。 + - 2種類ある。 + - Input Data Gear + - Output Data Gear + - Code Gear の遷移の際に Input Data Gear を受け取り、Output Data Gear を吐き出す。 + + +## CbC のメタ計算 +- CbCではノーマルレベルの記述とメタ計算を行うメタレベルの記述がある。 +- メタ計算を以下のように表現する。 + - Meta Code Gear + - Meta Data Gear + +## ノーマルレベルとメタレベル +- ノーマルレベルからメタレベルへの変換は Perl による変換スクリプトで実装している。 +- Meta Code Gear は Code Gear の直前と直後に挿入し、メタ計算を行う。 + +- 図: ノーマルレベルとメタレベルの継続の見え方 + +## Meta Compitation +- Gears OS では通常の処理を Compitation として扱う。 +- Compitation のための Compitation を Meta Compitation と呼ぶ。 +- GearsOS では Meta Compitation を Meta Code Gear, Meta Data Gear で表現する。 + +## Meta Compitationの例 +- 並列処理の依存関係の解決 +- OS が行うネットワーク管理 +- メモリ管理 + + +## Paging +- 仮想メモリでは Paging と呼ばれるシステムを使っている。 +- 様々なコンピュータではプログラム側がメモリアドレスを参照する。 +- コンピュータ上では仮想メモリなしでは、仮想アドレスは直接メモリバスを置けない。 + - バス(Bus)はメモリなどの信号を流す共通の信号回路 + +## MMU +- 仮想メモリが使われる時、仮想アドレスは直接メモリバスへは行かず、MMU(メモリ管理ユニット)に行く。 +- +<div align="center"><img src="./images/fig3_8.svg" style="center"></div> + + + +## Segmentation with Paging: The intel x86 + + + + +## GearsOS での Paging の実装 +- GearsOS で Paging を実装するために必要なもの + - Context に必要な Page Table を提供する Interface + - User Space からアクセスする API +- Page Table に相当するデータを Input Data Gear で受け取って変更 +- その後、Context にあるメモリコントロールを担当する Meta Data Gear に goto してアクセス。 + +## Meta Compitation による Page Table の操作 +- Meta Compitation レベルで Paging を処理する事で User プログラムでも Page Table を操作することができる。 +- Meta Compitation に戻る際に、Page Table Entry のバリデーションをチェックして反映することで、他のプロセスから Page Table を書き換えられることを防ぐ。 +- さらに、サンドボックスにしておいて、他のプロセスが書き換えられた時にエクセプションを飛ばすようにする。 + + +## Segmentation の切り替え +- Code Gear を切り替えるたびに Segmentation を切り替えると処理が遅くなる。 +- Context は スレッドごとにあるので、 Code Gear と Data Gear は自由に切り替えることができる。 + +## 切り替えの問題点と解決手法 +- Code Gear と Data Gear は煩雑に切り替わる + - Context に沿ってアクセスできる範囲を制限する必要がある。 +- Context と Segmentation を組み合わせることで GearsOS の Paging を実装する。 + +## 現代のOSのメモリ管理 +- User Space で Page Table Entry によるメモリ管理を行える OS は少ない。 + - User レベルの操作で Page Tabel が書き換えられたり、別のPage にアクセスするのを防ぐためだと考えられる。 + +## User Space で Page Tabel を操作する利点 +- User Space でメモリ管理を行えるようにするとこで、Page のバリデーションをチェックしたり、サンドボックスによる信頼性の保証が行える。 +- また、適切な記述をすれば最適なメモリ管理を行うことができるようになる + +## Xv6 +- Xv6 とは、マサチューセッツ工科大の大学院向け講義の教材として使うために、UNIX V6 という OS を ANSI-C に書き換え、x86 に移植した OS である。 +- Arm のバイナリを出力するので、Raspberry Pi や携帯電話など様々なハードウェアで動かすことができる + +## Xv6 を元にした GearsOS の実装 +- GearsOS はメモリ管理や CPU の管理を User Space から操作できることを目標に実装しているので、メモリに限りのあるハードウェアで動くように実装できる方が好ましい。 +- ANSI-C で書かれているXv6を CbC で書き直し、 それを元に GeasOSを実装する。 +- Xv6の新しい要素として GeasOS の Context の部分を User Space 側で実行する。 + + + + + + + + + + +## 図 + +<div align="center"><img src="./images/Conversion_of_a_selector_offset_pair_to_a_linear_address.svg" style="center"></div> +<div align="center"><img src="./images/x86code.svg" style="center"></div>