操作系統(tǒng)課程設(shè)計_第1頁
操作系統(tǒng)課程設(shè)計_第2頁
操作系統(tǒng)課程設(shè)計_第3頁
操作系統(tǒng)課程設(shè)計_第4頁
操作系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、課 程 設(shè) 計 說 明 書( 操 作 系 統(tǒng) )題目 :進(jìn)程調(diào)度院系 : 計算機(jī)科學(xué)與工程學(xué)院專業(yè)班級:信息安全 32學(xué)號:20 302x學(xué)生姓名 :x指導(dǎo)教師:2 5 年 2 月 15 日?安徽理工大學(xué)課程設(shè)計(論文) 任務(wù)書計算機(jī)科學(xué)與工程學(xué)院學(xué)號x學(xué)生姓名xx專業(yè) ( 班級)信息安全 132設(shè)計題目進(jìn)程調(diào)度模擬程序設(shè)計( 1) 系統(tǒng)作業(yè)或進(jìn)程得數(shù)目 ;技( )進(jìn)程等待時間術(shù)參(3) 進(jìn)程運(yùn)行時間數(shù)設(shè)計要求、 根據(jù)設(shè)計任務(wù),用自己熟悉得計算機(jī)語言編制程序,在機(jī)器上調(diào)試運(yùn)行,并通過上機(jī)考核。2、 模擬在單處理器情況下得進(jìn)程調(diào)度, 目得就是加深對進(jìn)程調(diào)度工作得理解。、 設(shè)計一個按時間片輪轉(zhuǎn)調(diào)度

2、算法實現(xiàn)處理器調(diào)度得程序。、 在完成電子設(shè)計后,要求寫一份詳細(xì)得設(shè)計報告。工作量工作計劃參考資料1、編寫代碼不少于 0 行;2、程設(shè)計說明書不少于15 頁。 0 5、11、23 11、25 根據(jù)課程設(shè)計要求,查找相關(guān)資料,完成需求分析;20、 11、26- 1、2 進(jìn)行系統(tǒng)得概要設(shè)計 ;205、11、 2812、 5 進(jìn)行系統(tǒng)得詳細(xì)設(shè)計與源代碼得書寫 ;201、 12、 6 2、 10 對系統(tǒng)進(jìn)行調(diào)試分析 , 寫出課程設(shè)計報告龔沛曾等編、 c/c+程序設(shè)計教程、北京: 高等教育出版社 ,2 0、 2 美 r ta 、著、 pri e lus( 第 5 版 中文版 ) 、北京:人民郵電出版社 ,

3、200 、 3湯子瀛等編著、 計算機(jī)操作系統(tǒng)、西安: 西安電子科技大學(xué)出版社, 20114 胡志剛 , 譚長庚等 , 計算機(jī)操作系統(tǒng) ,中南大學(xué)出版社 20 5 年 5羅宇 , 鄒鵬等,操作系統(tǒng) ( 第二版),電子工業(yè)出版社2007 年 4 月龐麗萍,操作系統(tǒng)原理 ,華中理工大學(xué)出版社 ,2000年指導(dǎo)教師簽教研室主任簽字字安徽理工大學(xué)課程設(shè)計(論文) 成績評定表學(xué)生姓名 :xx學(xué)號:2xx專業(yè)班級 :信息安全 13程序設(shè)計訓(xùn)練題目 :進(jìn)程調(diào)度模擬程序評價評價要素評價內(nèi)涵單元能獨(dú)立查閱文獻(xiàn)資料 ,并能合理地運(yùn)用文獻(xiàn)查閱與到程序設(shè)計訓(xùn)練之中;能將所學(xué)課程知識(專業(yè) )知識準(zhǔn)確地運(yùn)用到程序設(shè)計之知

