summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/src/UserProcessScheduler.cxx
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/UserProcessScheduler.cxx
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/UserProcessScheduler.cxx')
-rw-r--r--dev/zka/src/UserProcessScheduler.cxx12
1 files changed, 8 insertions, 4 deletions
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;