summaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
commitf0d8e3acd48c70f49e5b59a653045405b1e9a062 (patch)
tree6c0cb370a0c10347112a13b7cbae1fd6dff51cc6 /doc
parent7efcf975fe61b2d20d2379f6151b6cdd99391dff (diff)
[IMP] Add SizeMemory field inside PROCESS_HEADER_BLOCK. (min 4GB)
[FIX] Fix ProcessHeap allocation, making sure that we know everything from it. [IMP] Add new fields to PROCESS_HEAP_HEADER struct. [META] Refactor repository. Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/DDK Driver ToolKit Internal SPECS.pdfbin0 -> 24997 bytes
-rw-r--r--doc/Explicit Partition Map.pdfbin0 -> 12517 bytes
-rw-r--r--doc/OS-Design.drawio31
-rw-r--r--doc/OS-Timer-Architecture.drawio46
-rw-r--r--doc/SCHEDULER_INFO.md8
5 files changed, 85 insertions, 0 deletions
diff --git a/doc/DDK Driver ToolKit Internal SPECS.pdf b/doc/DDK Driver ToolKit Internal SPECS.pdf
new file mode 100644
index 00000000..7029e0cc
--- /dev/null
+++ b/doc/DDK Driver ToolKit Internal SPECS.pdf
Binary files differ
diff --git a/doc/Explicit Partition Map.pdf b/doc/Explicit Partition Map.pdf
new file mode 100644
index 00000000..d9eeebc9
--- /dev/null
+++ b/doc/Explicit Partition Map.pdf
Binary files differ
diff --git a/doc/OS-Design.drawio b/doc/OS-Design.drawio
new file mode 100644
index 00000000..0c6f4696
--- /dev/null
+++ b/doc/OS-Design.drawio
@@ -0,0 +1,31 @@
+<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">
+ <root>
+ <mxCell id="0"/>
+ <mxCell id="1" parent="0"/>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-2" value="SCIKit" 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="FoundationKit, AnimationKit, GraphicsKit" 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 the Zeta OS.&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
+ <mxGeometry x="610" y="440" width="180" height="120" as="geometry"/>
+ </mxCell>
+ <mxCell id="ifhO3zQZNW-sXvZMTmu8-13" value="NewOS MP Kernel, DDKit&amp;nbsp;DLL and installed drivers." 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="610" y="290" width="180" height="120" as="geometry"/>
+ </mxCell>
+ <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;" parent="1" vertex="1">
+ <mxGeometry x="90" y="80" width="180" height="130" as="geometry"/>
+ </mxCell>
+ <mxCell id="4" value="Subsystems (Security, Native)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="235.5" y="380" 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-Architecture.drawio
new file mode 100644
index 00000000..2fdeded6
--- /dev/null
+++ b/doc/OS-Timer-Architecture.drawio
@@ -0,0 +1,46 @@
+<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
diff --git a/doc/SCHEDULER_INFO.md b/doc/SCHEDULER_INFO.md
new file mode 100644
index 00000000..c61a5b5e
--- /dev/null
+++ b/doc/SCHEDULER_INFO.md
@@ -0,0 +1,8 @@
+# List of ZKA schedulers.
+
+- User Process Scheduler.
+- User Thread Scheduler.
+- MP Scheduler.
+
+These schedulers are reserved only for the user code.
+Drivers and kernel are running on the boot core. \ No newline at end of file