4、識運(yùn)用能力水平中,并歸納總結(jié)本程序設(shè)計訓(xùn)練所涉30%及得有關(guān)課程知識程序設(shè)計方案程序設(shè)計整體思路清晰,程序設(shè)計方設(shè)計能力案合理可行說明難度等級與程序設(shè)計訓(xùn)練任務(wù)書題目難度等級書質(zhì)相當(dāng)量寫作水平整體思路清晰,結(jié)構(gòu)合理 ,層次分明,滿分評分013050%寫作規(guī)范工作量學(xué)習(xí)表現(xiàn)2學(xué)習(xí)態(tài)度成績 :語言表達(dá)流暢 ,綜合概括能力強(qiáng)符合程序設(shè)計訓(xùn)練報告得基本要求,用語、格式、圖表、數(shù)據(jù)及各種資料 10 引用規(guī)范(符合標(biāo)準(zhǔn))程序設(shè)計訓(xùn)練工作量飽滿,能按時完0成程序設(shè)計訓(xùn)練規(guī)定得工作量學(xué)習(xí)態(tài)度認(rèn)真 ,遵守程序設(shè)計階段得紀(jì)律 ,作風(fēng)嚴(yán)謹(jǐn) ,按時完成程序設(shè)計規(guī)定10得任務(wù) ,按時上交程序設(shè)計訓(xùn)練有關(guān)資料指導(dǎo)教師 :

5、年月日摘要現(xiàn)代計算機(jī)系統(tǒng)中,進(jìn)程就是資源分配與獨(dú)立運(yùn)行得基本單位,就是操作系統(tǒng)得核心概念 .因而 ,進(jìn)程就成為理解操作系統(tǒng)如何實現(xiàn)系統(tǒng)管理得最基本,也就是最重要得概念。進(jìn)程調(diào)度就是進(jìn)程管理過程得主要組成部分,就是必然要發(fā)生得事件。在現(xiàn)代操作系統(tǒng)中,進(jìn)程得并發(fā)機(jī)制在絕大多數(shù)時候,會產(chǎn)生不斷變化得進(jìn)程就緒隊列與阻塞隊列。處于執(zhí)行態(tài)得進(jìn)程無論就是正常或非正常終止、或轉(zhuǎn)換為阻塞狀態(tài),都會引發(fā)從就緒隊列中,由進(jìn)程調(diào)度選擇一個進(jìn)程進(jìn)占c u。進(jìn)程調(diào)度得核心就是進(jìn)程調(diào)度得算法。在本課程設(shè)計中,用良好清晰得界面向用戶展示了進(jìn)程調(diào)度中得時間片輪轉(zhuǎn)調(diào)度算法.在最終實現(xiàn)得成果中,用戶可指定需要模擬得進(jìn)程數(shù),cpu

6、時間片與進(jìn)程得最大執(zhí)行時間,并且選擇需要演示得算法,界面將會動態(tài)得顯示進(jìn)程調(diào)度過程及各個隊列得變化。通過此進(jìn)程調(diào)度模擬系統(tǒng) ,用戶可以對時間片輪轉(zhuǎn)調(diào)度算法有進(jìn)一步以及直觀得了解。關(guān)鍵詞:進(jìn)程,調(diào)度,pcb ,時間片輪轉(zhuǎn)?目錄1、設(shè)計目得 .錯誤 !未定義書簽。2、設(shè)計思路 .錯誤 !未定義書簽。3、設(shè)計過程 .錯誤 !未定義書簽。3、流程圖 .錯誤 !未定義書簽。3、2 算法 ?錯誤 !未定義書簽。3、3 數(shù)據(jù)結(jié)構(gòu) . 錯誤 !未定義書簽。3、4 源代碼 ?錯誤 !未定義書簽。4、實驗結(jié)果及分析. 錯誤 !未定義書簽。4、1使用說明?錯誤 !未定義書簽。4、2程序演示?錯誤 !未定義書簽。5、

