diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-22 18:30:00 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-22 18:30:00 +0200 |
| commit | 5ba2b615e172d93d1ffb06f611b19a4388ed074e (patch) | |
| tree | 3d3ad0d7c195a2d01aaf03155e77499cd6788fcf /dev/kernel/KernelKit/UserProcessScheduler.h | |
| parent | 8434a141533891ebd7cb5369c0541cb9a9c07971 (diff) | |
dev, kernel: Milestone towards 0.0.2, see details.
Details:
- Added support for 512 process teams (kTeams array).
- New SwitchTeam() API in UserProcessScheduler.
- Kernel main loop rotates active team every 200ms.
- Renamed syscall tables for clarity (kSyscalls → kSysCalls, etc.).
- Replaced kKernelMaxSystemCalls with kMaxDispatchCallCount.
- Updated call sites to match new naming.
- Bumped format version to 0x0101.
- Added reserved fields to HEFS_BOOT_NODE for future use.
- Changed inode indexing logic to operate on (start, size) pairs.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/UserProcessScheduler.h')
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h index 881f3957..d8c1dff8 100644 --- a/dev/kernel/KernelKit/UserProcessScheduler.h +++ b/dev/kernel/KernelKit/UserProcessScheduler.h @@ -19,6 +19,7 @@ #define kSchedMinMicroTime (AffinityKind::kStandard) #define kSchedInvalidPID (-1) #define kSchedProcessLimitPerTeam (32U) +#define kSchedTeamCount (512) #define kSchedMaxMemoryLimit gib_cast(128) /* max physical memory limit */ #define kSchedMaxStackSz mib_cast(8) /* maximum stack size */ @@ -328,13 +329,15 @@ namespace Kernel explicit UserProcessScheduler() = default; ~UserProcessScheduler() override = default; - NE_COPY_DEFAULT(UserProcessScheduler) + NE_COPY_DELETE(UserProcessScheduler) + NE_MOVE_DELETE(UserProcessScheduler) operator bool(); bool operator!(); public: ProcessTeam& CurrentTeam(); + BOOL SwitchTeam(ProcessTeam& team); public: ProcessID Spawn(const Char* name, VoidPtr code, VoidPtr image); @@ -371,6 +374,10 @@ namespace Kernel }; const UInt32& sched_get_exit_code(void) noexcept; + + inline Kernel::Array<ProcessTeam, + kSchedTeamCount> + kTeams; } // namespace Kernel #include <KernelKit/ThreadLocalStorage.h> |
