91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

假定系統(tǒng)有五個進程,每一個進程用一個進程控制塊PCB來代表;進程控制塊如包含:進程名、指針、要求運行時間、優(yōu)先數(shù)、狀態(tài)等。 在每次運行所設(shè)計的處理器調(diào)度程序之前,為每個進程任意確定它的“優(yōu)先數(shù)”和“要求運行時間” 在所設(shè)計的程序中應(yīng)有顯示或打印語句,能顯示或打印每次被選中進程的進程名以及運行一次后進程隊列的變化。 為五個進程任意確定一組“優(yōu)先數(shù)”和“要求運行時間”,啟動所設(shè)計的處理器調(diào)度程序,顯示或打印逐次被選中進程的進程名以及進程控制塊的動態(tài)變化過程

資源截圖

代碼片段和文件信息

#include?“stdafx.h“

#include?“ProcessDlg.h“



extern?enum?State;

extern?CListCtrl?m_ProcessShow;
extern?void?Display(?PCB*?pcb?);

//void?Process::Run()
//{
// if?(m_PCB.PState?=?Terminated)
// {
// return;
// }
// m_PCB.RequestTime--;
// if?(m_PCB.RequestTime?<=?0)
// {
// m_PCB.PState?=?Terminated;
// }
//}
//
//void?Process::Wait()
//{
// m_PCB.Priority++;
//}
//


//void?Process::SetTime(?int?time?)
//{
// m_PCB.RequestTime?=?time;
//}
//
//void?Process::SetPriority(?int?priority?)
//{
// m_PCB.Priority?=?priority;
//}
//
//void?Process::SetState(?State?state?)
//{
// m_PCB.PState?=?state;
//}
//
//void?Process::SetName(?CString?strName?)
//{
// m_PCB.PName?=?strName;
//}
//
//void?Process::SetID(?int?id?)
//{
// m_PCB.PID?=?id;
//}
//
//PCB&?Process::GetPCB()
//{
// return?m_PCB;
//}

DWORD?WINAPI?ProcessSimulate(?LPVOID?lParam?)
{
CProcessDlg*?MyProcess?=?(CProcessDlg*)?lParam;
ASSERT(MyProcess?!=?NULL);
//HANDLE?hProcessFalse?=?NULL;
//HANDLE?hProcessTrue?=?NULL;
//HANDLE?hThreadFalse?=?NULL;
//HANDLE?hThreadTrue?=?NULL;
//hProcessFalse?=?GetCurrentProcess();
//hThreadFalse?=?GetCurrentThread();
//DuplicateHandle(?hProcessFalse?hThreadFalse?hProcessFalse?&hThreadTrue?0?FALSE?DUPLICATE_SAME_ACCESS?);

PCB*?m_PCB?=?MyProcess->m_ProcessSchedule.GetPCB(MyProcess->m_ProcessSchedule.currentrun);


while(m_PCB->RequestTime?>=?0)
{

m_PCB->RequestTime--;
if?(m_PCB->RequestTime?<=?0)
{
m_PCB->PState?=?Terminated;
return?0;
}
SuspendThread(MyProcess->m_ProcessSchedule.currentrun);
}

return?0;
}

bool?ProcessSchedule::Step()
{
PCB*?pcb?=?GetPCBHead();
int?runPID;
runPID?=?SortProcess();
Display(pcb);
Sleep(100);
if?(runPID?==?-1)
{
return?false;
}

runID?=?runPID;

HANDLE?handle?=?GetPCB(runPID)->pHandle;

currentrun?=?handle;
// ResumeThread(handle);

CreateThread(NULL0(LPTHREAD_START_ROUTINE)Waitthis0NULL);
// Wait(runPID);
Display(pcb);

return?true;
}

