操作系統(tǒng)進程管理演示_第1頁
操作系統(tǒng)進程管理演示_第2頁
操作系統(tǒng)進程管理演示_第3頁
操作系統(tǒng)進程管理演示_第4頁
操作系統(tǒng)進程管理演示_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 目 錄1 課程設(shè)計簡介11.1 課程設(shè)計的目的11.2 課程設(shè)計容12 數(shù)據(jù)結(jié)構(gòu)的設(shè)計22.1就緒隊列22.2等待隊列23 功能模塊(或算法)描述33.1繪圖界面33.2更新界面33.3 進程執(zhí)行.34 程序運行結(jié)果45心得體會5參考文獻6附源代碼724 / 251 課程設(shè)計簡介1.1 課程設(shè)計的目的加深對進程概念與進程管理各部分容的理解;熟悉進程管理中主要數(shù)據(jù)結(jié)構(gòu)的設(shè)計與進程調(diào)度算法、進程控制機構(gòu)、同步機構(gòu)與通訊機構(gòu)的實施。1.2 課程設(shè)計容設(shè)計一個允許n個進程并發(fā)運行的進程管理模擬系統(tǒng)。該系統(tǒng)包括有簡單的進程控制、同步與通訊機構(gòu),其進程調(diào)度算法可任意選擇(優(yōu)先級調(diào)度,時間片

2、輪轉(zhuǎn),短進程優(yōu)先中的一種)。每個進程用一個PCB表示,其容根據(jù)具體情況設(shè)置。各進程之間有一定的同步關(guān)系(可選)。系統(tǒng)在運行過程中應(yīng)能顯示或打印各進程的狀態(tài)與有關(guān)參數(shù)的變化情況,以便觀察諸進程的運行過程與系統(tǒng)的管理過程。2 數(shù)據(jù)結(jié)構(gòu)的設(shè)計2.1 就緒隊列privatestaticfinalintlength=10;/隊列長度staticfinalint queue_Y=newint 3;/隊列豎直相距高度privateint queue=newint310;/隊列數(shù)組privateint next=newint 3;/記錄三個隊列中各個中的第一個空位private Color color=new

3、 Color310;/標(biāo)志各個進程的顏色2.2等待隊列privatefinalint wait_thing_Y=newint 3;/記錄等待事件矩形框在Y上相距的距離;privateint wait_thing=newint 3length;privateint wait_next=newint 3;private Color wait_color=new Color3length;privateintwtc;/wtc:wait_thing_choose3 功能模塊(或算法)描述3.1 繪圖界面繪制界面的主要框圖。如就緒隊列,等待隊列,模擬的執(zhí)行線條等。是靜態(tài)的繪制畫面。3.2 更新界面 可以

4、產(chǎn)生新進程,也可從等待隊列中取新進程,但取時是取優(yōu)先級最高的進程運行。用顏色填充繪制進程運行軌跡,以達到演示效果。3.3 進程執(zhí)行模擬進程按輪轉(zhuǎn)法與優(yōu)先權(quán)的執(zhí)行方式下的各種狀態(tài)。如執(zhí)行完畢,超時而排入等待隊列末尾,進程選擇各種執(zhí)行狀態(tài)是通過一定的概率來決定的,因為這主要是為了模擬演示而用。進程選擇了執(zhí)行狀態(tài)后就要按照該方式下的規(guī)則運行。4 程序運行結(jié)果5心得體會學(xué)習(xí)的最好方法就是用所學(xué)的知識去動手做一些東西出來。通過本次課程設(shè)計加深了對進程的了解,對進程的調(diào)度算法有了一個基本的認(rèn)識。所以以后要多加強動手方面,以加深自己對知識點的了解。面對一個課題可能開始有很多困難,比如不知如何下手,對課題不了

