コード例 #1
0
ファイル: WinTask.cs プロジェクト: Gerardo115pp/TaskManager
 public WinTask(Process process)
 {
     this.process_instance = process;
     this.is_accesable     = true;
     this.pid           = process.Id;
     this.status        = PROCESS_STATUS.Active;
     this.process_alias = process.ProcessName;
     this.startProcess();
 }
コード例 #2
0
ファイル: PCB.cs プロジェクト: lrodri20/OS-Simulator
 public PCB(int jobNum, int jobPri, int jobInstrCount, int jobDiskAdd)
 {
     jobNumber           = jobNum;
     jobPriority         = jobPri;
     jobDiskAddress      = jobDiskAdd;
     jobInstructionCount = jobInstrCount;
     jobInMemory         = false;
     registers           = new int[16];
     Array.Fill(registers, 0);
     processStatus = PROCESS_STATUS.NEW;
 }
コード例 #3
0
ファイル: WinTask.cs プロジェクト: Gerardo115pp/TaskManager
 public void refreshProcessState()
 {
     if (this.status != PROCESS_STATUS.Terminated)
     {
         try
         {
             this.process_instance = Process.GetProcessById(this.pid);
         }
         catch (System.ArgumentException)
         {
             this.status = PROCESS_STATUS.Terminated;
         }
     }
 }
コード例 #4
0
ファイル: PCB.cs プロジェクト: lrodri20/OS-Simulator
        public PCB(int jobNum, int jobPri, int jobInstrCount, int jobDiskAdd)
        {
            jobNumber           = jobNum;
            jobPriority         = jobPri;
            jobDiskAddress      = jobDiskAdd;
            jobInstructionCount = jobInstrCount;
            jobInMemory         = false;
            registers           = new int[16];
            for (int i = 0; i < registers.Length; i++)
            {
                registers[i] = 0;
            }

            processStatus = PROCESS_STATUS.NEW;
        }
コード例 #5
0
ファイル: PCB.cs プロジェクト: lrodri20/OS-Simulator
 public void setProcessStatus(PROCESS_STATUS processStatus)
 {
     this.processStatus = processStatus;
 }