summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ProcessTeam.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-03-08 11:45:31 +0000
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-03-08 11:45:31 +0000
commit842d35cdd8511adf379c4ccb52010b9b71e0757f (patch)
tree5d49b59f49d633fe10aaf416056b2a413f60f1e8 /Private/KernelKit/ProcessTeam.hpp
parentdb0c8756f85c4a1f1f7770b704528d135ed765b9 (diff)
HCR-14:
- Improve kernel scheduler. - Defined a ProcessTeam object. - Define an entrypoint for a PE personality as a helper macro.
Diffstat (limited to 'Private/KernelKit/ProcessTeam.hpp')
-rw-r--r--Private/KernelKit/ProcessTeam.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/Private/KernelKit/ProcessTeam.hpp b/Private/KernelKit/ProcessTeam.hpp
new file mode 100644
index 00000000..1fb78d1d
--- /dev/null
+++ b/Private/KernelKit/ProcessTeam.hpp
@@ -0,0 +1,35 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+#pragma once
+
+#include <ArchKit/ArchKit.hpp>
+#include <KernelKit/FileManager.hpp>
+#include <KernelKit/PermissionSelector.hxx>
+#include <NewKit/LockDelegate.hpp>
+#include <NewKit/MutableArray.hpp>
+#include <NewKit/UserHeap.hpp>
+
+/// kernel namespace
+namespace HCore {
+/// \brief Processs Team (contains multiple processes inside it.)
+/// Equivalent to a process batch
+class ProcessTeam final {
+public:
+ explicit ProcessTeam() = default;
+ ~ProcessTeam() = default;
+
+ HCORE_COPY_DEFAULT(ProcessTeam);
+
+ MutableArray<Ref<Process>>& AsArray() { return mProcessList; }
+ Ref<Process>& AsRef() { return mCurrentProcess; }
+
+public:
+ MutableArray<Ref<Process>> mProcessList;
+ Ref<Process> mCurrentProcess;
+
+};
+} // namespace HCore \ No newline at end of file