summaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/OS-Design.drawio17
-rw-r--r--doc/OS-Scheduler-Design.drawio25
-rw-r--r--doc/OS-Timer-Design.drawio (renamed from doc/OS-Timer-Architecture.drawio)9
-rw-r--r--doc/SCHEDULER_INFO.md2
4 files changed, 39 insertions, 14 deletions
diff --git a/doc/OS-Design.drawio b/doc/OS-Design.drawio
index 47a51bf6..8ef0ee79 100644
--- a/doc/OS-Design.drawio
+++ b/doc/OS-Design.drawio
@@ -1,25 +1,22 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="lDkK2i6CeL2VbSOVDvrP">
- <mxGraphModel dx="1084" dy="442" 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="764" dy="289" 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-2" value="SCI" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-2" value="SCI DLL (RING 3)" 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="System DLLs" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-3" value="DLLs, programs and services. (RING 3)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="295" width="360" height="35" 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 ZKA.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
- <mxGeometry x="620" y="380" width="180" height="120" as="geometry"/>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;System&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;This describes how ZKA is structued and how we're supposed to deal with (rings included.)&lt;/span&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxGeometry x="620" y="290" width="180" height="180" as="geometry"/>
</mxCell>
- <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="NewOS MP Kernel, DDK and it's drivers." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="NewOS MP Kernel, DDK and it's drivers. (RING 0)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="450" width="360" height="60" as="geometry"/>
</mxCell>
- <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;" parent="1" vertex="1">
- <mxGeometry x="620" y="250" width="180" height="120" as="geometry"/>
- </mxCell>
- <mxCell id="4" value="Subsystems (Security, Native)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxCell id="4" value="SCI and DDK syscalls/kerncalls (RING 0/RING 2)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="235.5" y="380" width="360" height="60" as="geometry"/>
</mxCell>
</root>
diff --git a/doc/OS-Scheduler-Design.drawio b/doc/OS-Scheduler-Design.drawio
new file mode 100644
index 00000000..0ace6148
--- /dev/null
+++ b/doc/OS-Scheduler-Design.drawio
@@ -0,0 +1,25 @@
+<mxfile host="65bd71144e">
+ <diagram name="Page-1" id="lDkK2i6CeL2VbSOVDvrP">
+ <mxGraphModel dx="764" dy="289" 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-2" value="SCI DLL inside code (RING 3)" 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="Running code (RING 3)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="235.5" y="295" width="360" height="35" as="geometry"/>
+ </mxCell>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-8" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;ZKA Scheduler&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; background-color: initial;&quot;&gt;This describes how ZKA is structued to schedule tasks.&lt;/span&gt;&lt;br&gt;&lt;/h1&gt;&lt;div&gt;A UserProcess may be attached to another one (thread)&lt;/div&gt;&lt;div&gt;Otherwise it's a process within a team.&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxGeometry x="620" y="290" width="180" height="200" as="geometry"/>
+ </mxCell>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="UserProcess structure (RING 0)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+ <mxGeometry x="235.5" y="380" width="360" height="60" as="geometry"/>
+ </mxCell>
+ <mxCell id="4" value="HardwareThread, HardwareThreadScheduler and UserProcessScheduler (RING 0)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="234" y="450" width="360" height="60" as="geometry"/>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+</mxfile> \ No newline at end of file
diff --git a/doc/OS-Timer-Architecture.drawio b/doc/OS-Timer-Design.drawio
index 16b91051..ca081fd3 100644
--- a/doc/OS-Timer-Architecture.drawio
+++ b/doc/OS-Timer-Design.drawio
@@ -1,6 +1,6 @@
<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">
+ <mxGraphModel dx="764" dy="289" 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"/>
@@ -29,7 +29,7 @@
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="c-_7pHU60HQ0aR4bwu-4-8" value="Scheduler context switch (on non MT mode),&lt;br&gt;Also SoftwareTimer gets implemented." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
- <mxGeometry x="160" y="60" width="120" height="90" as="geometry"/>
+ <mxGeometry x="130" y="75" 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">
@@ -40,7 +40,10 @@
<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>
+ <mxCell id="2" value="It is either abstracted like this, or has a direct interface to it." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+ <mxGeometry x="490" y="235" width="200" height="55" as="geometry"/>
+ </mxCell>
</root>
</mxGraphModel>
</diagram>
-</mxfile>
+</mxfile> \ No newline at end of file
diff --git a/doc/SCHEDULER_INFO.md b/doc/SCHEDULER_INFO.md
index 8b4e4379..1efbc329 100644
--- a/doc/SCHEDULER_INFO.md
+++ b/doc/SCHEDULER_INFO.md
@@ -1,6 +1,6 @@
# List of ZKA schedulers.
-- User UserProcess Scheduler.
+- User Process Scheduler.
- Hardware Thread Scheduler.
These schedulers are reserved only for the user code.