diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-23 09:13:37 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-23 09:13:37 +0200 |
| commit | 141786008aa639c313d83a6a06db700ed69ed064 (patch) | |
| tree | fc1491f507e8881e48e1bbaa19bc3aca0e38699c /dev/kernel/KernelKit | |
| parent | a8f2ba9ebe9b17fe5f6367021e32f64d573a4ac0 (diff) | |
feat: scheduler: ProcessImage should be friend with KernelScheduler,
not helper.
feat! scheduler: Introduce ProcessID as only PID type.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit')
| -rw-r--r-- | dev/kernel/KernelKit/CoreProcessScheduler.h | 13 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/KernelTaskScheduler.h | 6 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.h | 6 |
3 files changed, 12 insertions, 13 deletions
diff --git a/dev/kernel/KernelKit/CoreProcessScheduler.h b/dev/kernel/KernelKit/CoreProcessScheduler.h index ee848ffc..fa124a02 100644 --- a/dev/kernel/KernelKit/CoreProcessScheduler.h +++ b/dev/kernel/KernelKit/CoreProcessScheduler.h @@ -118,11 +118,6 @@ enum class ProcessSubsystem : Int32 { }; /***********************************************************************************/ -//! @brief Local Process identifier. -/***********************************************************************************/ -typedef Int64 ProcessID; - -/***********************************************************************************/ //! @brief Local Process status enum. /***********************************************************************************/ enum class ProcessStatusKind : Int32 { @@ -181,7 +176,11 @@ inline bool operator>=(AffinityKind lhs, AffinityKind rhs) { using PTime = UInt64; using ProcessTime = PTime; -using PID = Int64; + +/***********************************************************************************/ +//! @brief Local Process identifier. +/***********************************************************************************/ +using ProcessID = Int64; /***********************************************************************************/ /// @note For User manager, tells where we run the code. @@ -209,7 +208,7 @@ struct ProcessImage final { friend KERNEL_TASK; friend class UserProcessScheduler; - friend class KernelTaskHelper; + friend class KernelTaskScheduler; ImagePtr fCode{}; ImagePtr fBlob{}; diff --git a/dev/kernel/KernelKit/KernelTaskScheduler.h b/dev/kernel/KernelKit/KernelTaskScheduler.h index 527da9f0..527eec5e 100644 --- a/dev/kernel/KernelKit/KernelTaskScheduler.h +++ b/dev/kernel/KernelKit/KernelTaskScheduler.h @@ -17,7 +17,7 @@ namespace Kernel { class KernelTaskHelper; -typedef PID KID; +typedef ProcessID KID; /// @brief Equivalent of USER_PROCESS, but for kernel tasks. /// @author Amlal @@ -38,9 +38,9 @@ class KERNEL_TASK final { /// @author Amlal class KernelTaskHelper final { public: - STATIC Bool Switch(HAL::StackFramePtr frame_ptr, PID new_kid); + STATIC Bool Switch(HAL::StackFramePtr frame_ptr, ProcessID new_kid); STATIC Bool CanBeScheduled(const KERNEL_TASK& process); - STATIC ErrorOr<PID> TheCurrentKID(); + STATIC ErrorOr<ProcessID> TheCurrentKID(); STATIC SizeT StartScheduling(); }; } // namespace Kernel
\ No newline at end of file diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h index 69a631be..a7ef13a9 100644 --- a/dev/kernel/KernelKit/UserProcessScheduler.h +++ b/dev/kernel/KernelKit/UserProcessScheduler.h @@ -79,7 +79,7 @@ class USER_PROCESS final { ProcessTime RTime{0}; //! @brief Process run time. ProcessTime UTime{0}; //! #brief Process used time. - PID ProcessId{kSchedInvalidPID}; + ProcessID ProcessId{kSchedInvalidPID}; Int32 Kind{kExecutableKind}; public: @@ -226,9 +226,9 @@ class UserProcessScheduler final : public ISchedulable { class UserProcessHelper final { public: - STATIC Bool Switch(HAL::StackFramePtr frame_ptr, PID new_pid); + STATIC Bool Switch(HAL::StackFramePtr frame_ptr, ProcessID new_pid); STATIC Bool CanBeScheduled(const USER_PROCESS& process); - STATIC ErrorOr<PID> TheCurrentPID(); + STATIC ErrorOr<ProcessID> TheCurrentPID(); STATIC SizeT StartScheduling(); }; } // namespace Kernel |
