




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗八 SPOOLING技術(shù)實驗?zāi)康模篠POOLING假脫機輸入/輸出技術(shù)廣泛應(yīng)用于各種計算機的I/O。該技術(shù)通過采用預(yù)輸入和緩輸出的方法,使用共享設(shè)備的一部分空間來模擬獨占設(shè)備,以提高獨占設(shè)備的利用效率。預(yù)習內(nèi)容:閱讀教材計算機操作系統(tǒng)第五章,SPOOLING技術(shù)的相關(guān)概念和原理。實驗內(nèi)容:1)設(shè)計一個實現(xiàn)SPOOLING技術(shù)的進程。即設(shè)計一個SPOOLING輸出進程和兩個請求輸出的用戶進程,以及一個SPOOLING輸出服務(wù)程序。當請求輸出的用戶進程希望輸出一系列信息時,調(diào)用輸出服務(wù)程序,由輸出服務(wù)程序?qū)⒃撓⑺腿胼敵鼍4龅揭粋€輸出結(jié)束標志時,表示進程該次的輸出文件輸出結(jié)束。之后,申請一
2、個輸出請求塊(用來記錄請求輸出的用戶進程的名字、信息在輸出井中的位置、要輸出信息的長度等),等待SPOOLING進程進行輸出。SPOOLING輸出進程工作時,根據(jù)請求塊記錄的各進程要輸出的信息,將其實際輸出到打印機或顯示器。這里,SPOOLING進程和請求輸出的用戶進程可以并發(fā)執(zhí)行。2)設(shè)計進程調(diào)度算法。進程調(diào)度采用隨機算法。與進程輸出信息的隨機性一致。兩個請求輸出的用戶進程的調(diào)度概率各為45%,SPOOLING輸出進程為10%,由隨機數(shù)發(fā)生器產(chǎn)生的隨機數(shù)來模擬決定。進程基本狀態(tài)3種。執(zhí)行,等待和結(jié)束。等待又分為等待1,等待2和等待3。狀態(tài)變化條件:(1)進程執(zhí)行完成,置為“結(jié)束”態(tài);(2)服
3、務(wù)程序在將輸出信息送輸出井時,如發(fā)現(xiàn)輸出井已滿,將調(diào)用進程置為“等待1”;(3)SPOOLING進程在進行輸出時,若輸出井空,則進入“等待2”;(4)SPOOLING進程輸出一個信息塊后,應(yīng)立即釋放該信息塊所占的輸出井空間,并將正在等待輸出的進程置為“執(zhí)行”;(5)服務(wù)程序在輸出信息到輸出井并形成輸出請求信息塊后,若SPOOLING進程處于等待態(tài),則將其置為“執(zhí)行”;(6)當用戶進程申請請求輸出塊時,若沒有可用請求塊時,調(diào)用進程進入“等待3”。實驗提示:1.數(shù)據(jù)結(jié)構(gòu):1)進程PCB:struct PCBint id; /進程標識數(shù) Int status; /進程狀態(tài) Int count; /要
4、輸出的文件數(shù) Int x; /進程輸出時的臨時變量PCB3;其中status=0,執(zhí)行;1為等待1,表示輸出井滿,請求輸出的用戶進程等待;2為等待2,表示請求輸出井空,SPOOLING輸出進程等待;3為等待3,表示請求輸出井滿,請求輸出的用戶進程等待;4為結(jié)束,進程執(zhí)行完成。2)請求輸出塊reqblockStruct int reqname; /請求進程名 Int length; /本次輸出信息長度 Int addr; /信息在輸出井中的首地址reqblock10;3)輸出井buffer:SPOOLING系統(tǒng)為每個請求輸出的進程在輸出井中分別開辟一個區(qū)。本實驗可設(shè)計一個二維數(shù)組(int buf
5、fer2100)作為輸出井。每個進程在輸出井最多可占用100個位置。為兩個請求輸出的用戶進程設(shè)計兩個輸出井。每個井可存放100個信息。即buffer2100。為此,設(shè)計兩個計數(shù)器,使用數(shù)組C12,分別表示兩個用戶進程可使用的輸出井的空間。其初值C10,c11都為100。用C222二維指針數(shù)組表示輸出井使用情況。C200代表buffer0的第一個可用空緩沖指針,C201代表buffer0的第一個滿緩沖指針;C210代表buffer1的第一個可用空緩沖指針,C211代表buffer1的第一個滿緩沖指針。每個用戶進程請求輸出文件的個數(shù)由用戶從鍵盤輸入而定。當用戶進程將其所有文件輸出完時,終止運行。用
6、戶進程簡單設(shè)計成:每運行一次,隨機輸出數(shù)字09之間的一個數(shù),且0作為文件結(jié)束標志。當輸出值為0,就形成一個請求信息塊,填入請求輸出信息塊reqblock結(jié)構(gòu)中。這個結(jié)構(gòu)也有一個計數(shù)器C3,表示當前系統(tǒng)剩余的請求輸出信息塊個數(shù),初值為10。另設(shè)兩個指針Ptr1和Ptr2表示請求輸出塊使用情況。Ptr1是要輸出的第一個請求輸出塊指針,初值0;Ptr2是空閑請求輸出塊指針,初值0。兩指針按模10變化,即把請求輸出塊結(jié)構(gòu)數(shù)組看成一個環(huán)形數(shù)組。根據(jù)Ptr1和Ptr2的變化,確定請求輸出塊的使用情況。主程序包括(或調(diào)用)調(diào)度程序。調(diào)度程序包括一個隨機數(shù)函數(shù),以該函數(shù)值為依據(jù),完成對個數(shù)據(jù)結(jié)構(gòu)的初始化。2.
7、流程圖:SPOOLING輸出模擬系統(tǒng)主程序流程:YN 開始對各進程的PCB、輸出請求塊、輸出井初始化生成01隨機數(shù)X判斷X的值及進程的狀態(tài)進程都結(jié)束了嗎?執(zhí)行請求輸出用戶進程(R=1)執(zhí)行請求輸出用戶進程(R=2)結(jié)束返回執(zhí)行SPOOLIN G進程(R=3)X<=0.45,且進程1為執(zhí)行態(tài)0.45<X<=0.9,且進程2為執(zhí)行態(tài)X>0.9,且SPOOLING進程為執(zhí)行態(tài)輸出請求服務(wù)的流程圖:YYYYN 開始調(diào)用進程PCBi的隨機輸出量送PCBi.xC1i=C1i-1進程的輸出信息PCBi.x送bufferiC2i0調(diào)用進程的一個文件,輸出結(jié)束了嗎?(PCBi.x=0?)
8、請求輸出的進程等待,1送PCBi.status修改空緩沖區(qū)指針C2i0=C2i0+1請求輸出的進程等待,3送PCBi.status輸出井滿(C10=0)嗎?還有空閑請求塊嗎?將文件在輸出井的位置和長度填入空閑請求塊,將進程名i填入請求塊修改空閑請求塊指針空閑請求塊數(shù)減一喚醒SPOOLING進程SPOOLING進程是等待態(tài)嗎?進程所有輸出文件全部輸出完?進程i運行結(jié)束轉(zhuǎn)進程調(diào)度轉(zhuǎn)進程調(diào)度Y轉(zhuǎn)進程調(diào)度NNNNSPOOLING輸出進程流程圖:NNYYYN 開始按該請求輸出信息塊reqblock的指針ptr1將輸出井中的一個文件的內(nèi)容輸出SPOOLING進程等待釋放相應(yīng)輸出井,即修改相應(yīng)的輸出井計數(shù):按請求輸出塊中進程號修改C1數(shù)組和C2數(shù)組有等待輸出井
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高級育嬰師的試題及答案
- 強力噴砂機操作規(guī)程
- 2025年有關(guān)營改增的試題及答案
- 2025年有趣的心臟測試題及答案
- 美容師初級練習測試題附答案
- 鉗工學習資料復習測試有答案
- 2025年鄉(xiāng)醫(yī)考試題及答案
- 2025年神經(jīng)醫(yī)生面試題及答案
- 2025年電商攝影面試題及答案
- 2025年口腔科學考試題及答案
- NB/T 11265-2023再制造液壓支架技術(shù)要求
- 第4章:理賠額和理賠次數(shù)的分布
- 2023高效制冷機房系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 配電室土建施工方案
- 2021中職 手工制茶 賽賽題(賽項賽題)
- 綜合體弱電智能化系統(tǒng)介紹課件
- 醫(yī)療技術(shù)臨床應(yīng)用動態(tài)評估制度
- 2023年四川成都農(nóng)業(yè)科技中心管理人員招聘1人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 護士奮斗從n1晉升n2個人總結(jié)大全
- 《概率論與數(shù)理統(tǒng)計》課件第八章 假設(shè)檢驗
- 2023年濟南工程職業(yè)技術(shù)學院單招職業(yè)技能考試題庫及答案解析word版
評論
0/150
提交評論