5、解。但只要自己努力就可以克服這些困難,自己可以通過各種方法查詢資料,并通過與同學(xué)、老師的探討來一一解決面臨的困難。因此對自己要有信心,要相信自己的能力,也要有堅持下去的信念,不能畏難而卻。當(dāng)然做好一個課題是需要大量時間的,所以要珍惜利用好時間,規(guī)劃好時間的安排。對課題也要抱著極大的興趣,看著課題的目標(biāo)在一步步接近也是一件非常開心的事。而自己也能在這個征程中對所學(xué)的知識的價值得到充分的認(rèn)識與感觸。這次也讓我明白了自己的專業(yè)知識還很欠缺,必須努力發(fā)奮學(xué)習(xí)專業(yè)知識。只有掌握好的專業(yè)知識才能完成面臨的課題,才能把心中的想法展現(xiàn)在計算機上。 這次課程設(shè)計在老師的呵心關(guān)懷與耐心指點一步步克服所面臨的困難,

6、在些表示感。參考文獻1袁慶龍,候文義Ni-P合金鍍層組織形貌與顯微硬度研究理工大學(xué)學(xué)報,2001,32(1):51-53.(連續(xù)出版物:序號 主要責(zé)任者文獻題名J刊名,出版年份,卷號(期號):起止頁碼)2 國鈞,王連成圖書館史研究:高等教育,1979:15-18,31(專著:序號 主要責(zé)任者文獻題名出版地:出版者,出版年)3品一高校學(xué)報編輯工作現(xiàn)代化特征中國高等學(xué)校自然科學(xué)學(xué)報研究會科技編輯學(xué)論文集(2):師大學(xué),1998:10-22(論文集:序號 主要責(zé)任者文獻題名主編論文集名出版地:出版者,出版年:起止頁碼)附源代碼import java.awt.*;/import javax.

7、swing.JApplet;import java.applet.*;import java.util.Random;publicclass one extends Applet implements Runnableprivatestaticfinalintlength=10;/隊列長度privatestaticfinalintLINE_SPEED=5;/線條填充速度privatefinalintRECT_SPEED=20;/矩形填充速度privatestaticfinal Random random=new Random();staticfinalint queue_Y=newint 3;

8、/隊列豎直相距高度privateint queue=newint310;/隊列數(shù)組privateint next=newint 3;/記錄三個隊列中各個中的第一個空位private Color color=new Color310;/標(biāo)志各個進程的顏色privateinttaked_process_no;/taked_process_no:pai_queue_choose;/被選取的進程隊列private Color taked_process_cl;/被取進程的顏色private Color taked_waitthing_cl;/被取等待事件的顏色privateinttaked_waitt

9、hing_no;/被取等待事件的隊列號private wait_thing w_t=new wait_thing();privatebooleantimeover;/繪畫進程執(zhí)行路線類publicclass wait_thing extends Threadprivatefinalint wait_thing_Y=newint 3;/記錄等待事件矩形框在Y上相距的距離;privateint wait_thing=newint 3length;privateint wait_next=newint 3;private Color wait_color=new Color3length;priva

10、teintwtc;/wtc:wait_thing_choose /public wait_thing() for(int i=0;i<3;i+) for(int j=0;j<10;j+) wait_thingij=0;wait_colorij=Color.white; wait_nexti=0; wait_thing_Y0=360-360;/360 420 510wait_thing_Y1=420-360;wait_thing_Y2=510-360;wtc=0;timeover=false; publicvoid run()Graphics g=getGraphics();whil