int?ProcessSchedule::SortProcess()
{
int?i?=?-1?j?=?-1;
PCB*?pcb?=?PCBHead;
while(pcb?!=?NULL)
{?
if?(i<(pcb->Priority))
{
if?(pcb->PState?==?Terminated)
{
pcb?=?pcb->next;
continue;
}
i?=?pcb->Priority;
if?(pcb->RequestTime?==?0)
{
continue;
}
j?=?pcb->PID;
}
if?(GetPCB(j)->RequestTime?==?0)
{
return?-1;
}
if?(pcb->RequestTime?!=?0)
{
pcb->PState?=Ready;
}
else
{
pcb->PState?=?Terminated;
}
pcb?=?pcb->next;
}
MaxPriority?=?i;


return?j;
}


int?ProcessSchedule::GetLenth()
{
return?iLenth;
}

PCB*?ProcessSchedule::GetPCB(?int?pid?)
{
PCB?*?pcb?=?PCBHead;
for?(int?i?=?pid;i>0;i--)
{
pcb?=?pcb->next;
}
return?pcb;
}

PCB*?ProcessSchedule::GetPCB(?HANDLE?handle?)
{
PCB?*?pcb?=?PCBHead;
while(pcb?!=?NULL)
{
if?(handle?==?pcb->pHandle)
{
break;
}
pcb?=?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????136192??2010-04-20?23:37??進程管理大作業(yè)\doc\設(shè)計方案報告.doc

?????文件??????48128??2010-04-20?23:35??進程管理大作業(yè)\exe\ProcessScheduleSimulator.exe

?????文件???????4531??2010-04-20?23:26??進程管理大作業(yè)\src\ProcessScheduleSimulator\MyProcess.cpp

?????文件???????1846??2010-04-20?23:07??進程管理大作業(yè)\src\ProcessScheduleSimulator\MyProcess.h

?????文件???????6516??2010-04-20?23:07??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessDlg.cpp

?????文件???????1149??2010-04-20?22:34??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessDlg.h

?????文件??????59800??2010-04-20?22:26??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.aps

?????文件???????1694??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.cpp

?????文件????????481??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.h

?????文件???????6056??2010-04-20?22:26??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.rc

?????文件???????5746??2010-04-20?22:51??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.vcproj

?????文件???????1413??2010-04-20?16:06??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.vcproj.416-0040.user.user

?????文件???????1427??2010-04-20?23:36??進程管理大作業(yè)\src\ProcessScheduleSimulator\ProcessScheduleSimulator.vcproj.ZSP-64042843A6F.zsp.user

?????文件???????2984??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\ReadMe.txt

?????文件??????21630??2003-07-24?09:52??進程管理大作業(yè)\src\ProcessScheduleSimulator\res\ProcessScheduleSimulator.ico

?????文件????????380??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\res\ProcessScheduleSimulator.rc2

?????文件???????1068??2010-04-20?22:26??進程管理大作業(yè)\src\ProcessScheduleSimulator\resource.h

?????文件????????155??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\stdafx.cpp

?????文件???????1796??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\stdafx.h

?????文件???????1030??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator\targetver.h

?????文件????????938??2010-04-19?01:13??進程管理大作業(yè)\src\ProcessScheduleSimulator.sln

?????文件??????23552??2010-04-20?23:36??進程管理大作業(yè)\src\ProcessScheduleSimulator.suo

?????目錄??????????0??2012-10-29?18:00??進程管理大作業(yè)\src\ProcessScheduleSimulator\res

?????目錄??????????0??2012-10-29?18:00??進程管理大作業(yè)\src\ProcessScheduleSimulator

?????目錄??????????0??2013-03-24?21:26??進程管理大作業(yè)\doc

?????目錄??????????0??2012-10-29?18:00??進程管理大作業(yè)\exe

?????目錄??????????0??2012-10-29?18:00??進程管理大作業(yè)\src

?????目錄??????????0??2012-10-29?18:00??進程管理大作業(yè)

-----------?---------??----------?-----??----

???????????????328512????????????????????28

............此處省略1個文件信息

評論

共有 條評論