Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 15 → Rev 16

/design/trunk/src/images.draft/arch1.svg
0,0 → 1,673
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
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"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg1595"
sodipodi:version="0.32"
inkscape:version="0.43"
sodipodi:docbase="/home/segabond/HelenOS/HelenOS-doc/design/src/images.draft"
sodipodi:docname="arch1.svg">
<defs
id="defs1597" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="386.90307"
inkscape:cy="817.70736"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1272"
inkscape:window-height="940"
inkscape:window-x="0"
inkscape:window-y="0" />
<metadata
id="metadata1600">
<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>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="opacity:1;fill:#a3a3a3;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1603"
width="305.5"
height="277"
x="137"
y="85.862183"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="156.5"
y="105.86218"
id="text2478"><tspan
sodipodi:role="line"
id="tspan2480"
x="156.5"
y="105.86218">kernel</tspan></text>
<g
id="g2666">
<rect
y="323.36218"
x="156"
height="18.5"
width="271"
id="rect2537"
style="opacity:1;fill:#bc4343;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
<text
id="text2541"
y="337.36218"
x="264.5"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="337.36218"
x="264.5"
id="tspan2543"
sodipodi:role="line">HARDWARE</tspan></text>
</g>
<g
id="g2591">
<g
id="g2496">
<rect
style="opacity:1;fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2482"
width="134"
height="76.5"
x="157"
y="131.86218"
ry="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#efff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="185"
y="145.86218"
id="text2484"><tspan
sodipodi:role="line"
id="tspan2486"
x="185"
y="145.86218">SCHEDULER</tspan></text>
<text
xml:space="preserve"
style="font-size:10.84064579px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="162.53453"
y="160.50172"
id="text2488"><tspan
sodipodi:role="line"
id="tspan2490"
x="162.53453"
y="160.50172">* per CPU run-queues</tspan><tspan
sodipodi:role="line"
x="162.53453"
y="174.05253"
id="tspan2492">* load balancing</tspan><tspan
sodipodi:role="line"
x="162.53453"
y="187.60334"
id="tspan2494">* thread planning</tspan></text>
</g>
<g
id="g2582">
<rect
style="fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2507"
width="134"
height="76.5"
x="156.5"
y="214.11218"
ry="0" />
<text
xml:space="preserve"
style="font-size:10.01678467px;font-style:normal;font-weight:normal;fill:#efff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="161.69464"
y="225.64026"
id="text2509"><tspan
sodipodi:role="line"
id="tspan2511"
x="161.69464"
y="225.64026">MEMORY MANAGEMENT</tspan></text>
<text
xml:space="preserve"
style="font-size:10.84064579px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="163.03453"
y="245.75172"
id="text2513"><tspan
sodipodi:role="line"
id="tspan2515"
x="163.03453"
y="245.75172">* per CPU run-queues</tspan><tspan
sodipodi:role="line"
x="163.03453"
y="259.30253"
id="tspan2517">* load balancing</tspan><tspan
sodipodi:role="line"
x="163.03453"
y="272.85334"
id="tspan2519">* thread planning</tspan></text>
</g>
<g
transform="translate(140,0.25)"
id="g2521">
<rect
style="opacity:1;fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2523"
width="134"
height="76.5"
x="157"
y="131.86218"
ry="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#efff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="173"
y="145.86218"
id="text2525"><tspan
sodipodi:role="line"
id="tspan2527"
x="173"
y="145.86218">IPC and Syscalls</tspan></text>
<text
xml:space="preserve"
style="font-size:10.84064579px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="162.53453"
y="160.50172"
id="text2529"><tspan
sodipodi:role="line"
id="tspan2531"
x="162.53453"
y="160.50172">* per CPU run-queues</tspan><tspan
sodipodi:role="line"
x="162.53453"
y="174.05253"
id="tspan2533">* load balancing</tspan><tspan
sodipodi:role="line"
x="162.53453"
y="187.60334"
id="tspan2535">* thread planning</tspan></text>
</g>
<g
transform="translate(139.5,82.25)"
id="g2556">
<rect
style="opacity:1;fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2558"
width="134"
height="76.5"
x="157"
y="131.86218"
ry="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#efff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="173"
y="145.86218"
id="text2560"><tspan
sodipodi:role="line"
id="tspan2562"
x="173"
y="145.86218">Device Drivers</tspan></text>
<text
xml:space="preserve"
style="font-size:10.84064579px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="162.53453"
y="160.50172"
id="text2564"><tspan
sodipodi:role="line"
x="162.53453"
y="160.50172"
id="tspan2570">* in-kernel drivers</tspan><tspan
id="tspan2576"
sodipodi:role="line"
x="162.53453"
y="174.05253"> - ACPI</tspan><tspan
id="tspan2578"
sodipodi:role="line"
x="162.53453"
y="187.60334"> - Keyboard, clocks</tspan><tspan
id="tspan2580"
sodipodi:role="line"
x="162.53453"
y="201.15415"> - Basic video support</tspan></text>
</g>
</g>
<g
id="g2654"
transform="matrix(0.330608,0,0,0.288771,53.7998,246.7868)">
<path
transform="translate(15.5,30)"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="17.25"
sodipodi:r1="34.5"
sodipodi:cy="193.86218"
sodipodi:cx="461.5"
sodipodi:sides="3"
id="path2656"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
<rect
y="154.36218"
x="466"
height="66.5"
width="22"
id="rect2658"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
id="g2660"
transform="matrix(-0.330608,-1.04935e-17,9.165597e-18,-0.288771,525.7,366.4536)">
<path
transform="translate(15.5,30)"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="17.25"
sodipodi:r1="34.5"
sodipodi:cy="193.86218"
sodipodi:cx="461.5"
sodipodi:sides="3"
id="path2662"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
<rect
y="154.36218"
x="466"
height="66.5"
width="22"
id="rect2664"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
id="g2681"
transform="translate(-30.57538,-8.61701)">
<path
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2671"
style="opacity:1;fill:#e03c3c;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2675"
y="274.86218"
x="538.5"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="274.86218"
x="538.5"
id="tspan2677"
sodipodi:role="line">Device Driver</tspan><tspan
id="tspan2679"
y="289.86218"
x="538.5"
sodipodi:role="line">Interface</tspan></text>
</g>
<g
id="g2693"
transform="translate(-12.30979,56.32734)">
<path
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2695"
style="opacity:1;fill:#e03c3c;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2697"
y="274.86218"
x="538.5"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="274.86218"
x="538.5"
id="tspan2699"
sodipodi:role="line">Device Driver</tspan><tspan
id="tspan2701"
y="289.86218"
x="538.5"
sodipodi:role="line">Interface</tspan></text>
</g>
<g
id="g2723"
transform="matrix(0.682761,0,0,0.682761,135.9958,102.5081)">
<g
transform="translate(3.889087,2.828427)"
id="g2711">
<path
sodipodi:type="star"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path2705"
sodipodi:sides="3"
sodipodi:cx="461.5"
sodipodi:cy="193.86218"
sodipodi:r1="34.5"
sodipodi:r2="17.25"
sodipodi:arg1="1.5707963"
sodipodi:arg2="2.6179939"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
transform="matrix(0.253276,-0.424118,0.424118,0.253276,239.4585,458.5603)" />
<rect
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2707"
width="8.4741507"
height="88.587173"
x="487.99454"
y="-339.11758"
transform="matrix(0.455179,0.8904,-0.863773,0.503882,0,0)" />
</g>
<path
transform="matrix(-0.253276,0.424118,-0.424118,-0.253276,716.5558,126.1674)"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="17.25"
sodipodi:r1="34.5"
sodipodi:cy="193.86218"
sodipodi:cx="461.5"
sodipodi:sides="3"
id="path2717"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
</g>
<g
id="g2729"
transform="matrix(0.584207,0.337292,-0.337292,0.584207,288.1357,0.784081)">
<g
transform="translate(3.889087,2.828427)"
id="g2731">
<path
sodipodi:type="star"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path2733"
sodipodi:sides="3"
sodipodi:cx="461.5"
sodipodi:cy="193.86218"
sodipodi:r1="34.5"
sodipodi:r2="17.25"
sodipodi:arg1="1.5707963"
sodipodi:arg2="2.6179939"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
transform="matrix(0.253276,-0.424118,0.424118,0.253276,239.4585,458.5603)" />
<rect
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2735"
width="8.4741507"
height="88.587173"
x="487.99454"
y="-339.11758"
transform="matrix(0.455179,0.8904,-0.863773,0.503882,0,0)" />
</g>
<path
transform="matrix(-0.253276,0.424118,-0.424118,-0.253276,716.5558,126.1674)"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="17.25"
sodipodi:r1="34.5"
sodipodi:cy="193.86218"
sodipodi:cx="461.5"
sodipodi:sides="3"
id="path2737"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
</g>
<g
id="g2757"
transform="translate(-15.05025,10.02691)">
<path
transform="translate(-54.38743,-156.2596)"
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2743"
style="fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2745"
y="126.60257"
x="498.11258"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan2749"
y="126.60257"
x="498.11258"
sodipodi:role="line">NS Task</tspan></text>
</g>
<g
id="g2789"
transform="translate(17,-17.5)">
<path
transform="translate(-55.44809,-207.1713)"
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2764"
style="fill:#a3a3a3;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2766"
y="75.690849"
x="493.05191"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan2768"
y="75.690849"
x="493.05191"
sodipodi:role="line">User Task</tspan></text>
</g>
<g
id="g2794"
transform="translate(165.4404,78.6328)">
<path
transform="translate(-55.44809,-207.1713)"
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2796"
style="fill:#a3a3a3;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2798"
y="75.690849"
x="493.05191"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan2800"
y="75.690849"
x="493.05191"
sodipodi:role="line">User Task</tspan></text>
</g>
<g
id="g2802"
transform="translate(122.794,17.0373)">
<path
transform="translate(-55.44809,-207.1713)"
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2804"
style="fill:#a3a3a3;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2806"
y="75.690849"
x="493.05191"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan2808"
y="75.690849"
x="493.05191"
sodipodi:role="line">User Task</tspan></text>
</g>
<g
id="g2828"
transform="translate(43.38743,82.7596)">
<path
transform="translate(-54.38743,-156.2596)"
d="M 633 277.36218 A 55 27.5 0 1 1 523,277.36218 A 55 27.5 0 1 1 633 277.36218 z"
sodipodi:ry="27.5"
sodipodi:rx="55"
sodipodi:cy="277.36218"
sodipodi:cx="578"
id="path2830"
style="fill:#1e1d70;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<text
id="text2832"
y="124.60257"
x="478.11258"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
id="tspan2834"
y="124.60257"
x="478.11258"
sodipodi:role="line">&quot;Capable&quot; task</tspan></text>
</g>
<g
id="g2844"
transform="matrix(0.584207,0.337292,-0.337292,0.584207,289.6979,-129.6489)">
<g
transform="translate(3.889087,2.828427)"
id="g2846">
<path
sodipodi:type="star"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path2848"
sodipodi:sides="3"
sodipodi:cx="461.5"
sodipodi:cy="193.86218"
sodipodi:r1="34.5"
sodipodi:r2="17.25"
sodipodi:arg1="1.5707963"
sodipodi:arg2="2.6179939"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
transform="matrix(0.253276,-0.424118,0.424118,0.253276,239.4585,458.5603)" />
<rect
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2850"
width="8.4741507"
height="88.587173"
x="487.99454"
y="-339.11758"
transform="matrix(0.455179,0.8904,-0.863773,0.503882,0,0)" />
</g>
<path
transform="matrix(-0.253276,0.424118,-0.424118,-0.253276,716.5558,126.1674)"
d="M 461.5,228.36218 L 431.62212,176.61218 L 491.37788,176.61218 L 461.5,228.36218 z "
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="17.25"
sodipodi:r1="34.5"
sodipodi:cy="193.86218"
sodipodi:cx="461.5"
sodipodi:sides="3"
id="path2852"
style="fill:#000000;fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
</g>
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 523.25,157.36218 L 540.5,180.61218"
id="path2854"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 614.82935,190.04546 L 643.46717,164.76639"
id="path2856"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 609.8796,108.02108 L 561.97311,123.7542"
id="path2858"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 524.67323,79.560028 L 522.19836,104.66232"
id="path2860"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 563.38733,132.41626 L 634.45156,143.02286"
id="path2862"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 623.4914,112.26372 L 592.55548,179.79241"
id="path2864"
inkscape:connector-type="polyline" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="M 578.41335,177.84787 L 555.07882,78.852921"
id="path2866"
inkscape:connector-type="polyline" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="577.70624"
y="151.33136"
id="text2868"><tspan
sodipodi:role="line"
id="tspan2870"
x="577.70624"
y="151.33136">IPC</tspan></text>
</g>
</svg>
/design/trunk/src/ch_arch_overview.xml
2,6 → 2,32
 
