summaryrefslogtreecommitdiffhomepage
path: root/Meta
diff options
context:
space:
mode:
Diffstat (limited to 'Meta')
-rw-r--r--Meta/OS-Design.drawio42
-rw-r--r--Meta/OS-Timer-Architecture.drawio92
2 files changed, 58 insertions, 76 deletions
diff --git a/Meta/OS-Design.drawio b/Meta/OS-Design.drawio
index 539e0bf9..46863670 100644
--- a/Meta/OS-Design.drawio
+++ b/Meta/OS-Design.drawio
@@ -1,47 +1,29 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="lDkK2i6CeL2VbSOVDvrP">
- <mxGraphModel dx="746" dy="307" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+ <mxGraphModel dx="1356" dy="558" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-1" value="DDK Hooks (KCI and SCI routes.)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-1" value="DDKit Hooks" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="234" y="450" width="360" height="60" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-2" value="SCI" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="234" y="410" width="360" height="30" as="geometry"/>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-2" value="SCIKit and SCM" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="235.5" y="340" width="360" height="30" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-3" value="libCoreGraphics/libCoreFoundation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="234" y="370" width="360" height="30" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-4" value="libCoreApplication" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="241" y="330" width="136" height="30" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-5" value="libCoreMT" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="387" y="330" width="200" height="30" as="geometry"/>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-3" value="FoundationKit, AnimationKit, GraphicsKit" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="235.5" y="295" width="360" height="30" as="geometry"/>
</mxCell>
<mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;System layer.&lt;/h1&gt;&lt;p&gt;This layer describes the kernel and it's API, which makes the Zeta OS.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
- <mxGeometry x="620" y="325" width="180" height="120" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-9" value="libCoreHTML" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="241" y="200" width="136" height="100" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-10" value="libCoreAsync" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="387" y="200" width="203" height="100" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-11" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;High level layer.&lt;/h1&gt;&lt;p&gt;This contains the launcher, some&lt;/p&gt;&lt;p&gt;APIs (here CoreHTML and CoreAsync.) and apps.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
- <mxGeometry x="620" y="140" width="180" height="140" as="geometry"/>
- </mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-12" value="UI" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="241" y="130" width="349" height="60" as="geometry"/>
+ <mxGeometry x="610" y="440" width="180" height="120" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="Kernel" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="NewOS MP Kernel" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="520" width="360" height="60" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-14" value="New OS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
- <mxGeometry x="241" y="70" width="60" height="30" as="geometry"/>
+ <mxCell id="2" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;User layer&lt;/h1&gt;&lt;div&gt;This layer is located on user space, it is containing all of the users frameworks, SCI and SCM objects.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
+ <mxGeometry x="610" y="290" width="180" height="120" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-15" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Application&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;Each app is organized so:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;/*.exe&lt;/div&gt;&lt;div&gt;/NewOS/&lt;/div&gt;&lt;div&gt;/NewOS/Libraries/lib*&lt;/div&gt;&lt;div&gt;/NewOS/Manifests/*.alist&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;*.exe must match the MLExecutable field, and be a PEF executable.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;App.alist is mandatory on apps.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;An New OS is simply a directory&lt;/div&gt;&lt;div&gt;with the .app extension.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
- <mxGeometry x="10" y="130" width="180" height="240" as="geometry"/>
+ <mxCell id="3" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;NewOS&lt;/h1&gt;&lt;div&gt;NewOS is an interesting piece&lt;/div&gt;&lt;div&gt;of engineering, designed to be mutli-user and multi tasked, it perfectly suits that need. And gives a neat API to work on.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
+ <mxGeometry x="90" y="80" width="180" height="130" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
diff --git a/Meta/OS-Timer-Architecture.drawio b/Meta/OS-Timer-Architecture.drawio
index 9b5a9a88..2fdeded6 100644
--- a/Meta/OS-Timer-Architecture.drawio
+++ b/Meta/OS-Timer-Architecture.drawio
@@ -1,46 +1,46 @@
-<mxfile host="app.diagrams.net" modified="2024-07-07T08:32:41.621Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" etag="UqJl_3VXuitRxImxFo5W" version="24.6.2" type="device">
- <diagram name="Page-1" id="SMmOiZGLec9H7ruN5qyQ">
- <mxGraphModel dx="1400" dy="743" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
- <root>
- <mxCell id="0" />
- <mxCell id="1" parent="0" />
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-2">
- <mxGeometry relative="1" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-4">
- <mxGeometry relative="1" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-6">
- <mxGeometry relative="1" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-1" value="TimeInfoStruct" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="340" y="230" width="120" height="60" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-2" value="APIC/PIC/IOAPIC" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="340" y="400" width="120" height="60" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-4" value="GT" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="530" y="400" width="120" height="60" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-6" value="CLINT" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="150" y="400" width="120" height="60" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="c-_7pHU60HQ0aR4bwu-4-8" target="c-_7pHU60HQ0aR4bwu-4-1">
- <mxGeometry relative="1" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-8" value="Scheduler context switch (on non MT mode),&lt;br&gt;Also HardwareTimer gets implemented." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="160" y="60" width="120" height="90" as="geometry" />
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="c-_7pHU60HQ0aR4bwu-4-10">
- <mxGeometry relative="1" as="geometry">
- <mxPoint x="530" y="120" as="sourcePoint" />
- <mxPoint x="430" y="230" as="targetPoint" />
- </mxGeometry>
- </mxCell>
- <mxCell id="c-_7pHU60HQ0aR4bwu-4-10" value="Hook 2 system calls for timing purposes.&lt;br&gt;(Wait, WaitUntil)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
- <mxGeometry x="560" y="90" width="120" height="60" as="geometry" />
- </mxCell>
- </root>
- </mxGraphModel>
- </diagram>
-</mxfile>
+<mxfile host="65bd71144e">
+ <diagram name="Page-1" id="SMmOiZGLec9H7ruN5qyQ">
+ <mxGraphModel dx="746" dy="307" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+ <root>
+ <mxCell id="0"/>
+ <mxCell id="1" parent="0"/>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-2" edge="1">
+ <mxGeometry relative="1" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-4" edge="1">
+ <mxGeometry relative="1" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="c-_7pHU60HQ0aR4bwu-4-1" target="c-_7pHU60HQ0aR4bwu-4-6" edge="1">
+ <mxGeometry relative="1" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-1" value="TIME_INFO" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="340" y="230" width="120" height="60" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-2" value="APIC/PIC/IOAPIC" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="340" y="400" width="120" height="60" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-4" value="GT" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="530" y="400" width="120" height="60" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-6" value="CLINT" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="150" y="400" width="120" height="60" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="c-_7pHU60HQ0aR4bwu-4-8" target="c-_7pHU60HQ0aR4bwu-4-1" edge="1">
+ <mxGeometry relative="1" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-8" value="Scheduler context switch (on non MT mode),&lt;br&gt;Also HardwareTimer gets implemented." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="160" y="60" width="120" height="90" as="geometry"/>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="c-_7pHU60HQ0aR4bwu-4-10" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="530" y="120" as="sourcePoint"/>
+ <mxPoint x="430" y="230" as="targetPoint"/>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="c-_7pHU60HQ0aR4bwu-4-10" value="Hook 2 system calls for timing purposes.&lt;br&gt;(Wait, WaitUntil)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="560" y="90" width="120" height="60" as="geometry"/>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+</mxfile> \ No newline at end of file