11、e(true)if(0!=(next0+next1+next2)taked_process_no=0;if(0=next0)taked_process_no=1;if(0=next1)taked_process_no=2; in_out_process(Color.black,0,2); g.setColor(taked_process_cl);for(int i=0;i<16;i+)/g.drawLine(460, 70, 540, 70);/繪畫就緒隊列1g.drawLine(460+i*5, 70+queue_Ytaked_process_no, 465+i*5, 70+queue

12、_Ytaked_process_no);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)/繪畫就緒隊列1至/處理機的線路for(int i=0;i<31-(queue_Ytaked_process_no/5);i+)/g.drawLine(540,70,540,225);g.drawLine(540,70+queue_Ytaked_process_no+i*5,540,75+queue_Ytaked_process_no+i*5);tryThread.sleep(LINE_SPEED);catch(InterruptedE

13、xception e)for(int i=0;i<16;i+)/g.drawLine(540,225,620,225);g.drawLine(540+i*5,225,545+i*5,225);if(15=i)g.drawLine(615,220,620,225);g.drawLine(615,230,620,225);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)int manage_result=(random.nextInt(1000)%5;/模擬各個進程處理速度之間的差異int fill_speed=0;/mana

14、ge_result=2;if(4 !=manage_result) fill_speed=5+manage_result*5;/概率4/5 快速填充處理機完成此進程/if(4=manage_speed)elsefill_speed=20;/概率1/5 低速填充處理機致使超時for(int i=0;i<40;i+)/g.fillRect(620,205,200,40);/處理機填充g.fillRect(620+i*5,205,5,40);/處理機填充tryThread.sleep(fill_speed);catch(InterruptedException e)/終止進程if(0=mana

15、ge_result)|(1=manage_result)/*g.drawString("終止進程",830 ,205 );g.drawLine(820,225,920,225);/終止進程線g.drawLine(920,225,915,220);g.drawLine(920,225,915,230);*/for(int i=0;i<20;i+)g.drawLine(820+i*5,225,825+i*5,225);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)if(20=19)g.drawLine(9

16、15,220,920,225);g.drawLine(915,230,920,225);g.setColor(Color.black);g.drawLine(460, 70+queue_Ytaked_process_no, 540, 70+queue_Ytaked_process_no);/繪畫就緒隊列123g.drawLine(540,70+queue_Ytaked_process_no,540,225);/g.drawLine(540,70,540,225);g.drawLine(540,225,620,225);/g.drawLine(540,225,620,225);g.drawLin

17、e(615,220,620,225);g.drawLine(615,230,620,225);g.setColor(Color.white);g.fillRect(620,205,200,40);/g.fillRect(620,205,200,40);/處理機填充g.setColor(Color.black);g.drawRect(620,205,200,40);g.drawLine(820,225,920,225);/if(0=manage_result)&&(1=manage_result)else/manage_result=2,3,4for(int i=0;i<8

18、;i+)g.drawLine(820+i*5,235,825+i*5,235);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)/超時處理進程if(2=manage_result)for(int i=0;i<19;i+)/(860,235,860,330)g.drawLine(860, 235+i*5, 860, 244+i*5);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)for(int i=0;i<134;i+)/g.drawLine(190,

19、330,860,330);/指向超時線/g.drawLine(190,330,195,325);/g.drawLine(190,330,195,335);g.drawLine(860-i*5,330,855-i*5,330);/g.drawLine(190,330,195,325);if(133=i)g.drawLine(190,330,195,325);g.drawLine(190,330,195,335);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)/Graphics timeover_g=getGraphics();t

