![大學(xué)實(shí)驗(yàn)報(bào)告_第1頁](http://file4.renrendoc.com/view/fa81800e4e18a20811b09bf7416dc973/fa81800e4e18a20811b09bf7416dc9731.gif)
![大學(xué)實(shí)驗(yàn)報(bào)告_第2頁](http://file4.renrendoc.com/view/fa81800e4e18a20811b09bf7416dc973/fa81800e4e18a20811b09bf7416dc9732.gif)
![大學(xué)實(shí)驗(yàn)報(bào)告_第3頁](http://file4.renrendoc.com/view/fa81800e4e18a20811b09bf7416dc973/fa81800e4e18a20811b09bf7416dc9733.gif)
![大學(xué)實(shí)驗(yàn)報(bào)告_第4頁](http://file4.renrendoc.com/view/fa81800e4e18a20811b09bf7416dc973/fa81800e4e18a20811b09bf7416dc9734.gif)
![大學(xué)實(shí)驗(yàn)報(bào)告_第5頁](http://file4.renrendoc.com/view/fa81800e4e18a20811b09bf7416dc973/fa81800e4e18a20811b09bf7416dc9735.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程:學(xué)生姓名:學(xué)號(hào):專業(yè)班級(jí):2009年1目錄實(shí)驗(yàn)一編程實(shí)現(xiàn)銀行家安全算法………………3實(shí)驗(yàn)二存儲(chǔ)管理的模擬實(shí)現(xiàn)………13實(shí)驗(yàn)三磁盤調(diào)度算法的模擬實(shí)現(xiàn)…20 南昌大學(xué)實(shí)驗(yàn)報(bào)告(1)編程實(shí)現(xiàn)銀行家安全算法學(xué)生姓名:學(xué)號(hào):專業(yè)班級(jí):實(shí)驗(yàn)類型:□驗(yàn)證□綜合■設(shè)計(jì)□創(chuàng)新實(shí)驗(yàn)日期:11.5,11.12實(shí)驗(yàn)成績:一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)加強(qiáng)對(duì)銀行家安全算法的理解和掌握。二、實(shí)驗(yàn)內(nèi)容熟悉避免死鎖發(fā)生的方法,死鎖與安全序列的關(guān)系,編程實(shí)現(xiàn)銀行家算法,要求輸出進(jìn)程的安全序列。三、實(shí)驗(yàn)要求1、需寫出設(shè)計(jì)說明;2、設(shè)計(jì)實(shí)現(xiàn)代碼及說明3、運(yùn)行結(jié)果;四、主要實(shí)驗(yàn)步驟1、學(xué)習(xí)、理解好課本中銀行家算法的實(shí)例;2、根據(jù)課本中銀行家算法的描述,畫出程序流程圖;3、按照程序流程圖,用C語言編程并實(shí)現(xiàn)。4、上機(jī)運(yùn)行編寫的程序,檢驗(yàn)并且修正直至能夠得到正確的結(jié)果。輸出提示:輸入有誤,請(qǐng)從新輸入初始化函數(shù)Init()開始輸入進(jìn)程的數(shù)目m輸出資源的種類n輸入每個(gè)進(jìn)程最多所需的各資源數(shù)輸入每個(gè)進(jìn)程已分配的各資源數(shù)輸入各個(gè)資源現(xiàn)有的數(shù)目初始化函數(shù)Init()結(jié)束流程圖:輸出提示:輸入有誤,請(qǐng)從新輸入初始化函數(shù)Init()開始輸入進(jìn)程的數(shù)目m輸出資源的種類n輸入每個(gè)進(jìn)程最多所需的各資源數(shù)輸入每個(gè)進(jìn)程已分配的各資源數(shù)輸入各個(gè)資源現(xiàn)有的數(shù)目初始化函數(shù)Init()結(jié)束銀行家算法C語言程序:#include"iostream.h"#include"stdio.h"#define P_NUM 0X03#define MAX_available 0xAstructPCB{charstate;//狀態(tài)intrequest;//請(qǐng)求資源intmax;//最大需求量intneed;//需求量intallocation;//已經(jīng)分配量};voidrandomallocation(structPCBp[],intav);boolsafecheck(structPCBp[],intav);voidbankallocation(structPCBp[],intav);voidshow(structPCBp[],intav);voidmain(){structPCBprocess[P_NUM];//分配3個(gè)進(jìn)程空間inti;intj;intk;intavailable=MAX_available;//可利用資源向量; printf("\t\t銀行家調(diào)度算法\n");printf("初始狀態(tài)最大的可利用資源MAX_available為:\n",MAX_available);for(i=0;i<5;i++)//為每個(gè)進(jìn)程分配最大需求量{ printf("p%d->max:",i); scanf("%d",&process[i].max);if(process[i].max>MAX_available){printf("錯(cuò)誤!最大需求量超過了可利用資源總量,請(qǐng)重新輸入!\n");i--;}else{do{ printf("\np%d->allocation:\n",i); scanf("%d",&process[i].allocation);}while((process[i].allocation>process[i].max)||(available-process[i].allocation<0));available=available-process[i].allocation;process[i].need=process[i].max-process[i].allocation;process[i].request=0;process[i].state='R';}//else}//forshow(process,available);printf("\n1--隨機(jī)分配算法2--銀行家算法\n");do{printf("請(qǐng)選擇:\n"); scanf("%d",&i);}while(!((i==1)||(i==2)));if(i==1)randomallocation(process,available);else{do{if(safecheck(process,available)==false){printf("\n當(dāng)前為不安全狀態(tài)!\n");printf("1--退出2--重置");do{printf("\n請(qǐng)選擇:\n");cin>>k;}while((k!=1)&&(k!=2));if(k==2){available=MAX_available;for(j=0;j<5;j++){ printf("p%d->allocation:\n",j);//cin>>process[j].allocation; scanf("%d",&process[j].allocation);available=available-process[j].allocation;}//for(j=0;j<5;j++)}//if(k==2)}//if(safecheck(process,available)==false)else{k=0;break;}}while(k==2);//doif(k==1)return;elseif(k==0)bankallocation(process,available);}//else}//endmainvoidshow(structPCBp[],intav){inti;printf("\navailable=",av);printf("\nnumbermaxneedallocationstate\n");for(i=0;i<5;i++){printf("%d\t%d\t%d\t%d\t%d\n",i,p[i].max,p[i].need,p[i].allocation,p[i].state);}}voidrandomallocation(structPCBp[],intav){inti=0;intj=0;intw;inte;while(1){if(i==5)i=i-5;while(1){if(i==5)i=i-5;elseif(p[i].state=='R'){do{ printf("\np%d->request:\n",i); scanf("%d",&p[i].request);}while(p[i].request>(p[i].max-p[i].allocation));break;}elsei++;}if(p[i].request<=av){av=av-p[i].request;p[i].allocation=p[i].allocation+p[i].request;p[i].request=0;if(p[i].max==p[i].allocation){av=av+p[i].allocation;p[i].state='E';p[i].allocation=0;p[i].request=0;}j=0;while(j<5){if((p[j].request<=av)&&(p[j].state=='W')){av=av+p[j].allocation;p[j].request=0;p[j].state='E';p[j].allocation=0;}if((p[j].max<av+p[j].allocation)&&(p[j].state=='W')){p[j].state='R';}j++;}show(p,av);}else{p[i].state='W';show(p,av);}w=0;e=0;for(j=0;j<5;j++){if(p[j].state=='W')w++;elseif(p[j].state=='E')e++;elsebreak;}if(((w+e)==5)&&(w!=0)){printf("發(fā)生死鎖!\n");return;}elseif(e==5){printf("三個(gè)進(jìn)程順利執(zhí)行完!\n");return;}i++;}}voidbankallocation(structPCBp[],intav)//銀行家算法函數(shù){ intorder[5];intk; intj=0;intrequest;intf;inti;show(p,av);while(1){request=0;k=-1;do{if(k!=-1) printf("不是安全狀態(tài)!\n");av=av+request;p[k].allocation=p[k].allocation-request;do{ printf("p->NO.:"); scanf("%d",&k);}while(p[k].state!='R');do{ printf("p->request:"); scanf("%d",&request);}while(request>(p[k].need));if(request>av){p[k].request=request;p[k].state='W';break;}p[k].allocation=p[k].allocation+request;av=av-request;}while(safecheck(p,av)!=true);if(p[k].allocation==p[k].max){p[k].state='E';av=av+p[k].allocation;p[k].allocation=0;p[k].need=0; order[j]=k;}for(i=0;i<5;i++){if((p[i].state=='W')&&(p[i].request<=av)){if(safecheck(p,av)==true){p[i].allocation=p[i].request+p[i].allocation;av=av-p[i].request;p[i].request=0;p[i].state='R';if(p[i].max==p[i].allocation){p[i].state='E';av=av+p[i].allocation;p[i].allocation=0;}}else{printf("\n不是安全狀態(tài)!原請(qǐng)求資源量無效。\n");p[i].request=0;p[i].state='R';}}}show(p,av);f=0;for(i=0;i<5;i++){if(p[i].state=='E')f++;}if(f==5){printf("**********所有進(jìn)程順利執(zhí)行完!**********\n");printf("安全序列為:");for(i=0;i<5;i++) { inttemp; temp=order[i]; //cout<<"p"<<temp<<""; printf("p%d",temp); }//for printf("\n");break;}//if j++;}}boolsafecheck(structPCBp[],intav){boolfinish[5];intorder[5];inti;intj=0;intf=0;intk=0;intwork;inttemp;work=av;for(i=0;i<5;i++){order[i]=0;if(p[i].state=='E') {finish[i]=true;}else {finish[i]=false;}}//forwhile(k<5){for(i=0;i<5;i++){if((p[i].state=='W')&&(p[i].request<=work)&&(finish[i]==false)){temp=p[i].allocation;p[i].allocation=p[i].request+p[i].allocation;}//ifif(((p[i].allocation+work)>=p[i].max)&&(finish[i]==false)){work=p[i].allocation+work;finish[i]=true;order[j]=i;j++;if(p[i].state=='W') {p[i].allocation=temp;}}//if}//fork++;}//whilefor(i=0;i<5;i++){if(finish[i]==true) {f++;} }//for(i=0;i<5;i++)if(f==3) { returntrue; }elsereturnfalse;}五、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果六、實(shí)驗(yàn)體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議通過這次實(shí)驗(yàn)我對(duì)用銀行家算法實(shí)現(xiàn)資源分配有了一定的熟悉,對(duì)銀行家算法的步驟和相關(guān)數(shù)據(jù)結(jié)構(gòu)用法有了更深的理解,加深了解了死鎖產(chǎn)生的條件和原因。通過編程實(shí)現(xiàn)銀行家算法來預(yù)防死鎖,加深了對(duì)課堂上所授內(nèi)容的理解。在此實(shí)驗(yàn)中為了便于檢驗(yàn)算法正確與否,采取的數(shù)據(jù)為課本上所用到的數(shù)據(jù),在程序中也可以手動(dòng)輸入資源,并且所有數(shù)據(jù)都放在外部文件中,這樣就不用每次都需要輸入數(shù)據(jù),減少了麻煩,同時(shí)也提高了程序的安全性,也提高了自己再次使用文件、寫文件的能力。七、參考資料《計(jì)算機(jī)操作系統(tǒng)》 南昌大學(xué)實(shí)驗(yàn)報(bào)告(2)存儲(chǔ)管理的模擬實(shí)現(xiàn)學(xué)生姓名:學(xué)號(hào):實(shí)驗(yàn)類型:□驗(yàn)證□綜合■設(shè)計(jì)□創(chuàng)新實(shí)驗(yàn)日期:11.19,11.26,12.3實(shí)驗(yàn)成績:一、實(shí)驗(yàn)?zāi)康拇鎯?chǔ)管理的主要功能之一是合理地分配空間。請(qǐng)求頁式管理是一種常用的虛擬存儲(chǔ)管理技術(shù)。本實(shí)驗(yàn)的目的是通過請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法模擬設(shè)計(jì),了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請(qǐng)求頁式管理的頁面置換算法。二、實(shí)驗(yàn)內(nèi)容編程實(shí)現(xiàn)頁面置換算法,要求輸出頁面的置換過程,具體可以編程實(shí)現(xiàn)OPT、FIFO和LRU算法。三、實(shí)驗(yàn)要求1、需寫出設(shè)計(jì)說明;2、設(shè)計(jì)實(shí)現(xiàn)代碼及說明3、運(yùn)行結(jié)果;四、主要實(shí)驗(yàn)步驟1、學(xué)習(xí)、理解好課本中頁式存儲(chǔ)管理中頁面置換算法的實(shí)例;2、根據(jù)課本中頁式存儲(chǔ)管理中頁面置換算法的描述,畫出程序流程圖;3、按照程序流程圖,用C語言編程并實(shí)現(xiàn)。4、上機(jī)運(yùn)行編寫的程序,檢驗(yàn)并且修正直至能夠得到正確的結(jié)果。流程圖C語言程序:
main()
{
intcunchufangwenyemian[4];/*存儲(chǔ)訪問的頁面*/
intcunchujisuanguocheng[3][4];/*存儲(chǔ)計(jì)算過程;*/
intcunchushifoumingzhong[4];/*存儲(chǔ)是否被命中*/
intlie,hang;/*循環(huán)變量列,行*/
intshifoumingzhong;/*在前一列的位置,沒有則為0;*/
intwenmenyemiangeshu=4;/*訪問頁面的個(gè)數(shù)*/
/*第一步,初始化*/
/*輸入訪問的頁面,存到存儲(chǔ)訪問的頁面的數(shù)組中*/
for(lie=0;lie<4;lie++)
{
printf("\n請(qǐng)輸入第%d個(gè)頁面:",lie);
scanf("%d",&cunchufangwenyemian[lie]);
}
/*初始化計(jì)算過程數(shù)組*/
for(lie=0;lie<4;lie++)
{
for(hang=0;hang<3;hang++)
{
cunchujisuanguocheng[hang][lie]=-1;
}
}
/*初始化是否沒有命中的數(shù)組*/
for(lie=0;lie<4;lie++)
{
cunchushifoumingzhong[lie]=0;
}
/*第二步,計(jì)算*/
/*察看是否命中*/
for
(wenmenyemiangeshu=0;wenmenyemiangeshu<4;wenmenyemiangeshu++)
{
/*對(duì)于某一列進(jìn)行處理*/
lie=wenmenyemiangeshu;
if(lie==0)/*如果為第一列*/
{
cunchujisuanguocheng[0][lie]=cunchufangwenyemian[lie];
/*將頁面落下來*/
cunchushifoumingzhong[0]=0;
/*是否命中為0,不命中*/
}else
{/*如果不為第一列*/
shifoumingzhong=0;
/*假設(shè)沒命中*/
for(hang=0;hang<3;hang++)
{
if(
cunchujisuanguocheng[hang][lie-1]==cunchufangwenyemian[lie])
{
shifoumingzhong=hang+1;/*如果相同,則是否命中為命中的位置*/
}
}
cunchushifoumingzhong[lie]=shifoumingzhong;/*存儲(chǔ)命中位置*/
}
if(lie!=0)
{
if((shifoumingzhong!=0))/*是否命中*/
{/*如果命中,則不變*/
for(hang=0;hang<3;hang++)
{
cunchujisuanguocheng[hang][lie]=cunchujisuanguocheng[hang][lie-1];/*將上一列復(fù)制過來*/
}
}else
{/*如果沒有命中,則向下移一位,新的進(jìn)來*/
for(hang=2;hang>0;hang--)
{
cunchujisuanguocheng[hang][lie]=cunchujisuanguocheng[hang-1][lie-1];/*將上一列逐個(gè)下移復(fù)制過來*/
}
cunchujisuanguocheng[0][lie]=cunchufangwenyemian[lie];/*最上面的等于新進(jìn)來的*/
}
}
}
/*第三步,輸出*//*輸出訪問序列*/
for(lie=0;lie<4;lie++)
{
printf("%d
",cunchufangwenyemian[lie]);
}
printf("\n");/*輸出計(jì)算過程*/
for(hang=0;hang<3;hang++)
{
for(lie=0;lie<4;lie++)
{
printf("%d
",cunchujisuanguocheng[hang][lie]);
}
printf("\n");
}/*輸出是否命中*/
for(lie=0;lie<4;lie++)
{
printf("%d
",cunchushifoumingzhong[lie]);
}
}五、實(shí)驗(yàn)數(shù)據(jù)及處理結(jié)果六、實(shí)驗(yàn)體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議通過這次實(shí)驗(yàn),對(duì)請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法有了一定的熟悉,對(duì)通過請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法模擬設(shè)計(jì)有了更深的了解,對(duì)虛擬存儲(chǔ)技術(shù)的特點(diǎn),請(qǐng)求頁式管理的頁面置換算法等有了更加深刻的了解。加深了對(duì)課堂上所講授的OPT、FIFO和LRU三種算法的理解。七、參考資料《計(jì)算機(jī)操作系統(tǒng)》南昌大學(xué)實(shí)驗(yàn)報(bào)告(3)磁盤調(diào)度算法的模擬實(shí)現(xiàn)學(xué)生姓名:學(xué)號(hào):專業(yè)班級(jí):實(shí)驗(yàn)類型:□驗(yàn)證□綜合■設(shè)計(jì)□創(chuàng)新實(shí)驗(yàn)日期:12.10,12.17,12.24實(shí)驗(yàn)成績:一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)加強(qiáng)對(duì)磁盤調(diào)度算法的理解和掌握。二、實(shí)驗(yàn)內(nèi)容編寫程序?qū)崿F(xiàn)磁盤調(diào)度算法,具體可以編寫程序?qū)崿F(xiàn)FCFS算法、SSTF算法、SCAN算法和CSCAN算法之二。三、實(shí)驗(yàn)要求1、需寫出設(shè)計(jì)說明;2、設(shè)計(jì)實(shí)現(xiàn)代碼及說明3、運(yùn)行結(jié)果;四、主要實(shí)驗(yàn)步驟1、學(xué)習(xí)、理解好課本中FCFS算法、SSTF算法、SCAN算法和CSCAN算法的實(shí)例;2、根據(jù)課本中FCFS算法、SSTF算法、SCAN算法和CSCAN算法的描述,畫出程序流程圖;3、按照程序流程圖,用C語言編程并實(shí)現(xiàn)。4、上機(jī)運(yùn)行編寫的程序,檢驗(yàn)并且修正直至能夠得到正確的結(jié)果。流程圖C語言程序://
t1.cpp
:
定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
#include
"stdafx.h"
#include"math.h"
#include"stdlib.h"
#include"string.h"
struct
Head
{
int
nPosition;
bool
bVisited;
};
void
Visit(struct
Head
*pHead)
{
printf("visite
cy:%d\n",pHead->nPosition);
pHead->bVisited=true;
}
int
ReadInputKeyboard(struct
Head
*pHead,int
*pCurrentPosition,int
nMaxNumber)
{
int
i;
printf("please
input
Current
position:");
scanf("%d",pCurrentPosition);
printf("please
input
will
visit
position:");
for(i=0;i<nMaxNumber;i++)
{
scanf("%d",&pHead[i].nPosition);
pHead[i].bVisited=false;
if(pHead[i].nPosition<0)
break;
}
return
i;
}
int
ReadInputFile(struct
Head
*pHead,int
*pCurrentPosition,int
nMaxNumber)
{
int
i;
char
szFileName[256],*q,*p,szTemp[20];
printf("please
input
filename:");
scanf("%s",szFileName);
FILE
*pFile=fopen(szFileName,"r");
if(pFile==NULL)
{
printf("open
file
%s
error",szFileName);
return
-1;
}
for(i=0;!feof(pFile)
&&i<nMaxNumber;)
{
p=szFileName;
fgets(p,256,pFile);
while(q=strchr(p,','))
{
memset(szTemp,0,sizeof(szTemp)*sizeof(char));
strncpy(szTemp,p,q-p);
p=q+1;
if(i==0)
*pCurrentPosition=atoi(szTemp);
else
{
pHead[i-1].nPosition=atoi(szTemp);
pHead[i-1].bVisited=false;
}
i++;
}
memset(szTemp,0,sizeof(szTemp)*sizeof(char));
pHead[i-1].nPosition=atoi(p);
pHead[i-1].bVisited=false;
//i++;
}
fclose(pFile);
return
i;
}
int
FifoVisit(int
nCurrentPosition,struct
Head
*pHead,int
nNumber)
{
//FCFS算法
int
nHaveVisited=0;
int
nMoveDistance=0;
int
i;
while(nHaveVisited<nNumber)
{
for(i=0;i<nNumber;i++)
{
if(pHead[i].bVisited)
continue;
Visit(&pHead[i]);
nHaveVisited++;
nMoveDistance+=abs(nCurrentPosition-pHead[i].nPosition);
nCurrentPosition=pHead[i].nPosition;
}
}
printf("the
sum
of
move
distance:%d\n",nMoveDistance);
return
nMoveDistance;
}
int
SsfoVisit(int
nCurrentPosition,struct
Head
*pHead,int
nNumber)
{
//
SSTF算法
int
nHaveVisited=0;
int
nMoveDistance=0;
int
nMinDistance=0;
int
nMinIndex=0;
int
i;
while(nHaveVisited<nNumber)
{
nMinDistance=0xffff;
nMinIndex=0;
//找最小值
for(i=0;i<nNumber;i++)
{
if(pHead[i].bVisited)
continue;
if(nMinDistance>abs(pHead[i].nPosition-nCurrentPosition))
{
nMinDistance=abs(pHead[i].nPosition-nCurrentPosition);
nMinIndex=i;
}
}
//訪問
Visit(&pHead[nMinIndex]);
nHaveVisited++;
nMoveDistance+=nMinDistance;
nCurrentPosition=pHead[nMinIndex].nPosition;
}
printf("the
sum
of
move
distance:%d\n",nMoveDistance);
return
nMoveDistance;
}
int
DtVisit(int
nCurrentPosition,bool
bOut,struct
Head
*pHead,int
nNumber)
{
//SCAN算法
int
nHaveVisited=0;
int
nMoveDistance=0;
int
nMinDistance=0;
int
nMinIndex=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)資源整合與秋季應(yīng)用計(jì)劃
- 2025年貴金屬靶材項(xiàng)目發(fā)展計(jì)劃
- 2025年面板封接玻璃合作協(xié)議書
- 2025年工業(yè)清洗清理設(shè)備:工業(yè)吸塵設(shè)備合作協(xié)議書
- 2025年電商大數(shù)據(jù)項(xiàng)目發(fā)展計(jì)劃
- 強(qiáng)化互動(dòng)反饋的按鈕動(dòng)畫設(shè)計(jì)
- 小學(xué)生勵(lì)志成長故事讀后感
- 基因檢測技術(shù)研發(fā)合同
- 2025年制動(dòng)氣室項(xiàng)目發(fā)展計(jì)劃
- 智慧城市規(guī)劃與建設(shè)協(xié)議
- 2025年度民政局離婚協(xié)議書范本模板官方修訂2篇
- 《百達(dá)翡麗名表介紹》課件
- 2025版《VOCs廢氣處理設(shè)施安全檢查表》(全)
- JJF(京) 92-2022 激光標(biāo)線儀校準(zhǔn)規(guī)范
- 整形醫(yī)院客戶管理培訓(xùn)
- 七年級(jí)語文下冊(cè)全冊(cè)完整課件(部編版)
- 普惠金融政策解讀
- 2024年疾控中心支部工作計(jì)劃范本
- (投資管理)對(duì)外投資合作國別(地區(qū))指南
- 砌筑工的培訓(xùn)
- 清洗衛(wèi)生間(課件)三年級(jí)下冊(cè)勞動(dòng)人民版
評(píng)論
0/150
提交評(píng)論