From 267b82036b457242325d30893280fdd4e74cd27f Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 29 May 2025 23:20:20 +0200 Subject: feat: UserProcessScheduler: reset UTime when exiting. feat: drawio: Rename OS_DESIGN to SYSTEM_DESIGN. Signed-off-by: Amlal El Mahrouss --- dev/kernel/KernelKit/CoreProcessScheduler.h | 4 +-- dev/kernel/KernelKit/UserProcessScheduler.h | 4 +-- dev/kernel/src/UserProcessScheduler.cc | 7 +++-- docs/drawio/OS_DESIGN.drawio | 46 ----------------------------- docs/drawio/SYSTEM_DESIGN.drawio | 46 +++++++++++++++++++++++++++++ 5 files changed, 54 insertions(+), 53 deletions(-) delete mode 100644 docs/drawio/OS_DESIGN.drawio create mode 100644 docs/drawio/SYSTEM_DESIGN.drawio 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 Leak() { + ErrorOr LeakImage() { if (this->fCode) { return ErrorOr{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* 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/OS_DESIGN.drawio deleted file mode 100644 index c428d137..00000000 --- a/docs/drawio/OS_DESIGN.drawio +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/drawio/SYSTEM_DESIGN.drawio b/docs/drawio/SYSTEM_DESIGN.drawio new file mode 100644 index 00000000..c428d137 --- /dev/null +++ b/docs/drawio/SYSTEM_DESIGN.drawio @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3