summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/src
diff options
context:
space:
mode:
authorAmlal El Mahrouss <zka-holder@mahrouss-logic.com>2024-10-20 07:07:08 +0000
committerAmlal El Mahrouss <zka-holder@mahrouss-logic.com>2024-10-20 07:07:08 +0000
commit704879ab7f080ce60bcffda02e3dda6330a4f1fd (patch)
tree3970ff78405684f08f01e9e68ebb77a038c28e57 /dev/zka/src
parent9d092dd8a9bff165d6159e9fbedb2e361ff54987 (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.cxx12
-rw-r--r--dev/zka/src/UserProcessScheduler.cxx12
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;