summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 23:20:20 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 23:20:20 +0200
commit267b82036b457242325d30893280fdd4e74cd27f (patch)
tree7b5adc2781cd67f5327b5ae21ef5fa27ce00b879
parent81027667166d9624ee12f45f011426678d1bbbf4 (diff)
feat: UserProcessScheduler: reset UTime when exiting.
feat: drawio: Rename OS_DESIGN to SYSTEM_DESIGN. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
-rw-r--r--dev/kernel/KernelKit/CoreProcessScheduler.h4
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.h4
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc7
-rw-r--r--docs/drawio/SYSTEM_DESIGN.drawio (renamed from docs/drawio/OS_DESIGN.drawio)0
4 files changed, 8 insertions, 7 deletions
diff --git a/dev/kernel/KernelKit/CoreProcessScheduler.h b/dev/kernel/KernelKit/CoreProcessScheduler.h
index 5ba29d3a..c06ef92c 100644
--- a/dev/kernel/KernelKit/CoreProcessScheduler.h
+++ b/dev/kernel/KernelKit/CoreProcessScheduler.h
@@ -130,7 +130,7 @@ enum class ProcessStatusKind : Int32 {
//! @brief Affinity is the amount of nano-seconds this process is going to run.
/***********************************************************************************/
enum class AffinityKind : Int32 {
- kRealTime = 50,
+ kRealTime = 100,
kVeryHigh = 150,
kHigh = 200,
kStandard = 1000,
@@ -208,7 +208,7 @@ struct PROCESS_IMAGE final {
Bool HasImage() const { return this->fBlob != nullptr; }
- ErrorOr<ImagePtr> Leak() {
+ ErrorOr<ImagePtr> LeakImage() {
if (this->fCode) {
return ErrorOr<ImagePtr>{this->fCode};
}
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h
index 14986ab6..23636ffb 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/kernel/KernelKit/UserProcessScheduler.h
@@ -144,8 +144,8 @@ class USER_PROCESS final {
const AffinityKind& GetAffinity() noexcept;
private:
- UInt32 fLastExitCode{0};
- Int32 fLocalCode{0};
+ UInt32 LastExitCode{0};
+ KPCError LocalCode{0};
friend UserProcessScheduler;
friend UserProcessHelper;
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc
index 4bbd085a..876cae03 100644
--- a/dev/kernel/src/UserProcessScheduler.cc
+++ b/dev/kernel/src/UserProcessScheduler.cc
@@ -72,7 +72,7 @@ USER_PROCESS::operator bool() {
/***********************************************************************************/
const UInt32& USER_PROCESS::GetExitCode() noexcept {
- return this->fLastExitCode;
+ return this->LastExitCode;
}
/***********************************************************************************/
@@ -80,7 +80,7 @@ const UInt32& USER_PROCESS::GetExitCode() noexcept {
/***********************************************************************************/
Int32& USER_PROCESS::GetLocalCode() noexcept {
- return this->fLocalCode;
+ return this->LocalCode;
}
/***********************************************************************************/
@@ -263,7 +263,8 @@ STATIC Void sched_free_ptr_tree(PROCESS_HEAP_TREE<VoidPtr>* memory_ptr_list) {
Void USER_PROCESS::Exit(const Int32& exit_code) {
this->Status = exit_code > 0 ? ProcessStatusKind::kKilled : ProcessStatusKind::kFrozen;
- this->fLastExitCode = exit_code;
+ this->LastExitCode = exit_code;
+ this->UTime = 0;
kLastExitCode = exit_code;
diff --git a/docs/drawio/OS_DESIGN.drawio b/docs/drawio/SYSTEM_DESIGN.drawio
index c428d137..c428d137 100644
--- a/docs/drawio/OS_DESIGN.drawio
+++ b/docs/drawio/SYSTEM_DESIGN.drawio