| static | ProcessTable() |
| private | ProcessTable() |
| public nothrow void | AddProcessToExecutableINodeProcessMap(Process* process) |
| public nothrow void | AddProcessToProcessMap(Process* process) |
| public nothrow Process* | CloneProcess(Process* parent) |
| public Process* | CreateProcess(const String<char>& name, ulong entryPoint, ulong textSegmentBaseAddress, ulong textSegmentSize, ulong dataSegmentSize, ulong poolSegmentSize, ulong minStackSegmentSize, ulong maxStackSegmentSize, ulong stackSegmentIncrement, int sid) |
| public nothrow void | FreeProcess(Process* process) |
| public inline nothrow Process* | GetIdle() const |
| public inline nothrow Process* | GetInit() const |
| public inline nothrow Process* | GetNextReadyProcess() |
| public Process* | GetProcess(int pid) const |
| public nothrow Process* | GetProcessFromExecutableINodeProcessMap(const INodeKey& executableINodeKey) const |
| public inline nothrow Process* | GetRunning() const |
| public static nothrow ProcessTable& | Instance() |
| public inline nothrow void | PutToReadyQueue(Process* process) |
| public inline nothrow bool | ReadyQueueEmpty() const |
| public nothrow void | RemoveProcessFromExecutableINodeProcessMap(Process* process) |
| public inline nothrow void | SetInit(Process* init_) |
| public inline nothrow void | SetRunning(Process* running_) |
| private HashMap<INodeKey, Process*, INodeKeyHash, EqualTo<INodeKey>> | executableINodeProcessMap |
| private Process* | free |
| private Process | idleProcess |
| private Process* | init |
| private static UniquePtr<ProcessTable> | instance |
| private Machine& | machine |
| private int | nextFreeProcessSlot |
| private int | nextPID |
| private HashMap<int, Process*, Hasher<int>, EqualTo<int>> | processMap |
| private Process[1024] | processSlots |
| private Queue<Process*> | readyQueue |
| private Process* | running |