<chapter id="architecture"><?dbhtml filename="arch.html"?>
<title>Architecture overview</title>
<para>Couple of words about microkernel concept etc </para>
<section>
<title>Task</title>
<para>Task ID - unique 64 bit number. Used for syscalls.</para>
<para>Contains threads</para>
<para>Address space is created per task</para>
<para>Memory mapping is per task</para>
<para>Context per thread. (Note 2 stacks on IA64).</para>
<para>IPC answer box associated per task</para>
</section>
<section>
<title>Memory management</title>
<para>
Zones - linked list (not many zones, so we can afford it. Can be replaced with B-tree in the future)
Number of zones depends on HW tables. Describe zone allocation/deallocation algoritm
</para>
<para>Page tables. 4 level hierarchical and hash directly supported. B+ Tree can be implemented.
<para>For paging there is an abstract layer</para>
<para>TLB shootdown implementation (update TLB upon mapping update/remove).
TLB shootdown ASID/ASID:PAGE/ALL.
TLB shootdown requests can come in asynchroniously
so there is a cache of TLB shootdown requests. Upon cache overflow TLB shootdown ALL is executed</para>
<para>
Address spaces. Address space area (B+ tree). Only for uspace. Set of syscalls (shrink/extend etc).
Special address space area type - device - prohibits shrink/extend syscalls to call on it.
Address space has link to mapping tables (hierarchical - per Address space, hash - global tables).
</para>
</chapter>