7、實驗總結(jié)6、參考文獻(xiàn). 錯誤 !未定義書簽。. 錯誤 !未定義書簽。1、設(shè)計目得根據(jù)設(shè)計任務(wù) ,用自己熟悉得計算機(jī)語言編制程序 ,在機(jī)器上調(diào)試運(yùn)行,并通過上機(jī)考核 .編寫一程序 ,可以創(chuàng)建若干個虛擬進(jìn)程, 并對若干個虛擬進(jìn)程進(jìn)行調(diào)度 ,調(diào)度策略為時間片輪轉(zhuǎn)。虛擬程序得描述:虛擬指令得格式: 操作命令 操作時間其中 ,操作命令有以下幾種 :c : 表示在 c上計算? :表示輸入?o:表示輸出w:表示等待?:表示進(jìn)程結(jié)束操作時間代表該操作命令要執(zhí)行多長時間假設(shè) i/o 設(shè)備得數(shù)量沒有限制i 、o、三條指令實際上就是不占用 cpu 得,執(zhí)行這三條指令就應(yīng)將進(jìn)程放入對應(yīng)得等待隊列 (in ut 等待隊

8、列、 o pu等待隊列、 wait 等待隊列 ) 例有一虛擬程序 1、prc 描述如下 :c 30 o 12 9 i 14h 0? 該虛擬程序表示得含義就是 :先在 cu 上計算 30 秒,再在輸出設(shè)備上輸出 12 秒,計算 9 秒,在輸入設(shè)備上輸入 14 秒,程序結(jié)束。2、設(shè)計思路? 進(jìn)程調(diào)度就是操作系統(tǒng)中得重要功能,用來創(chuàng)建進(jìn)程、撤消進(jìn)程、實現(xiàn)進(jìn)程狀態(tài)轉(zhuǎn)換,它提供了在可運(yùn)行得進(jìn)程之間復(fù)用cpu 得方法 .在進(jìn)程管理中 ,進(jìn)程調(diào)度就是核心,因為在采用多道程序設(shè)計得系統(tǒng)中,往往有若干個進(jìn)程同時處于就緒狀態(tài), 當(dāng)就緒進(jìn)程個數(shù)大于處理器數(shù)目時,就必須依照某種策略決定哪些進(jìn)程優(yōu)先占用處理器。本程序用

9、時間片輪轉(zhuǎn)調(diào)度算法對多個進(jìn)程進(jìn)行調(diào)度 ,每個進(jìn)程有三個狀態(tài)就緒、運(yùn)行與完成,初始狀態(tài)為就緒狀態(tài)。? 時間片輪轉(zhuǎn)調(diào)度算法中, 系統(tǒng)將所有得就緒進(jìn)程按先來先服務(wù)算法得原則 , 排成一個隊列,每次調(diào)度時 ,系統(tǒng)把處理機(jī)分配給隊列首進(jìn)程 ,并讓其執(zhí)行一個時間片。當(dāng)執(zhí)行得時間片用完時 ,由一個計時器發(fā)出時鐘中斷請求 ,調(diào)度程序根據(jù)這個請求停止該進(jìn)程得運(yùn)行, 將它送到就緒隊列得末尾 ,再把處理機(jī)分給就緒隊列中新得隊列首進(jìn)程 ,同時讓它也執(zhí)行一個時間片。( 1)建立一個進(jìn)程控制塊 .c來代表。 pcb 包括:進(jìn)程名、鏈接指針、到達(dá)時間、估計運(yùn)行時間、剩余時間與進(jìn)程狀態(tài)。進(jìn)程狀態(tài)分為就緒(w )、運(yùn)行 (r)

10、與完成 (f)。( )為每個進(jìn)程任意確定一個要求運(yùn)行時間與到達(dá)時間。()按照進(jìn)程到達(dá)得先后順序排成一個循環(huán)隊列。再設(shè)一個對首指針指向第一個到達(dá)進(jìn)程得首址 .(4)執(zhí)行處理機(jī)調(diào)度時,開始選擇對首得第一個進(jìn)程運(yùn)行。另外再設(shè)一個當(dāng)前運(yùn)行進(jìn)程得指針 ,指向當(dāng)前正運(yùn)行得進(jìn)程。( )執(zhí)行:a)預(yù)計運(yùn)行時間減1;)輸出當(dāng)前運(yùn)行進(jìn)程得名字。()進(jìn)程執(zhí)行一次后 ,若該進(jìn)程得剩余運(yùn)行時間為零, 則將該進(jìn)程得狀態(tài)置為完成態(tài) f,并退出循環(huán)隊列 ;若不為空 ,則將其移至隊尾。繼續(xù)在運(yùn)行隊首得進(jìn)程。(7)若就緒隊列不空 ,則重復(fù)上述得( 5)與(6)步驟直到所有進(jìn)程都運(yùn)行完為止。在所設(shè)計得調(diào)度程序中 ,要求包含顯示或打

