




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)實(shí)驗(yàn)實(shí)驗(yàn)六 設(shè)備管理學(xué)號(hào) 1115102002 姓名 蔡鳳武 班級(jí) 電子A班 華僑大學(xué)電子工程系實(shí)驗(yàn)?zāi)康?1、 理解設(shè)備管理的概念和任務(wù)。2、 掌握獨(dú)占設(shè)備的分配、回收等主要算法的原理并編程實(shí)現(xiàn)。 實(shí)驗(yàn)內(nèi)容與基本要求 在Windows系統(tǒng)中,編寫程序?qū)崿F(xiàn)對(duì)獨(dú)占設(shè)備的分配和回收的模擬,該程序中包括:建立設(shè)備類表和設(shè)備表、分配設(shè)備和回收設(shè)備的函數(shù)。實(shí)驗(yàn)報(bào)告內(nèi)容 1、 獨(dú)占設(shè)備的分配、回收等主要算法的原理。2、 程序流程圖。3、 程序及注釋。4、 運(yùn)行結(jié)果以及結(jié)論。獨(dú)占設(shè)備的主要算法的原理為了提高操作系統(tǒng)的可適應(yīng)性和擴(kuò)展性,現(xiàn)代操作系統(tǒng)中都毫無(wú)例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性,又叫做設(shè)備無(wú)關(guān)性。設(shè)備獨(dú)
2、立性的含義是:應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。設(shè)備分配:1)當(dāng)進(jìn)程申請(qǐng)某類設(shè)備時(shí),系統(tǒng)先查“設(shè)備類表”。2) 如果該類設(shè)備的現(xiàn)存臺(tái)數(shù)可以滿足申請(qǐng)要求,則從該類設(shè)備的“設(shè)備表”始址開始依次查該類設(shè)備在設(shè)備表中的登記項(xiàng),找出“未分配”的設(shè)備分配給進(jìn)程。3)分配后要修改設(shè)備類表中的現(xiàn)存臺(tái)數(shù),把分配給進(jìn)程的設(shè)備標(biāo)志改為“已分配”且填上占用設(shè)備的進(jìn)程名。4)然后,把設(shè)備的絕對(duì)號(hào)與相對(duì)號(hào)的對(duì)應(yīng)關(guān)系通知用戶,以便用戶在分配到的設(shè)備上裝上存儲(chǔ)介質(zhì)。設(shè)備回收:作業(yè)運(yùn)行完成,釋放設(shè)備時(shí),系統(tǒng)首先要查看設(shè)備表,比較每一項(xiàng),找到占用作業(yè)名與運(yùn)行完作業(yè)的作業(yè)名相同的欄目,將這一欄的“已/未分配”設(shè)置為“未分配”,然后
3、將設(shè)備表中對(duì)應(yīng)設(shè)備類的可使用數(shù)量增加1.初始化設(shè)備類表設(shè)備類設(shè)備數(shù)量當(dāng)前空閑設(shè)備數(shù)設(shè)備起始位置Input330printer223disk445tape119開始流程圖初始化設(shè)備口和需要用到的變量功能號(hào)表 0-33210退出分別輸出所有端口的情況,設(shè)備類型、設(shè)備總量、空閑設(shè)備、設(shè)備起始位置輸入作業(yè)名和作業(yè)歸還的設(shè)備類請(qǐng)輸入作業(yè)名、作業(yè)所需設(shè)備類和設(shè)備相對(duì)號(hào)設(shè)備空閑量、被占用和是否損壞等情況被顯示結(jié)束源程序#include<stdio.h>#include<string.h>#include<stdlib.h>#define false 0 #define t
4、rue 1 #define n 4 #define m 10 struct char type10; /*設(shè)備類名*/ int count; /*擁有設(shè)備臺(tái)數(shù)*/ int remain; /*現(xiàn)存的可用設(shè)備臺(tái)數(shù)*/ int address; /*該類設(shè)備在設(shè)備表中的起始地址*/ equiptypen; /*設(shè)備類表定義,假定系統(tǒng)有n個(gè)設(shè)備類型*/ struct int number; /*設(shè)備絕對(duì)號(hào)*/ int status; /*設(shè)備好壞狀態(tài)*/ int remain; /*設(shè)備是否已分配*/ char jobname4;/*占有設(shè)備的作業(yè)名*/ int lnumber; /*設(shè)備相對(duì)號(hào)*/
5、 equipmentm; /*設(shè)備表定義,假定系統(tǒng)有m個(gè)設(shè)備*/ /allocate(J,type,mm) /char *J,*type; /int mm; int allocate(char *J,char *type,int mm) int i,t,j; /*查詢?cè)擃愒O(shè)備*/ i=0; while(i<n&&strcmp(equiptypei.type,type)!=0) i+; if(i>=n)/*沒有找到該類設(shè)備*/ printf("無(wú)該類設(shè)備,設(shè)備分配失敗"); return(false); if(equiptypei.remain&l
6、t;1)/*所需設(shè)備現(xiàn)存可用臺(tái)數(shù)不足*/ printf("該類設(shè)備不足,分配失敗"); return(false); t=equiptypei.address;/* 取出該類設(shè)備在設(shè)備表中的起始地址*/ while(!(equipmentt.status=1 && equipmentt.remain=0) /!(equipmentt.status=1) | !(equipmentt.remain=0)表示設(shè)備不是好的或者已分配t+; /*填寫作業(yè)名、相對(duì)號(hào),狀態(tài)改為已分配*/ equiptypei.remain-; equipmentt.remain=1;
7、strcpy(equipmentt.jobname,J); equipmentt.lnumber=mm; return(true);/*設(shè)備分配函數(shù)結(jié)束*/ /reclaim (J,type) /char J,type; int reclaim (char *J,char *type) int i,t,j,k,nn; i=0; while(i<n && strcmp(equiptypei.type,type)!=0) i+; if(i>=n)/*沒有找到該類設(shè)備*/ printf("無(wú)該類設(shè)備,設(shè)備回收失敗"); return(false); t
8、=equiptypei.address; /*取出該類設(shè)備在設(shè)備表中的起始地址*/ j=equiptypei.count; /*取出該類設(shè)備的數(shù)量*/ k=0; nn=t+j; for(;t<nn;t+) if(strcmp(equipmentt.jobname,J)=0&&equipmentt.remain=1) equipmentt.remain=0; k+; equiptypei.remain= equiptypei.remain+k; if(k=0) printf("該作業(yè)沒有使用該類設(shè)備n"); return (true);/*設(shè)備回收函數(shù)結(jié)
9、束*/ void main( ) char J4; int i,mm,a; char type10; /*設(shè)備類表初始化:*/ strcpy(equiptype0.type,"input");/*輸入機(jī)*/ equiptype0.count=2; equiptype0.remain=2; equiptype0.address=0; strcpy(equiptype1.type,"printer");/*打印機(jī) */ equiptype1.count=3; equiptype1.remain=3; equiptype1.address=2; strcpy(
10、equiptype2.type,"disk");/*磁盤機(jī)*/ equiptype2.count=4; equiptype2.remain=4; equiptype2.address=5; strcpy(equiptype3.type,"tape");/*磁帶機(jī)*/ equiptype3.count=1; equiptype3.remain=1; equiptype3.address=9; /*設(shè)備表初始化:*/ for(i=0;i<10;i+) equipmenti.number=i; equipmenti.status=1; equipment
11、i.remain=0; while(1) printf("n0退出,1分配,2回收,3顯示"); printf("n選擇功能項(xiàng)(03):"); scanf("%d",&a); switch(a) case 0 : /*a=0程序結(jié)束*/ exit(0); case 1 : /*a=1分配設(shè)備*/ printf("輸入作業(yè)名、作業(yè)所需設(shè)備類和設(shè)備相對(duì)號(hào)"); scanf("%s%s%d",J,type,&mm); allocate(J,type,mm);/*分配設(shè)備*/ break
12、; case 2: /*a=2回收設(shè)備*/ printf("輸入作業(yè)名和作業(yè)歸還的設(shè)備類"); scanf("%s%s",J,type); reclaim(J,type);/*回收設(shè)備*/ break; case 3: /*a=3 輸出設(shè)備類表和設(shè)備表的內(nèi)容*/ printf("n輸出設(shè)備類表n"); printf(" 設(shè)備類型 設(shè)備總量 空閑好設(shè)備n"); for(i=0;i<n;i+) printf("%9s%8d%9dn",equiptypei.type,equiptypei.count, equiptypei.remain); printf("輸出設(shè)備表:n"); printf("絕對(duì)號(hào) 好/壞 已/未分配 占用作業(yè)名 相對(duì)號(hào)n"); for(i=0;i<m;i+) printf("%3d%8d%9d%12s%8dn",equipmenti.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)網(wǎng)吧專用電腦項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國(guó)即食海蜇加工項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國(guó)雞翅項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國(guó)三葉漆屬項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國(guó)B超機(jī)項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國(guó)經(jīng)濟(jì)藻項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 2025建筑工程專業(yè)分包勞務(wù)分包合同范本
- 湖北省農(nóng)業(yè)項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 生活服務(wù)平臺(tái)個(gè)性化定制合同
- 安全禁區(qū)測(cè)試題目及答案
- 北京市海淀區(qū)2024-2025學(xué)年七年級(jí)下學(xué)期期中地理試題(解析版)
- 2025年中考押題預(yù)測(cè)卷:生物(福建卷01)(考試版)
- 人工智能提示詞工程師試題含答案
- 2025-2030中國(guó)風(fēng)能風(fēng)電行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資前景研究報(bào)告
- 人力資源管理2025年考試試卷及答案
- 安徽省合肥市廬江縣2023-2024學(xué)年七年級(jí)下學(xué)期6月期末數(shù)學(xué)試題
- DB31/T 920-2015產(chǎn)業(yè)園區(qū)服務(wù)規(guī)范
- 2025年大學(xué)輔導(dǎo)員招聘考試題庫(kù):學(xué)生綜合素質(zhì)評(píng)價(jià)體系與輔導(dǎo)員思想政治教育試題
- 2025年高純活性氧化鎂項(xiàng)目市場(chǎng)調(diào)查研究報(bào)告
- 個(gè)體商合伙協(xié)議書
- 商場(chǎng)消防設(shè)施管理與維護(hù)措施
評(píng)論
0/150
提交評(píng)論