diff options
| author | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-20 07:07:08 +0000 |
|---|---|---|
| committer | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-20 07:07:08 +0000 |
| commit | 704879ab7f080ce60bcffda02e3dda6330a4f1fd (patch) | |
| tree | 3970ff78405684f08f01e9e68ebb77a038c28e57 /dev/zka/src | |
| parent | 9d092dd8a9bff165d6159e9fbedb2e361ff54987 (diff) | |
NeFS: Officialize minimum disk size into the specs.
HPFS: Start implementing it.
UPS: Check PTime, and decrementing it when it isn't our time yet, also added new Subsystem entries.
FSKit: Better documentation and provide 256U instead of only 256.
EBS: Fixed HPFS magic number, which wasn't correctly bound to 8 bytes.
BUILD: Fixed blob.json for epm.asm
Diffstat (limited to 'dev/zka/src')
| -rw-r--r-- | dev/zka/src/IndexableProperty.cxx | 12 | ||||
| -rw-r--r-- | dev/zka/src/UserProcessScheduler.cxx | 12 |
2 files changed, 13 insertions, 11 deletions
diff --git a/dev/zka/src/IndexableProperty.cxx b/dev/zka/src/IndexableProperty.cxx index fb3a6313..7595291c 100644 --- a/dev/zka/src/IndexableProperty.cxx +++ b/dev/zka/src/IndexableProperty.cxx @@ -4,17 +4,15 @@ ------------------------------------------- */ -//! @brief Filesystem Indexer. - #include <CompilerKit/CompilerKit.hxx> #include <FSKit/IndexableProperty.hxx> #include <NewKit/MutableArray.hxx> #include <NewKit/Utils.hxx> -/// @brief File Indexer. +/// @brief File indexer API for fast path access. /// BUGS: 0 -#define kMaxLenIndexer 256 +#define kMaxLenIndexer (256U) namespace Kernel { @@ -41,10 +39,10 @@ namespace Kernel } /// @brief Index a file into the indexer instance. - /// @param filename path + /// @param filename filesystem path to access. /// @param filenameLen used bytes in path. /// @param indexer the filesystem indexer. - /// @return none. + /// @return none, check before if indexer can be claimed (using indexer.HasFlag(kIndexerClaimed)). Void fs_index_file(const Char* filename, SizeT filenameLen, IndexableProperty& indexer) { if (!indexer.HasFlag(kIndexerClaimed)) @@ -52,7 +50,7 @@ namespace Kernel indexer.AddFlag(kIndexerClaimed); rt_copy_memory((VoidPtr)indexer.Leak().Path, (VoidPtr)filename, filenameLen); - kcout << "filesystem: index new file: " << filename << endl; + kcout << "FSKit: Indexed new file: " << filename << endl; } } } // namespace Indexer diff --git a/dev/zka/src/UserProcessScheduler.cxx b/dev/zka/src/UserProcessScheduler.cxx index ed2cfa17..d0236578 100644 --- a/dev/zka/src/UserProcessScheduler.cxx +++ b/dev/zka/src/UserProcessScheduler.cxx @@ -441,6 +441,10 @@ namespace Kernel continue; } } + else + { + --process.PTime; + } } kcout << "Scheduled Process Count: " << number(process_index) << endl; @@ -476,9 +480,9 @@ namespace Kernel /// @param process the process reference. /// @retval true can be schedulded. /// @retval false cannot be schedulded. - bool UserProcessHelper::CanBeScheduled(const UserProcess& process) + Bool UserProcessHelper::CanBeScheduled(const UserProcess& process) { - kcout << "Checking process status...\r"; + kcout << "Checking UserProcess status...\r"; if (process.Status == ProcessStatusKind::kFrozen || process.Status == ProcessStatusKind::kDead) @@ -488,7 +492,7 @@ namespace Kernel process.Kind == UserProcess::kExectuableKind) return No; - return Yes; + return process.PTime < 1 && process.Status == ProcessStatusKind::kRunning; } /***********************************************************************************/ @@ -502,7 +506,7 @@ namespace Kernel if (!cProcessScheduler) { cProcessScheduler = mm_new_class<UserProcessScheduler>(); - return cProcessScheduler; + return Yes; } return No; |