11、印語句。以便顯示或打印每次選操作系統(tǒng)課程設(shè)計中進(jìn)程得名稱及運(yùn)行一次后隊列得變化情況。3、設(shè)計過程、 1 流程圖3、 2 算法如果就緒隊列中有n 個進(jìn)程 ,且時間片為 ,則每個進(jìn)程會得到得cpu 時間 ,每個長度不超過 q 時間單元 .每個進(jìn)程必須等待 cpu 得時間不會超過 (n-) q 個時間單元 ,直到它得下一個時間片為止oirun ()int,fla ,ime=0, pcbnum,ind =, exen,num,qe m;cha md;int j, , n;?int t al=0;j nqueueini( total );save();w ile(toa! =0) ?if (?!empt

12、yquu(queue1)?outqueue(&q eue1,&pcbnum);insertuue(&queue0 , pcbnu);?elsepcbnm eted( ueu 0);dela() ;jobpb pcbu、 tatus= e;rit(” tt 作業(yè)%d? pri t(”t 所處狀態(tài) : % t 執(zhí)行了%n”,cbnm+1);秒n”, o c pcb m、statu, time);( i=0;i3;i )if (jbpcbi 、 d=0)/ 所有得作業(yè)除在就緒隊列獲執(zhí)行結(jié)束得外等待時間都減去時間片? if( obpcbi 、 us!=r& jobpbi 、 status!= ) h

13、jobpcbi 、wtime=j bpcbi、wtime-time;? i(jobcb、wtime =0) /查找所有得隊列 所在位置? f r(j=;j ;j+)? ? ? ?for (m=quue、head;m euej、 ;m+)? ? ?if(q eej 、pcbumm=i ) flag= ; beak;?if(fla =1)bra;?if(flag=1) ?/刪除該指令? ? for( =;nqueu j、tail ;n+) queu j 、pbnumn queuej、pbun+1;?qeej 、 il ;?jobpcbi 、exton x+;?index=jobpcbi 、 xto

14、ine; eqeue( ,index,&otal );? ? ? ?if (!emp yqeue(quee1 ))?outquue(&ue 0, pbnum);? ?if (jo cbcbnum、wti e )? ? ?inserqueue(qu e , p nm);?jopcbp nm、 tts=r;? ? ? r ntf( ” tt 還有 t d個作業(yè)沒有完成n”,total );sve();3、 3 數(shù)據(jù)結(jié)構(gòu) o delay()i tchge(char *m)inllocpc( )i talloc ob()voddispayindex()increatepcblie()vodntqueu

15、e(struct nd * )vodinsetqueu(tructqnode l,int pcbn)int mtyuue( truct qnoe l)vodouqeu( s ut nd l,int pcbnm)voi di lay()void obnu ent( nt otal)vi sae ()voidjbnuue(in p m, nt idex ,int *total)int get( strut qode )voru ()vi i i file()3、源代碼進(jìn)程調(diào)度模擬程序 ,以時間片輪轉(zhuǎn)調(diào)度算法為核心#definenull 0# cl destdio、h#i clude coio、 h

16、#incl e#ncld#incl etime、 h il ro ;/定義一個 cb 得結(jié)構(gòu)體 ypedef str indexc an ;/指令int me;/指令執(zhí)行時間 de;stuc pcb har 0; /進(jìn)程名?n i;/作業(yè)編號int ex toinex;/當(dāng)前正在執(zhí)行指令char a us;/當(dāng)前狀態(tài)?n ie;/等待時間 ;struct pcb jobpc1 ;/pcb 表typedfstr ct jobind id 0;/指令集nt cb u ;/ cb 編號對應(yīng)j b;job jobtab100;/作業(yè)表 har bp 0;/作業(yè)/隊列結(jié)構(gòu)體 truct qnode?it

17、pcbnm1;/pcb 編號inthe, tail;; ructqnode ueu ;/個隊列0e r2 3owvoidinitqu e(truc qoe );/延遲 od la( ) ime_t egin, end;ti (&b gin);d t me( en); while ( ndbegin)=1); /字符轉(zhuǎn)化為數(shù)值intchange(c r * )?nt , =0;int =s len(m); or( i=;i len; +) j j*1 +m- 0 ;return ; /申請 b 進(jìn)程塊al ocpcb()in ;for(i 0;i 3; +)if (jo pc i 、 d = 1

18、)b eak;i( 3)rturn i;return -1;/申請 j binta l o()int ; or(i 0;i3;i+ )if( obab 、 num = -1)brak;if(i3) turni;eurn 1;/顯示指令 i is ayidex()?inti,j;for( i=;i3;i+)?printf (” obor(j 0; ;+)printf (%d% d n,i+) ;%c% dn”,j+1,jobtabi 、idx 、 ame,jbtabi 、idx 、 ime);?創(chuàng)建進(jìn)程程序intcr atepcbln()? arl e10;nt?i ,ll,jnum ,pnum

