版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗七 存儲管理-常用頁面置換算法模擬實驗實驗?zāi)康耐ㄟ^模擬實現(xiàn)請求頁式存儲管理的幾種基本頁面置換算法,了解虛擬存儲技術(shù)的特點,掌握虛擬存儲請求頁式存儲管理中幾種基本頁面置換算法的基本思想和實現(xiàn)過程,并比較它們的效率。實驗內(nèi)容設(shè)計一個虛擬存儲區(qū)和內(nèi)存工作區(qū),并使用下述算法計算訪問命中率。1、最佳淘汰算法(opt)2、先進先出的算法(fifo)3、最近最久未使用算法(lru)4、最不經(jīng)常使用算法(lfu)5、最近未使用算法(nur)命中率頁面失效次數(shù)頁地址流長度實驗準(zhǔn)備本實驗的程序設(shè)計基本上按照實驗內(nèi)容進行。即首先用srand( )和rand( )函數(shù)定義和產(chǎn)生指令序列,然后將指令序列變換成相應(yīng)的
2、頁地址流,并針對不同的算法計算出相應(yīng)的命中率。(1)通過隨機數(shù)產(chǎn)生一個指令序列,共320條指令。指令的地址按下述原則生成:a:50%的指令是順序執(zhí)行的b:25%的指令是均勻分布在前地址部分c:25%的指令是均勻分布在后地址部分具體的實施方法是:a:在0,319的指令地址之間隨機選取一起點mb:順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令c:在前地址0,m+1中隨機選取一條指令并執(zhí)行,該指令的地址為md:順序執(zhí)行一條指令,其地址為m+1e:在后地址m+2,319中隨機選取一條指令并執(zhí)行f:重復(fù)步驟a-e,直到320次指令(2)將指令序列變換為頁地址流設(shè):頁面大小為1k;用戶內(nèi)存容量4頁到32頁;用
3、戶虛存容量為32k。在用戶虛存中,按每k存放10條指令排列虛存地址,即320條指令在虛存中的存放方式為:第 0 條-第 9 條指令為第0頁(對應(yīng)虛存地址為0,9)第10條-第19條指令為第1頁(對應(yīng)虛存地址為10,19)第310條-第319條指令為第31頁(對應(yīng)虛存地址為310,319)按以上方式,用戶指令可組成32頁。實驗指導(dǎo)一、虛擬存儲系統(tǒng)unix中,為了提高內(nèi)存利用率,提供了內(nèi)外存進程對換機制;內(nèi)存空間的分配和回收均以頁為單位進行;一個進程只需將其一部分(段或頁)調(diào)入內(nèi)存便可運行;還支持請求調(diào)頁的存儲管理方式。當(dāng)進程在運行中需要訪問某部分程序和數(shù)據(jù)時,發(fā)現(xiàn)其所在頁面不在內(nèi)存,就立即提出請
4、求(向cpu發(fā)出缺中斷),由系統(tǒng)將其所需頁面調(diào)入內(nèi)存。這種頁面調(diào)入方式叫請求調(diào)頁。為實現(xiàn)請求調(diào)頁,核心配置了四種數(shù)據(jù)結(jié)構(gòu):頁表、頁框號、訪問位、修改位、有效位、保護位等。二、頁面置換算法當(dāng)cpu接收到缺頁中斷信號,中斷處理程序先保存現(xiàn)場,分析中斷原因,轉(zhuǎn)入缺頁中斷處理程序。該程序通過查找頁表,得到該頁所在外存的物理塊號。如果此時內(nèi)存未滿,能容納新頁,則啟動磁盤i/o將所缺之頁調(diào)入內(nèi)存,然后修改頁表。如果內(nèi)存已滿,則須按某種置換算法從內(nèi)存中選出一頁準(zhǔn)備換出,是否重新寫盤由頁表的修改位決定,然后將缺頁調(diào)入,修改頁表。利用修改后的頁表,去形成所要訪問數(shù)據(jù)的物理地址,再去訪問內(nèi)存數(shù)據(jù)。整個頁面的調(diào)入過
5、程對用戶是透明的。常用的頁面置換算法有1、最佳置換算法(optimal)2、先進先出法(fisrt in first out)3、最近最久未使用(least recently used)4、最不經(jīng)常使用法(least frequently used)5、最近未使用法(no used recently)三、參考程序:view plaincopy to clipboardprint?102030405060708090100110120130140150#define true 1 #define false 0 #define invalid -1 #define null 0 #define
6、total_instruction 320 /*指令流長*/ #define total_vp 32 /*虛頁長*/ #define clear_period 50 /*清0周期*/ typedef struct /*頁面結(jié)構(gòu)*/ int pn,pfn,counter,time; pl_type; pl_type pltotal_vp; /*頁面結(jié)構(gòu)數(shù)組*/ struct pfc_struct /*頁面控制結(jié)構(gòu)*/ int pn,pfn; struct pfc_struct *next; ; typedef struct pfc_struct pfc_type; pfc_type pfctot
7、al_vp,*freepf_head,*busypf_head,*busypf_tail; int diseffect, atotal_instruction; int pagetotal_instruction, offsettotal_instruction; int initialize(int); int fifo(int); int lru(int); int lfu(int); int nur(int); int opt(int); int main( ) int s,i,j; srand(10*getpid(); /*由于每次運行時進程號不同,故可用來作為初始化隨機數(shù)隊列的“種子
8、”*/ s=(float)319*rand( )/32767/32767/2+1; / for(i=0;itotal_instruction;i+=4) /*產(chǎn)生指令隊列*/ if(s319) printf(when i=%d,error,s=%dn,i,s); exit(0); ai=s; /*任選一指令訪問點m*/ ai+1=ai+1; /*順序執(zhí)行一條指令*/ ai+2=(float)ai*rand( )/32767/32767/2; /*執(zhí)行前地址指令m */ ai+3=ai+2+1; /*順序執(zhí)行一條指令*/ s=(float)(318-ai+2)*rand( )/32767/327
9、67/2+ai+2+2; if(ai+2318)|(s319) printf(a%d+2,a number which is :%d and s=%dn,i,ai+2,s); for (i=0;itotal_instruction;i+) /*將指令序列變換成頁地址流*/ pagei=ai/10; offseti=ai%10; for(i=4;i=32;i+) /*用戶內(nèi)存工作區(qū)從4個頁面到32個頁面*/ printf(-%2d page frames-n,i); fifo(i); lru(i); lfu(i); nur(i); opt(i); return 0; int initialize
10、(total_pf) /*初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)*/ int total_pf; /*用戶進程的內(nèi)存頁面數(shù)*/ int i; diseffect=0; for(i=0;itotal_vp;i+) pli.pn=i; pli.pfn=invalid; /*置頁面控制結(jié)構(gòu)中的頁號,頁面為空*/ pli.counter=0; pli.time=-1; /*頁面控制結(jié)構(gòu)中的訪問次數(shù)為0,時間為-1*/ for(i=0;itotal_pf-1;i+) pfci.next=&pfci+1; pfci.pfn=i; /*建立pfci-1和pfci之間的鏈接*/ pfctotal_pf-1.next=null;
11、pfctotal_pf-1.pfn=total_pf-1; freepf_head=&pfc0; /*空頁面隊列的頭指針為pfc0*/ return 0; int fifo(total_pf) /*先進先出算法*/ int total_pf; /*用戶進程的內(nèi)存頁面數(shù)*/ int i,j; pfc_type *p; initialize(total_pf); /*初始化相關(guān)頁面控制用數(shù)據(jù)結(jié)構(gòu)*/ busypf_head=busypf_tail=null; /*忙頁面隊列頭,隊列尾鏈接*/ for(i=0;inext; plbusypf_head-pn.pfn=invalid; freepf_h
12、ead=busypf_head; /*釋放忙頁面隊列的第一個頁面*/ freepf_head-next=null; busypf_head=p; p=freepf_head-next; /*按fifo方式調(diào)新頁面入內(nèi)存頁面*/ freepf_head-next=null; freepf_head-pn=pagei; plpagei.pfn=freepf_head-pfn; if(busypf_tail=null) busypf_head=busypf_tail=freepf_head; else busypf_tail-next=freepf_head; /*free頁面減少一個*/ busy
13、pf_tail=freepf_head; freepf_head=p; printf(fifo:%6.4fn,1-(float)diseffect/320); return 0; int lru (total_pf) /*最近最久未使用算法*/ int total_pf; int min,minj,i,j,present_time; initialize(total_pf); present_time=0; for(i=0;itotal_instruction;i+) if(plpagei.pfn=invalid) /*頁面失效*/ diseffect+; if(freepf_head=nul
14、l) /*無空閑頁面*/ min=32767; for(j=0;jplj.time&plj.pfn!=invalid) min=plj.time; minj=j; freepf_head=&pfcplminj.pfn; /騰出一個單元 plminj.pfn=invalid; plminj.time=-1; freepf_head-next=null; plpagei.pfn=freepf_head-pfn; /有空閑頁面,改為有效 plpagei.time=present_time; freepf_head=freepf_head-next; /減少一個free 頁面 else plpagei
15、.time=present_time; /命中則增加該單元的訪問次數(shù) present_time+; printf(lru:%6.4fn,1-(float)diseffect/320); return 0; int nur(total_pf) /*最近未使用算法*/ int total_pf; int i,j,dp,cont_flag,old_dp; pfc_type *t; initialize(total_pf); dp=0; for(i=0;itotal_instruction;i+) if (plpagei.pfn=invalid) /*頁面失效*/ diseffect+; if(fre
16、epf_head=null) /*無空閑頁面*/ cont_flag=true; old_dp=dp; while(cont_flag) if(pldp.counter=0&pldp.pfn!=invalid) cont_flag=false; else dp+; if(dp=total_vp) dp=0; if(dp=old_dp) for(j=0;jnext=null; plpagei.pfn=freepf_head-pfn; freepf_head=freepf_head-next; else plpagei.counter=1; if(i%clear_period=0) for(j=0
17、;jtotal_vp;j+) plj.counter=0; printf(nur:%6.4fn,1-(float)diseffect/320); return 0; int opt(total_pf) /*最佳置換算法*/ int total_pf; int i,j, max,maxpage,d,disttotal_vp; pfc_type *t; initialize(total_pf); for(i=0;itotal_instruction;i+) /printf(in opt for 1,i=%dn,i); /i=86;i=176;206;250;220,221;192,193,194;
18、258;274,275,276,277,278; if(plpagei.pfn=invalid) /*頁面失效*/ diseffect+; if(freepf_head=null) /*無空閑頁面*/ for(j=0;jtotal_vp;j+) if(plj.pfn!=invalid) distj=32767; /* 最大距離 */ else distj=0; d=1; for(j=i+1;jtotal_instruction;j+) if(plpagej.pfn!=invalid) distpagej=d; d+; max=-1; for(j=0;jtotal_vp;j+) if(maxne
19、xt=null; plmaxpage.pfn=invalid; plpagei.pfn=freepf_head-pfn; freepf_head=freepf_head-next; printf(opt:%6.4fn,1-(float)diseffect/320); return 0; int lfu(total_pf) /*最不經(jīng)常使用置換法*/ int total_pf; int i,j,min,minpage; pfc_type *t; initialize(total_pf); for(i=0;itotal_instruction;i+) if(plpagei.pfn=invalid)
20、 /*頁面失效*/ diseffect+; if(freepf_head=null) /*無空閑頁面*/ min=32767; for(j=0;jplj.counter&plj.pfn!=invalid) min=plj.counter; minpage=j; plj.counter=0; freepf_head=&pfcplminpage.pfn; plminpage.pfn=invalid; freepf_head-next=null; plpagei.pfn=freepf_head-pfn; /有空閑頁面,改為有效 plpagei.counter+; freepf_head=freepf
21、_head-next; /減少一個free 頁面 else plpagei.counter+; printf(lfu:%6.4fn,1-(float)diseffect/320); return 0; #define true 1#define false 0#define invalid -1#define null 0#define total_instruction 320 /*指令流長*/#define total_vp 32 /*虛頁長*/#define clear_period 50 /*清0周期*/typedef struct /*頁面結(jié)構(gòu)*/int pn,pfn,counter
22、,time;pl_type;pl_type pltotal_vp; /*頁面結(jié)構(gòu)數(shù)組*/struct pfc_struct /*頁面控制結(jié)構(gòu)*/int pn,pfn;struct pfc_struct *next;typedef struct pfc_struct pfc_type;pfc_type pfctotal_vp,*freepf_head,*busypf_head,*busypf_tail;int diseffect, atotal_instruction;int pagetotal_instruction, offsettotal_instruction;int initializ
23、e(int);int fifo(int);int lru(int);int lfu(int);int nur(int);int opt(int);int main( )int s,i,j;srand(10*getpid(); /*由于每次運行時進程號不同,故可用來作為初始化隨機數(shù)隊列的“種子”*/s=(float)319*rand( )/32767/32767/2+1; /for(i=0;itotal_instruction;i+=4) /*產(chǎn)生指令隊列*/if(s319)printf(when i=%d,error,s=%dn,i,s);exit(0);ai=s; /*任選一指令訪問點m*/
24、ai+1=ai+1; /*順序執(zhí)行一條指令*/ai+2=(float)ai*rand( )/32767/32767/2; /*執(zhí)行前地址指令m */ai+3=ai+2+1; /*順序執(zhí)行一條指令*/s=(float)(318-ai+2)*rand( )/32767/32767/2+ai+2+2;if(ai+2318)|(s319)printf(a%d+2,a number which is :%d and s=%dn,i,ai+2,s);for (i=0;itotal_instruction;i+) /*將指令序列變換成頁地址流*/pagei=ai/10;offseti=ai%10;for(i
25、=4;i=32;i+) /*用戶內(nèi)存工作區(qū)從4個頁面到32個頁面*/printf(-%2d page frames-n,i);fifo(i);lru(i);lfu(i);nur(i);opt(i);return 0;int initialize(total_pf) /*初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)*/int total_pf; /*用戶進程的內(nèi)存頁面數(shù)*/int i;diseffect=0;for(i=0;itotal_vp;i+)pli.pn=i;pli.pfn=invalid; /*置頁面控制結(jié)構(gòu)中的頁號,頁面為空*/pli.counter=0;pli.time=-1; /*頁面控制結(jié)構(gòu)中的訪問次數(shù)
26、為0,時間為-1*/for(i=0;itotal_pf-1;i+)pfci.next=&pfci+1;pfci.pfn=i; /*建立pfci-1和pfci之間的鏈接*/pfctotal_pf-1.next=null;pfctotal_pf-1.pfn=total_pf-1;freepf_head=&pfc0; /*空頁面隊列的頭指針為pfc0*/return 0;int fifo(total_pf) /*先進先出算法*/int total_pf; /*用戶進程的內(nèi)存頁面數(shù)*/int i,j;pfc_type *p;initialize(total_pf); /*初始化相關(guān)頁面控制用數(shù)據(jù)結(jié)構(gòu)*
27、/busypf_head=busypf_tail=null; /*忙頁面隊列頭,隊列尾鏈接*/for(i=0;inext;plbusypf_head-pn.pfn=invalid;freepf_head=busypf_head; /*釋放忙頁面隊列的第一個頁面*/freepf_head-next=null;busypf_head=p;p=freepf_head-next; /*按fifo方式調(diào)新頁面入內(nèi)存頁面*/freepf_head-next=null;freepf_head-pn=pagei;plpagei.pfn=freepf_head-pfn;if(busypf_tail=null)b
28、usypf_head=busypf_tail=freepf_head;elsebusypf_tail-next=freepf_head; /*free頁面減少一個*/busypf_tail=freepf_head;freepf_head=p;printf(fifo:%6.4fn,1-(float)diseffect/320);return 0;int lru (total_pf) /*最近最久未使用算法*/int total_pf;int min,minj,i,j,present_time;initialize(total_pf);present_time=0;for(i=0;itotal_i
29、nstruction;i+)if(plpagei.pfn=invalid) /*頁面失效*/diseffect+;if(freepf_head=null) /*無空閑頁面*/min=32767;for(j=0;jplj.time&plj.pfn!=invalid) min=plj.time;minj=j;freepf_head=&pfcplminj.pfn; /騰出一個單元plminj.pfn=invalid;plminj.time=-1;freepf_head-next=null;plpagei.pfn=freepf_head-pfn; /有空閑頁面,改為有效plpagei.time=pre
30、sent_time;freepf_head=freepf_head-next; /減少一個free 頁面elseplpagei.time=present_time; /命中則增加該單元的訪問次數(shù)present_time+;printf(lru:%6.4fn,1-(float)diseffect/320);return 0;int nur(total_pf) /*最近未使用算法*/int total_pf; int i,j,dp,cont_flag,old_dp;pfc_type *t;initialize(total_pf);dp=0;for(i=0;itotal_instruction;i+
31、) if (plpagei.pfn=invalid) /*頁面失效*/diseffect+;if(freepf_head=null) /*無空閑頁面*/ cont_flag=true;old_dp=dp;while(cont_flag)if(pldp.counter=0&pldp.pfn!=invalid)cont_flag=false;elsedp+;if(dp=total_vp)dp=0;if(dp=old_dp)for(j=0;jnext=null;plpagei.pfn=freepf_head-pfn;freepf_head=freepf_head-next;elseplpagei.c
32、ounter=1;if(i%clear_period=0)for(j=0;jtotal_vp;j+)plj.counter=0;printf(nur:%6.4fn,1-(float)diseffect/320);return 0;int opt(total_pf) /*最佳置換算法*/int total_pf;int i,j, max,maxpage,d,disttotal_vp;pfc_type *t;initialize(total_pf);for(i=0;itotal_instruction;i+) /printf(in opt for 1,i=%dn,i); /i=86;i=176;2
33、06;250;220,221;192,193,194;258;274,275,276,277,278;if(plpagei.pfn=invalid) /*頁面失效*/diseffect+;if(freepf_head=null) /*無空閑頁面*/for(j=0;jtotal_vp;j+)if(plj.pfn!=invalid) distj=32767; /* 最大距離 */ else distj=0;d=1;for(j=i+1;jtotal_instruction;j+)if(plpagej.pfn!=invalid)distpagej=d;d+;max=-1;for(j=0;jtotal_
34、vp;j+)if(maxnext=null;plmaxpage.pfn=invalid;plpagei.pfn=freepf_head-pfn;freepf_head=freepf_head-next;printf(opt:%6.4fn,1-(float)diseffect/320);return 0;int lfu(total_pf) /*最不經(jīng)常使用置換法*/int total_pf;int i,j,min,minpage;pfc_type *t;initialize(total_pf);for(i=0;itotal_instruction;i+) if(plpagei.pfn=inval
35、id) /*頁面失效*/ diseffect+;if(freepf_head=null) /*無空閑頁面*/ min=32767;for(j=0;jplj.counter&plj.pfn!=invalid)min=plj.counter;minpage=j; plj.counter=0;freepf_head=&pfcplminpage.pfn;plminpage.pfn=invalid;freepf_head-next=null; plpagei.pfn=freepf_head-pfn; /有空閑頁面,改為有效plpagei.counter+; freepf_head=freepf_head
36、-next; /減少一個free 頁面elseplpagei.counter+;printf(lfu:%6.4fn,1-(float)diseffect/320);return 0; 五、分析1、從幾種算法的命中率看,opt最高,其次為nur相對較高,而fifo與lru相差無幾,最低的是lfu。但每個頁面執(zhí)行結(jié)果會有所不同。2、opt算法在執(zhí)行過程中可能會發(fā)生錯誤五、思考1、為什么opt在執(zhí)行時會有錯誤產(chǎn)生?本文來自csdn博客,轉(zhuǎn)載請標(biāo)明出處:以下是附加文檔,不需要的朋友下載后刪除,謝謝頂崗實習(xí)總結(jié)專題13篇第一篇:頂崗實習(xí)總結(jié)為了進一步鞏固理論知識,將理論與實踐有機地結(jié)合起來,按照學(xué)校的計
37、劃要求,本人進行了為期個月的頂崗實習(xí)。這個月里的時間里,經(jīng)過我個人的實踐和努力學(xué)習(xí),在同事們的指導(dǎo)和幫助下,對村的概況和村委會有了一定的了解,對村村委會的日常工作及內(nèi)部制度有了初步的認識,同時,在與其他工作人員交談過程中學(xué)到了許多難能可貴經(jīng)驗和知識。通過這次實踐,使我對村委會實務(wù)有所了解,也為我今后的順利工作打下了良好的基礎(chǔ)。一、實習(xí)工作情況村是一個(此處可添加一些你實習(xí)的那個村和村委會的介紹)我到村村委會后,先了解了村的發(fā)展史以及村委會各個機構(gòu)的設(shè)置情況,村委會的規(guī)模、人員數(shù)量等,做一些力所能及的工作,幫忙清理衛(wèi)生,做一些后勤工作;再了解村的文化歷史,認識了一些同事,村委會給我安排了一個特定
38、的指導(dǎo)人;然后在村委會學(xué)習(xí)了解其他人員工作情況,實習(xí)期間我努力將自己在學(xué)校所學(xué)的理論知識向?qū)嵺`方面轉(zhuǎn)化,盡量做到理論與實踐相結(jié)合。在實習(xí)期間我遵守了工作紀(jì)律,不遲到、不早退,認真完成領(lǐng)導(dǎo)交辦的工作。我在村委會主要是負責(zé)管理日常信件的工作,這個工作看似輕松,卻是責(zé)任重大,來不得辦點馬虎。一封信件沒有及時收發(fā),很有可能造成工作的失誤、嚴重的甚至?xí)斐删薮蟮慕?jīng)濟損失。很感謝村委會對我這個實習(xí)生的信任,委派了如此重要的工作給我。在實習(xí)過程中,在信件收發(fā)管理上,我一直親力親為,片刻都不敢馬虎。為了做好信件的管理工作,我請教村委會的老同事、上網(wǎng)查閱相關(guān)資料,整理出了一套信函管理的具體方法。每次郵遞員送來的
39、信件,我都要親自檢查有無開封、損壞的函件,如果發(fā)現(xiàn)有損壞的函件,我馬上聯(lián)絡(luò)接收人親自來查收。需要到郵局領(lǐng)取的函件,我都親自到郵局領(lǐng)取,并把信函分別發(fā)放到每個收件人的手里。對于收到的所有信函,我都分門別類的登記,標(biāo)注好收發(fā)人的單位、姓名還有來函日期等等。我對工作的認真負責(zé),受到了村委會領(lǐng)導(dǎo)和同事們的一致好評,在他們的鼓勵下,我的工作干勁更足了。在工作之余,我還經(jīng)常去村民家里,幫助他們做一些我力所能及的事情,也讓我收獲了很多知識,學(xué)會了許多技能。我學(xué)會了一些常見農(nóng)作物的生長特征,也學(xué)會了怎么給農(nóng)作物施肥,灑藥。這些,都將是我今后人生道路上的寶貴財富。短短個月的實習(xí)生活很快就過去了,這次實習(xí)是我從學(xué)
40、校踏入社會的第一步。在這里,我感受到了村民們的純樸,也體會到了農(nóng)村生活的不易,更加深刻的認識到了作為當(dāng)代大學(xué)生身上肩負的使命。在這次實習(xí)生活中,村委會的叔叔、阿姨們對我十分的照顧,在工作中,在生活上都給予了我很多的幫助,也對我寄予了很高的期望。通過這次實習(xí),鍛煉了我的做事能力,養(yǎng)成了對人對事的責(zé)任心,也堅定了我加強學(xué)習(xí),提升自我價值的信心。二、發(fā)現(xiàn)的問題和建議在此次在村村委會頂崗實習(xí)的工作中,確實讓我學(xué)到了不少書本以外的知識,同時我也發(fā)現(xiàn)了不少問題。第一,該村村委會的工作人員文化水平相對偏低,在村務(wù)工作的處理上,方式方法比較粗放。第二,村委會工作人員思想比較守舊,缺乏對新事物、新觀念的學(xué)習(xí)和認識。第三,村委會的現(xiàn)代化辦公水平還比較低,雖然配備了電腦等現(xiàn)代化辦公工具,但是實際的利用程度很低。第四,村委會人員由于不是國家編制,工作人員的工作熱情和工作態(tài)度不是很積極。三、實習(xí)的心得體會剛開始去村村委會實習(xí)的時候,
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電氣火災(zāi)》課件
- 《研究生培養(yǎng)與管理》課件
- 《服務(wù)行業(yè)的戴爾》課件
- 廣東省梅州市五華縣華城鎮(zhèn)初級中學(xué)-主題班會-防性侵【課件】
- 單位管理制度集合大合集【人事管理篇】
- 單位管理制度集粹匯編【人力資源管理篇】十篇
- 單位管理制度匯編大合集【人力資源管理】
- 單位管理制度合并匯編人事管理十篇
- 單位管理制度分享匯編【職工管理篇】
- 高中語文常見的病句類型及其辨析
- 2025年1月八省聯(lián)考河南新高考物理試卷真題(含答案詳解)
- 物業(yè)管理服務(wù)人員配備及崗位職責(zé)
- 鄭州2024年河南鄭州市惠濟區(qū)事業(yè)單位80人筆試歷年參考題庫頻考點試題附帶答案詳解
- 深靜脈血栓的手術(shù)預(yù)防
- 【9道期末】安徽省合肥市廬陽區(qū)2023-2024學(xué)年九年級上學(xué)期期末道德與法治試題
- 腹腔鏡全胃切除手術(shù)配合
- 2024-2030年中國非物質(zhì)文化遺產(chǎn)市場前景調(diào)研及投資風(fēng)險分析報告
- 酒店員工人事制度培訓(xùn)
- 2023年山西省公務(wù)員錄用考試《行測》真題及答案解析
- 醫(yī)美整形退款協(xié)議書范本下載
- 國培培訓(xùn)成果匯報
評論
0/150
提交評論