20、imeover=true;/update(timeover_g);/if(2=manage_result)/將進程送進等待事件隊列else/manage_result=3,4 for(int i=0;i<29+(wait_thing_Ytaked_process_no/5);i+)/(860,235,860,380)/等事件1g.drawLine(860, 235+i*5, 860, 240+i*5);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)for(int i=0;i<80;i+)/g.drawLine(86

21、0,380,460,380);/指向等事件1/g.drawLine(460,380,465,375);/g.drawLine(460,380,465,385);g.drawLine(860-i*5,380+wait_thing_Ytaked_process_no,855-i*5,380+wait_thing_Ytaked_process_no);if(79=i)g.drawLine(460,380+wait_thing_Ytaked_process_no,465,375+wait_thing_Ytaked_process_no);g.drawLine(460,380+wait_thing_Yt

22、aked_process_no,465,385+wait_thing_Ytaked_process_no);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)out_in_wait_thing(1);/wait_nexttaked_process_no+;/用黑色重繪執(zhí)行線路,處理機g.setColor(Color.black);g.drawLine(460, 70+queue_Ytaked_process_no, 540, 70+queue_Ytaked_process_no);/繪畫就緒隊列123g.drawLine(540,

23、70+queue_Ytaked_process_no,540,225);/g.drawLine(540,70,540,225);g.drawLine(540,225,620,225);/g.drawLine(540,225,620,225);g.drawLine(615,220,620,225);g.drawLine(615,230,620,225);g.setColor(Color.white);g.fillRect(620,205,200,40);/g.fillRect(620,205,200,40);/處理機填充g.setColor(Color.black);g.drawRect(620

24、,205,200,40);g.drawLine(820,235,860,235);g.drawLine(860,235,860,380+wait_thing_Ytaked_process_no);/(860,235,860,380)/等事件1g.drawLine(860,380+wait_thing_Ytaked_process_no,460,380+wait_thing_Ytaked_process_no);/g.drawLine(860,380,460,380);/指向等事件1g.drawLine(460,380+wait_thing_Ytaked_process_no,465,375+w

25、ait_thing_Ytaked_process_no);g.drawLine(460,380+wait_thing_Ytaked_process_no,465,385+wait_thing_Ytaked_process_no);/else/manage_result=3,4 /else/manage_result=2,3,4/if(0!=(next0+next1+next2)tryThread.sleep(1000);catch(InterruptedException e)/while/run/publicsynchronizedvoid out_in_wait_thing(int cho

26、ose)/接收進程:choose=1,送出進程:choose=2Graphics g=getGraphics();/System.out.println("5555");if(1=choose)if(w_t.wait_nexttaked_process_no!=length)for(int i=0;i<3;i+)for(int j=0;(j<5)&&(w_t.wait_nexti>j);j+)g.setColor(w_t.wait_colorij);g.fillRect(260+40*j,360+w_t.wait_thing_Yi ,40

27、,40);if(4>=w_t.wait_nexttaked_process_no)for(int i=4;i>=w_t.wait_nexttaked_process_no;i-)g.setColor(taked_process_cl);g.fillRect(260+40*i,360+w_t.wait_thing_Ytaked_process_no ,40 ,40 );tryThread.sleep(RECT_SPEED);catch(InterruptedException e)if(i!=w_t.wait_nexttaked_process_no)g.setColor(Color

28、.white);g.fillRect(260+40*i,360+w_t.wait_thing_Ytaked_process_no ,40 ,40 );g.setColor(Color.black);g.drawRect(260+40*i,360+w_t.wait_thing_Ytaked_process_no ,40 ,40 );if(4=i)g.setColor(Color.white);g.drawLine(460,360+w_t.wait_thing_Ytaked_process_no , 460, 400+w_t.wait_thing_Ytaked_process_no );/for(

29、int i=4)/if(4>=wait_nexttaked_process_no/if(length>wait_nexttaked_process_no)/w_t.wait_thingtaked_process_now_t.wait_nexttaked_process_no=1;w_t.wait_colortaked_process_now_t.wait_nexttaked_process_no=taked_process_cl;w_t.wait_nexttaked_process_no+;for(int i=0;i<3;i+)System.out.println(w_t.w

30、ait_nexti);else/if(w_t.wait_nexttaked_process_no=length)隊列已滿/notifyAll();/if(1=choose)/else /送出等待事件if(2=choose)System.out.println("3");/tryThread.sleep(1000);catch(InterruptedException e)for(int i=0;i<3;i+)System.out.println(w_t.wait_nexti);/*while(0=w_t.wait_next0+w_t.wait_next1+w_t.wa

31、it_next2)trywait();catch(InterruptedException e)*/for(int i=0;i<3;i+)for(int j=0;(j<5)&&(w_t.wait_nexti>j);j+)g.setColor(w_t.wait_colorij);g.fillRect(260+40*j,360+wait_thing_Yi ,40 ,40);/tryThread.sleep(1000);catch(InterruptedException e)/System.out.println("444");wtc=0;/選

32、擇等待事件隊列if(0=w_t.wait_next0)wtc=1;if(0=w_t.wait_next1)wtc=2;if(0!=w_t.wait_nextwtc)/等待事件不為空taked_waitthing_no=w_t.wtc;taked_waitthing_cl=w_t.wait_colorwtc0;for(int i=0;(i<length-1)&&(w_t.wait_nextwtc>i);i+)if(5>i)/g.setColor(colortaked_process_noi+1);/colortaked_process_noi=colortake

33、d_process_noi+1;g.setColor(w_t.wait_colorwtci+1);w_t.wait_colorwtci=wait_colorwtci+1;g.fillRect(260+40*i,360+w_t.wait_thing_Ywtc ,40 ,40 );/g.setColor(Color.white);/g.fillRect(260+40*(i+1),360+wait_thing_Ywtc ,40 ,40 );tryThread.sleep(RECT_SPEED);catch(InterruptedException e)int j=i;if(4>i)if(1=w

34、_t.wait_nextwtc)/只有一個等待事件,直接重繪第一個矩形框i=-1;g.setColor(Color.white);/清除移動的矩形框的顏色g.fillRect(260+40*(i+1),360+w_t.wait_thing_Ywtc ,40 ,40 );/g.setColor(Color.black);/重繪矩形框/g.fillRect(260+40*(i+1),360+wait_thing_Ywtc ,40 ,40 );g.setColor(Color.black);g.drawRect(260+40*(i+1),360+w_t.wait_thing_Ywtc ,40 ,40

35、 );tryThread.sleep(RECT_SPEED);catch(InterruptedException e)if(1=w_t.wait_nextwtc)i=j;if(i=4)/去掉最右邊的矩形的左邊線g.setColor(Color.white);/g.drawLine(460,360+w_t.wait_thing_Ywtc,460,400+w_t.wait_thing_Ywtc);elsew_t.wait_colorwtci=w_t.wait_colorwtci+1;if(5>w_t.wait_nextwtc)g.setColor(Color.black);/重繪最后空矩形

36、框的前面一個/g.drawRect(260+40*(4-(nexttaked_process_no-1)+1),50+queue_Ytaked_process_no ,40 ,40 );g.drawRect(260+40*(w_t.wait_nextwtc-1),50+queue_Ytaked_process_no ,40 ,40 );/for(int i=0;i<5;i+)/if(0!=wait_nextwtc)/w_t.wait_nextwtc-;/notifyAll();w_t.wait_thingwtcw_t.wait_nextwtc=0;w_t.wait_colorwtcw_t

37、.wait_nextwtc=Color.white;/if(5>w_t.wait_nextwtc)/g.setColor(Color.yellow);/重繪最后空矩形框的前面一個/g.fillRect(260+40*(w_t.wait_nextwtc),360+w_t.wait_thing_Ywtc ,40 ,40 );/g.setColor(Color.red);g.setColor(Color.black);g.drawRect(260+40*(w_t.wait_nextwtc),360+w_t.wait_thing_Ywtc ,40 ,40 );tryThread.sleep(10

38、00);catch(InterruptedException e)/if(Color.white!=w_t.wait_colorwtc3)/去掉最右邊的矩形的左邊線/g.setColor(Color.white);/g.drawLine(460,360+w_t.wait_thing_Ywtc,460,400+w_t.wait_thing_Ywtc);/for(int j=0;j< 14 ;j+)/int j=0; /g.drawLine(190, 70, 260, 70);/顏色箭頭指向就緒隊列1/g.drawLine(190,130, 260, 130);/箭頭指向就緒隊列2/g.dr

39、awLine(190,225,260,225);/箭頭指向就緒隊列3g.drawLine(190+j*5, 70 + queue_Ywtc,195+j*5, 70 + queue_Ywtc);/畫箭頭if(13=j) g.drawLine(260,70+queue_Ywtc,255,65+queue_Ywtc); g.drawLine(260, 70+queue_Ywtc, 255, 75+queue_Ywtc);tryThread.sleep(LINE_SPEED);catch(InterruptedException e)/for(int i=0;i)/if(1=w_t.wait_next

40、wtc)/等待事件不為空/notifyAll();else/g.setColor(Color.red);g.drawLine(10,10,600,600);/System.out.println(".");w_t.wait_colorwtcw_t.wait_nextwtc=Color.white;/等待事件為空,退出/if(2=choose)/public void out_in_wait_thing(int choose)/類 class paipublicvoid run()while(true)repaint();/tryThread.sleep(1000);catc

41、h(InterruptedException e)publicvoid init()/0for(int i=0;i<3;i+)/1for(int j=0;j<10;j+)/2queueij=0;colorij=Color.white;/2nexti=0;/1queue_Y0=50-50;queue_Y1=110-50;queue_Y2=205-50;taked_process_cl=Color.white;taked_waitthing_cl=Color.white;taked_process_no=0;/0publicvoid start()new wait_thing().st

42、art();Thread thd2=new Thread(this);thd2.start();publicvoid paint(Graphics g)super.paint(g);/tryThread.sleep(5000);catch(InterruptedException e)g.setColor(Color.black);g.drawString("接收進程", 50,260);/g.drawLine(40, 290, 190, 290);g.drawLine(190,290,175,285);g.drawLine(190, 290, 175, 295);g.dr

43、awLine(190, 290, 190, 70); g.drawLine(190, 70, 260, 70);/箭頭指向就緒隊列1g.drawLine(260,70,255,65);g.drawLine(260, 70, 255, 75);g.drawLine(190,130, 260, 130);/箭頭指向就緒隊列2g.drawLine(260, 130, 255, 125);g.drawLine(260, 130, 255, 135);g.drawLine(190,225,260,225);/箭頭指向就緒隊列ng.drawLine(260, 225, 255, 220);g.drawLi

44、ne(260, 225, 255, 230);g.setFont(new Font("就緒隊列1",Font.PLAIN,20);g.drawString("就緒隊列1",320,30);/就緒隊列1矩形框上面g.drawString("就緒隊列n",320,200);/就緒隊列n"."上面g.setFont(new Font(".",Font.BOLD,20);for(int num=0;num<5;num+) /繪畫就緒隊列1矩形框g.drawRect(260+40*num,50 ,4

45、0 ,40 );g.drawRect(260+40*num,110 ,40 ,40 );g.drawString(".",260+40*num ,170);g.drawRect(260+40*num,205 ,40 ,40 );g.drawString(".",260+40*5 ,170);g.setColor(Color.white);g.drawLine(260,50,260,90);g.drawLine(260,110,260,150);g.drawLine(260,205,260,245);g.setColor(Color.black);g.dr

46、awLine(460, 70, 540, 70);/就緒隊列1g.drawLine(460, 130, 540, 130);/就緒隊列2g.drawLine(460, 225, 540, 225);/就緒隊列3g.drawLine(540,70,540,225);/進程主線g.drawLine(540,225,620,225);g.drawLine(620,225,615,220);g.drawLine(620,225,615,230);g.drawString("處理機",680,195);g.drawRect(620,205,200,40);g.drawString(&

47、quot;終止進程",830 ,205 );g.drawLine(820,225,920,225);/終止進程線g.drawLine(920,225,915,220);g.drawLine(920,225,915,230);g.drawLine(820,235,860,235);/進程主線g.drawLine(860,235,860,530);g.drawString("超時",480 ,320 );g.drawLine(190,330,860,330);/指向超時線g.drawLine(190,330,195,325);g.drawLine(190,330,19

48、5,335); g.setFont(new Font("事件1發(fā)生",Font.BOLD,12);g.drawString("等事件1",595,370 );g.drawLine(860,380,460,380);/指向等事件1g.drawLine(460,380,465,375);g.drawLine(460,380,465,385);g.drawString("等事件2",595,425 );g.drawLine(860,440,460,440);/等事件2g.drawLine(460,440,465,435);g.drawLine(460,440,465,445);g.drawString("等事件M",595,515 );g.drawLine(860,530,460,530);/等事件mg.drawLine(460,530,465,525);g.drawLine(460,530,465,535);g.setFont(new Font(".",Font.BOLD,20);for(int num=0;num<5;num+)/繪畫等事件矩形框g.drawRect(260+40*num,360 ,40 ,40

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論