鏈接指針:指出下一個(gè)到達(dá)進(jìn)程的進(jìn)程控制塊首地址。按照進(jìn)程到達(dá)的順序排隊(duì)。系統(tǒng)設(shè)置一個(gè)隊(duì)頭和隊(duì)尾指針分別指向第一個(gè)和最后一個(gè)進(jìn)程。新生成的進(jìn)程放隊(duì)尾。
估計(jì)運(yùn)行時(shí)間、到達(dá)時(shí)間以及進(jìn)程狀態(tài)一第一題中相同。
(2)為每個(gè)進(jìn)程任意確定一個(gè)要求運(yùn)行時(shí)間和到達(dá)時(shí)間。
(3)按照進(jìn)程到達(dá)的先后順序排成一個(gè)循環(huán)隊(duì)列。再設(shè)一個(gè)隊(duì)首指針指向第一個(gè)到達(dá)進(jìn)程的首址。
(4)執(zhí)行處理機(jī)調(diào)度時(shí),開始選擇隊(duì)首的第一個(gè)進(jìn)程運(yùn)行。另外再設(shè)一個(gè)當(dāng)前運(yùn)行進(jìn)程指針,指向當(dāng)前正在運(yùn)行的進(jìn)程。
(5)由于本實(shí)驗(yàn)是模擬實(shí)驗(yàn),所以對被選中進(jìn)程并不實(shí)際啟動(dòng)運(yùn)行,而只是執(zhí)行:估計(jì)運(yùn)行時(shí)間減1、輸出當(dāng)前運(yùn)行進(jìn)程的名字。用這兩個(gè)操作來模擬進(jìn)程的一次運(yùn)行。
(6)進(jìn)程運(yùn)行一次后,以后的調(diào)度則將當(dāng)前指針依次下移一個(gè)位置,指向下一個(gè)進(jìn)程,即調(diào)整當(dāng)前運(yùn)行指針指向該進(jìn)程的鏈接指針?biāo)高M(jìn)程,以指示應(yīng)運(yùn)行進(jìn)程。同時(shí)還應(yīng)判斷該進(jìn)程的剩余運(yùn)行時(shí)間是否為零。若不為零,則等待下一輪的運(yùn)行;若該進(jìn)程的剩余運(yùn)行時(shí)間為零,則將該進(jìn)程的狀態(tài)置為完成態(tài)C,并退出循環(huán)隊(duì)列。
(7)若就緒隊(duì)列不為空,則重復(fù)上述的步驟(5)和(6),直到所有進(jìn)程都運(yùn)行完為止。
標(biāo)簽:
進(jìn)程
指針
地址
分
上傳時(shí)間:
2013-12-19
上傳用戶:ls530720646