19、,l =0,bpos, p s=0;? cha buf50;chrname 20 ;c a;?or( =0;i 3; +) ?n=0;? jnum=a ocjob();?if(jnum = )eu;?pnu a locpcb();? i (pnum = -1) eturn 0;?job bjnum 、pcbnum= nu;?strcpy(jobpcbpnum、, );? ? jbpc pu、 t tus= ;?jop nm、 xetoin =0;? ?jobpc pnu 、i =jnum;?jo pcpn m 、 tme=;int l =strlen(j bpi) ;? p s=0;? ? h

20、 e( oslen)? ?hile(jobp i os = ) os+;? ? jobab jnu 、id ln 、 nam=jobp pos + ;/? ? ? while (j bp i os= ) po +; ? ? bpos 0; ? ?whi e(job pos!= )? ufbpos+=j pipo + ;? ?buff bos0;? ? ?jobtab u、 idxl 、 ti e=c a ge(buf) ;/ ? ?if(p stail=0;/插進(jìn)入隊列vid nsetq eu( ruct q ode l, nt pcbnum) l pcbnuml- ail+= bnum;/隊

21、列就是否為空i t e p yqueu( stuct node l) f( 、 a =、 tail) etr1; ur;/刪除隊列v doutquee(stuct qnod * ,nt * b m)f ( hea =l ail ) *pcbnum= ; else? *pcbum=l bum - hea +;/顯示作業(yè)vodisplay()inti,j ;? or(i 0;i 5; i )prinf( ”隊列d,i ) ;? for( j=queei 、 hed;j qu uei、 il ;j +)? ri t(” pb 編號%d nm j ) ;,queuei 、 pcbn/作業(yè)入隊列vidj

22、obenueueint( nt *int i , n m , n ex=;otal)chrmd;? or( =;i ; i+)? if(j bpc i 、 =0) ?cmd obtabj bp bi 、 id、idx index 、 n me;? tch(cd)?ca e c:insertqueue(& que 1,i );j bcb、 tatus=r;br ak;casei:inert u u(queue , i);job cbi 、 ta us ;bre;case :i sert ueue(q eue3,i);jo p b i 、status=o; bre k; a e:inertqueu

23、 (& queue4,i);jobpcb 、s a u=w ;bre;? se :jb bi 、 satu=h ; u jobcb、 id;jobta nu、pcbn ;j pcbi 、i 1;? ?if(c d=) jbpcb 、 w im= ;ota-;jobpcbi 、wime=j b ab obpc i 、id、 idx inde 、tme;( to al)+;?/保存結(jié)果vi save ()file fp;int ; =open( tabe、 x ,a ”);f r n (fp, ”等待時間n” );文件名作業(yè)編號執(zhí)行到指令數(shù)所處狀態(tài)for(i=0 ;i=0) ? md= ota o

24、bpcbpcbnu 、 d、 id in ex、n m;? ?s th( d)? ase c :bpcbnum、 atus= ;insertqu e( queue 1 , p bu) ; beak; obp ase i:in rtq e e(&qu ue, cbnm) ;jobpcb nu 、statu=i; beak;case :insertquee(queue3,pcnum); obcbpcbn、 s ats=o;break; a w :in ert u u ( u e ,pcbnum);jobpcbpcb m 、 status= w ; b eak;? ase h: j bp bpcbn

25、um 、stath; num jopcbp num、; j btabnum、 pcbnum=; j bcbpcbu、 id= 1;? ?i(cmd= h)?job cpcbnm 、wtim =0;?p intf (”作業(yè)%d完成 n” , p bnum+1,jobpcb pbnum、 staus);? ? ?( otal) ;?el e b bpcbnum、 ime=jobtb jo pcb cbnum、idx ndex、t me;? pri tf( ”ntt 作業(yè)d ,p um+1);?printf(ttt t 所處狀態(tài): cn,j cb cbum、 t tu);? r tf(t t 還需要

26、時間%秒 n,j pb bum、 me);?/得到隊列得首元素i tgetea( tructq d ) ?e u n 、 cbnml 、head;執(zhí)行voidrun ()int , fl g=, time=10, cb m,ndex=0, e num, num, enum;char ;in j ,m,n;?inttotal=0;?jobenqueu nit ( tota );sv(); hil (otal! =0)?if( !emptyqu ue(ueu ))? out ueue( ueue1, p bnm);?insert ue(queue0 ,cbnum);? elsepcbnum=geh

27、ea( queu );de ();jopcb bn m、 statu =e;print(” ntt 作業(yè)%dn”, cbnum+1);?pri tf( ”t tt 所處狀態(tài):%c t 執(zhí)行了 秒n, j pc pcnum、st s, im);? fo(i 0;i0)/所有得作業(yè)除在就緒隊列獲執(zhí)行結(jié)束得外等待時間都減去時間片?if( c 、 tat s!= r&job c i 、 ta us! = )jobpcbi 、wtime jobpcbi 、wtime time;?if (j pcb i 、 wtime=0)/查找所有得隊列所在位置?for(j=0;j 5;j+ )?or( q uej、h

28、ead;m u uej 、t ; +)?if( ueuej 、 umm =) flag ; brea;? ? ? ? ?if( l =1) break;? ?f(fla 1)?/刪除該指令? ?for (n=m;nqu ue、 tail; +) eue、pcbumn=queuej 、 p numn+ ;?queu j、 ail ;?job 、ex ndex+;? ?i dex=jobpcbi、 xeti ex;? ?obe ueue( i,ind x,&tota );?i (!empty eu(queue )? u ue( queue0,pcnu);?if(j bpcbcbnum、wtim )

29、?i ertque e(&quee ,pbn m);j cbpcbnu、 status=r;? ? intf( ” n ntt 還有 t %d個作業(yè)沒有完成n,total);save(); /初始化vod init ile() nt ;g ou ie0=fopen(p 、 p ”, ” r)”;gr le1 =open( ” p2、prc ”, r ” ); oupfile2=fopen(、”p3 c,r);fgets( jop0,2 5,gro pfl );fgets(jb 1,25,groupfile1);fget (j bp2,255,goufile2) ;for (i 0; 100;i+)jobpc i 、 extindex=0;str y( bpc i 、, hing) ;opc i 、id=;?jobc i、 tatus= r;? jobpcb、 wtime0;?for( =0; 10;+)?obtabi 、pcbnum ; or( =0;i 5;i+)initqueue( ue i );i t main() car sart;p inf (歡迎界面”) ;start=getch();if (sta t!= ull )ini file(); retecbin( ); run ();?return ;4、實驗結(jié)果及分析、 1 使用說明先用文本編輯器寫三個

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論