版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)名稱:編程模擬多進(jìn)程共享臨界資源專業(yè)班級(jí):_學(xué)生姓名:_學(xué)號(hào):_指導(dǎo)教師:_課程設(shè)計(jì)時(shí)間:軟件工程專業(yè)課程設(shè)計(jì)任務(wù)書學(xué)生姓名專業(yè)班級(jí)學(xué)號(hào)題目編程模擬多進(jìn)程共享臨界資源課題性質(zhì)其它課題來源自擬課題指導(dǎo)教師劉於勛同組姓名主要內(nèi)容要求產(chǎn)生3個(gè)進(jìn)程:1兩個(gè)進(jìn)程模擬需要進(jìn)入臨界區(qū)的用戶進(jìn)程,當(dāng)需要進(jìn)入臨界區(qū)時(shí),顯示:進(jìn)程X請(qǐng)求進(jìn)入臨界區(qū),同時(shí)向管理進(jìn)程提出申請(qǐng);申請(qǐng)返回,表示進(jìn)入了臨界區(qū)。在臨界區(qū)中等待一段隨機(jī)時(shí)間,并顯示:進(jìn)程x正在臨界區(qū);當(dāng)時(shí)間結(jié)束,顯示:進(jìn)程X退出臨界區(qū)同時(shí)向管理進(jìn)程提出退出申請(qǐng);當(dāng)申請(qǐng)返回,顯示:進(jìn)程X已退出臨界區(qū)。2、一個(gè)進(jìn)程作為原語的管理進(jìn)程,接受其他進(jìn)程的臨界區(qū)進(jìn)入
2、請(qǐng)求:如果允許進(jìn)入,則設(shè)置相應(yīng)變量,然后返回;如果不允許進(jìn)入,則進(jìn)入循環(huán)等待,直到允許為止;3、對(duì)臨界區(qū)的訪問應(yīng)遵循空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待的準(zhǔn)則。4、進(jìn)程間通信可以采用信號(hào)、消息傳遞、管道或網(wǎng)絡(luò)通信方式。任務(wù)要求理解多進(jìn)程共享臨界資源的原理,并編程實(shí)現(xiàn)參考文獻(xiàn)任滿杰等操作系統(tǒng)原理實(shí)用教程電子工業(yè)出版社湯子瀛計(jì)算機(jī)操作系統(tǒng)(修訂版)西安電子科技大學(xué)出版社張堯?qū)W史美林計(jì)算機(jī)操作系統(tǒng)教程實(shí)驗(yàn)指導(dǎo)清華大學(xué)出版社羅宇等操作系統(tǒng)課程設(shè)計(jì)機(jī)械工業(yè)出版社2005審查意見指導(dǎo)教師簽字:教研室主任簽字:年7月6日信息科學(xué)與工程課程名稱:操作系統(tǒng)原理設(shè)計(jì)題目:編程模擬多進(jìn)程共享臨界資源專業(yè):軟件工程
3、班級(jí):姓名:學(xué)號(hào):序號(hào)評(píng)審項(xiàng)目分?jǐn)?shù)滿分標(biāo)準(zhǔn)說明1內(nèi)容思路清晰,語言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確;設(shè)計(jì)方法科學(xué),分析歸納合理;結(jié)論嚴(yán)謹(jǐn),設(shè)計(jì)有應(yīng)用價(jià)值。任務(wù)飽滿,工作量適中2創(chuàng)新內(nèi)容新穎,設(shè)計(jì)能反映新技術(shù),對(duì)前人工作有改進(jìn)或突破,或有獨(dú)特見解3完整性、實(shí)用性整體構(gòu)思后合理,理論依據(jù)充分,設(shè)計(jì)完整,實(shí)用性強(qiáng)4數(shù)據(jù)準(zhǔn)確、可靠數(shù)據(jù)準(zhǔn)確,算法設(shè)計(jì)合理5規(guī)范性設(shè)計(jì)格式、繪圖、實(shí)驗(yàn)數(shù)據(jù)、標(biāo)準(zhǔn)的運(yùn)用等符合有關(guān)標(biāo)準(zhǔn)和規(guī)定6紀(jì)律性遵守課程設(shè)計(jì)紀(jì)律,聽從指導(dǎo)教師安排,設(shè)計(jì)過程態(tài)度認(rèn)真7答辯準(zhǔn)備充分,思路清晰、論點(diǎn)正確、對(duì)設(shè)計(jì)方案理解深入,問題回答有理有據(jù),簡明正確總分綜合意見指導(dǎo)教師2015年7月12日 # 1要求
4、產(chǎn)生3個(gè)進(jìn)程:1、兩個(gè)進(jìn)程模擬需要進(jìn)入臨界區(qū)的用戶進(jìn)程,當(dāng)需要進(jìn)入臨界區(qū)時(shí),顯示:“進(jìn)程請(qǐng)求進(jìn)入臨界區(qū)”,同時(shí)向管理進(jìn)程提出申請(qǐng);申請(qǐng)返回,表示進(jìn)入了臨界區(qū)。在臨界區(qū)中等待一段隨機(jī)時(shí)間,并顯示:“進(jìn)程正在臨界區(qū)”;當(dāng)時(shí)間結(jié)束,顯示:“進(jìn)程退出臨界區(qū)”,同時(shí)向管理進(jìn)程提出退出申請(qǐng);當(dāng)申請(qǐng)返回,顯示:“進(jìn)程已退出臨界區(qū)?!?、一個(gè)進(jìn)程作為原語的管理進(jìn)程,接受其他進(jìn)程的臨界區(qū)進(jìn)入請(qǐng)求:如果允許進(jìn)入,則設(shè)置相應(yīng)變量,然后返回;如果不允許進(jìn)入,則進(jìn)入循環(huán)等待,直到允許為止;退3、對(duì)臨界區(qū)的訪問應(yīng)遵循空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待的準(zhǔn)則。退4、進(jìn)程間通信可以采用信號(hào)、消息傳遞、管道或網(wǎng)絡(luò)通信方式。
5、退 2流程圖:資源是否為空1足是足結(jié)束進(jìn)程進(jìn)入臨界區(qū),等待一段隨機(jī)時(shí)間,顯示“正在等待進(jìn)入臨界區(qū)和等待時(shí)間結(jié)束釋放資源,向管理進(jìn)程由請(qǐng)返回,顯示“正在退出臨界區(qū)逍程獲得資源,向管理逍程申請(qǐng)逍入臨界區(qū),顯示正在等待進(jìn)入臨界區(qū)作輸入兩個(gè)用戶進(jìn)程和一個(gè)管理進(jìn)程4進(jìn)程申請(qǐng)資源,并顯示正在請(qǐng)求資源-3幻顯示“等待臨界區(qū)資源顯示已退出臨界區(qū)4幵始*繼續(xù)等待圖1 3運(yùn)行環(huán)境運(yùn)行環(huán)境:4開發(fā)工具和編程語言開發(fā)工具:,編程語言:5詳細(xì)設(shè)計(jì)5.1程序界面importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;imp
6、ortjavax.swing.border.LineBorder;publicclassMainFrameextendsJFrameimplementsFocusListenerJTextAreajta=newJTextArea();多行文本框staticJTextFieldjtf=newJTextField2;/單行文本框staticJButtonjb=newJButton2;按鈕ThreadShowts=newThreadShow();/界面設(shè)計(jì)publicMainFrame()super(“模擬多進(jìn)程共享臨界資源”);題目命名JLabeljl=newJLabel2;for(inti=0;
7、ijtf.length;i+)jtfi=newJTextField(12);jtfi.addFocusListener(this);jl0=newJLabel(第一進(jìn)程的名稱:”);設(shè)置標(biāo)簽名稱,顯示進(jìn)程jll=newJLabel(第二進(jìn)程的名稱:);jb0=newJButton(”模擬開始”);/設(shè)置按鈕名稱,控制程序的開始和結(jié)束jb1=newJButton(”模擬結(jié)束);JMenuBarmb=newJMenuBar();Containercont=this.getContentPane();初始化一個(gè)容器cont.setLayout(newBorderLayout();設(shè)置布局管理器JPa
8、neljp1=newJPanel();JPaneljp2=newJPanel();jp1.setLayout(newGridLayout(0,1);for(inti=0;ijtf.length;i+)/添加文本區(qū)JPaneltemp=newJPanel();temp.add(jli);temp.add(jtfi);jp1.add(temp);for(inti=0;ijb.length;i+)添加按鈕jp2.add(jbi);jp1.add(jp2);jp1.setBorder(newLineBorder(newColor(0,0,0),10);jp1.setBorder(newLineBord
9、er(newColor(238,238,238),10);cont.setLayout(newBorderLayout();cont.add(jp1,BorderLayout.NORTH);jta.setEnabled(true);JScrollPanejs=newJScrollPane(jta,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);jta.setBorder(newLineBorder(newColor(34,57,12),1);js.
10、setBorder(newLineBorder(newColor(238,238,238),10);cont.add(js,BorderLayout.CENTER);this.setSize(335,435);/定義界面大小this.setDefaultCloseOperation(3);/設(shè)置當(dāng)前界面顯示時(shí)相對(duì)屏幕的位置this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-175,Toolkit.getDefaultToolkit().getScreenSize().height/2-200);this.se
11、tResizable(false);/窗口大小不可變this.setVisible(true);/顯示當(dāng)前窗口jb1.addActionListener(newActionListener()/jb1添加監(jiān)聽器publicvoidactionPerformed(ActionEventarg0)if(ts.tu1!=null&ts.tu1.isAlive()errupt();if(ts.tu2!=null&ts.tu2.isAlive()errupt();System.exit(0););jb0.addActionListener(newActionLis
12、tener()/jb0添加監(jiān)聽器publicvoidactionPerformed(ActionEventarg0)for(inti=0;ijtf.length;i+)jtfi.setEditable(false);MainFrame.jb0.setEnabled(false);jta.setText();ts.run(jtf0.getText().trim(),jtf1.getText().trim(),jta););publicstaticvoidmain(Stringares)newMainFrame();publicvoidfocusGained(FocusEventarg0)/當(dāng)用戶
13、點(diǎn)擊文本框時(shí),文本框就把當(dāng)前內(nèi)容清空J(rèn)TextFieldjtf=(JTextField)arg0.getSource();jtf.setText();publicvoidfocusLost(FocusEventarg0)5.2classThreadManagerimplementsRunnable/指向要管理得臨界資源ThingSomeobj;/記錄obj是否已有使用者booleanjud=false;Vectorvec=newVector();Stringname;publicThreadManager(ThingSomets)obj=ts;publicvoidrun()while(vec.
14、size()!=0)for(inti=0;ivec.size();i+)if(!(Thread)vec.get(i).isAlive()/如果進(jìn)程執(zhí)行結(jié)束(Thread)vec.get(i).interrupt();/*使被阻塞的進(jìn)程拋出一個(gè)中斷異常,從而使進(jìn)程提前結(jié)束阻塞狀態(tài),退出堵塞代碼。*/vec.remove(i);tryThread.currentThread().sleep(100);catch(InterruptedExceptione)e.printStackTrace();JOptionPane.showMessageDialog(null,模擬結(jié)束,信息,/結(jié)束窗口JOpt
15、ionPane.INFORMATION_MESSAGE);for(inti=0;iMainFrame.jtf.length;i+)MainFrame.jtfi.setText();MainFrame.jtfi.setEditable(true);MainFrame.jb0.setEnabled(true);publicvoidaddThreadUser(ThreadUseruser)vec.add(user);publicvoidtake(Threaduser)/進(jìn)程控制塊System.out.println(”進(jìn)程+user.getName()+請(qǐng)求資源);obj.jta.append(”進(jìn)
16、程+user.getName()+請(qǐng)求資源n);如果jud為true,表示有進(jìn)程正在使用資源,jud為false,表示資源沒有被使用while(jud)trySystem.out.println(進(jìn)程+user.getName()+等待資源);obj.jta.append(進(jìn)程+user.getName()+等待資源n);synchronized(obj)/進(jìn)入資源的等待池中,等待被喚醒obj.wait();catch(InterruptedExceptione)System.out.println(進(jìn)程+user.getName()+進(jìn)入臨界區(qū));obj.jta.append(進(jìn)程+user
17、.getName()+進(jìn)入臨界區(qū)n);jud=true;/使用資源obj.useing(user);jud=false;System.out.println(進(jìn)程+user.getName()+已退出臨界區(qū));obj.jta.append(進(jìn)程+user.getName()+已退出臨界區(qū)n);synchronized(obj)/把資源等待池中的進(jìn)程喚醒obj.notifyAll();5.3臨界資源設(shè)計(jì)代碼classThingSomestaticJTextAreajta=newJTextArea();publicThingSome()publicThingSome(JTextAreajta)th
18、is.jta=jta;publicvoiduseing(Threaduser)System.out.println(”進(jìn)程+user.getName()+正在臨界區(qū)”);jta.append(”進(jìn)程+user.getName()+正在臨界區(qū)n);try/模擬使用者使用了該資源一段時(shí)間Thread.currentThread().sleep(500);catch(InterruptedExceptione)e.printStackTrace();System.out.println(進(jìn)程+user.getName()+退出臨界區(qū));jta.append(進(jìn)程+user.getName()+退出臨
19、界區(qū)n);5.4管理進(jìn)程代碼設(shè)計(jì)classThreadUserextendsThread/管理進(jìn)程,接受其他進(jìn)程的臨界區(qū)進(jìn)入請(qǐng)求并處理ThreadManagertm=null;/供構(gòu)造函數(shù)publicThreadUser(ThreadManagertm)this.tm=tm;publicvoidrun()for(inti=0;i30;i+)/進(jìn)程請(qǐng)求使用資源tm.take(this);ThingSome.jta.append(進(jìn)程+this.getName()+完成工作n);5.5通信模塊設(shè)計(jì)classThreadShowThreadUsertu1;ThreadUsertu2;publicvo
20、idrun(Stringname1,Stringname2,JTextAreajta)ThingSomets=newThingSome(jta);ThreadManagertm=newThreadManager(ts);Threadth=newThread(tm);tu1=newThreadUser(tm);tu1.setName(name1); 圖 tu2=newThreadUser(tm);tu2.setName(name2);tu1.start();tu2.start();tm.addThreadUser(tu1);tm.addThreadUser(tu2);ThreadmanagerT
21、hread=newThread(tm);managerThread.start();6測試數(shù)據(jù):第一個(gè)進(jìn)程:第二個(gè)進(jìn)程:6.程1序運(yùn)行界面:圖輸2入進(jìn)程名稱:圖3點(diǎn)擊模擬開始,顯示程序運(yùn)行過程:輸4出程序結(jié)果:圖 # ,3148067任滿杰,操作系統(tǒng)原理實(shí)用教程電子工業(yè)出版社,63湯子瀛,計(jì)算機(jī)操作系統(tǒng)(第三版),西安電子科技大學(xué)出版社TOC o 1-5 h z張堯?qū)W,計(jì)算機(jī)操作系統(tǒng)教程實(shí)驗(yàn)指導(dǎo),清華大學(xué)出版社,羅宇等,操作系統(tǒng)課程設(shè)計(jì),機(jī)械工業(yè)出版社,94劉繼承,程序設(shè)計(jì)及實(shí)驗(yàn),清華大學(xué)出版社,198 #通過這次課程設(shè)計(jì),我們更進(jìn)一步的熟悉計(jì)算機(jī)操作系統(tǒng)的內(nèi)涵,同時(shí)也對(duì)語法和語言的面向?qū)ο筇?/p>
22、性有了一定的理解。我也更加深刻地理解面向?qū)ο蟮幕靖拍詈兔嫦驅(qū)ο蟪绦蛟O(shè)計(jì)的基本原理。這次課程設(shè)計(jì)也提高了我們的編程能力,培養(yǎng)了我們利用面向?qū)ο蟮拈_發(fā)方法進(jìn)行系統(tǒng)開發(fā)的技巧和良好的程序設(shè)計(jì)風(fēng)格;使我們進(jìn)一步學(xué)習(xí)和利用軟件工程思想進(jìn)行軟件開發(fā)和軟件文檔的編制。操作系統(tǒng)是用戶和計(jì)算機(jī)硬件之間的橋梁,用戶通過軟件向操作系統(tǒng)提交作業(yè),每個(gè)作業(yè)有一個(gè)或多個(gè)進(jìn)程組成。所以本設(shè)計(jì)的主要功能是實(shí)現(xiàn)計(jì)算機(jī)的模擬進(jìn)程調(diào)度與共享臨界資源。本模擬操作系統(tǒng)由三個(gè)系統(tǒng)進(jìn)程組成,由原語管理所有的子進(jìn)程和總的內(nèi)存和資源分配,兩個(gè)進(jìn)程對(duì)臨界區(qū)進(jìn)行申請(qǐng)資源和占有。而管理進(jìn)程(原語)和子進(jìn)程都是一個(gè)類的對(duì)象,不同的是系統(tǒng)進(jìn)程由程序自
23、動(dòng)初始化和運(yùn)行,而子進(jìn)程須由模擬用戶提交。在這次編制中,我學(xué)會(huì)了很多東西,也找出了自己的一些不足。通過這次課程設(shè)計(jì)我又加深了對(duì)這些知識(shí)的記憶;其次是各個(gè)功能的算法,以前還是很模糊,現(xiàn)在總算有領(lǐng)悟啦;再次是整個(gè)工程的全局把握還不夠,有時(shí)遺漏忘點(diǎn),不過最后在不斷地修改中完成了這次課程設(shè)計(jì)。 # 源程序importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjavax.swing.border.LineBorder;publicclassMainFrameextendsJFrameimpl
24、ementsFocusListenerJTextAreajta=newJTextArea();多行文本框staticJTextFieldjtf=newJTextField2;/單行文本框staticJButtonjb=newJButton2;按鈕ThreadShowts=newThreadShow();/界面設(shè)計(jì)publicMainFrame()super(“模擬多進(jìn)程共享臨界資源”);題目命名JLabeljl=newJLabel2;for(inti=0;ijtf.length;i+)jtfi=newJTextField(12);jtfi.addFocusListener(this);jl0=
25、newJLabel(第一進(jìn)程的名稱:”);設(shè)置標(biāo)簽名稱,顯示線程jll=newJLabel(第二進(jìn)程的名稱:);jb0=newJButton(”模擬開始”);/設(shè)置按鈕名稱,控制程序的開始和結(jié)束jb1=newJButton(”模擬結(jié)束);JMenuBarmb=newJMenuBar();Containercont=this.getContentPane();初始化一個(gè)容器cont.setLayout(newBorderLayout();設(shè)置布局管理器JPaneljp1=newJPanel();JPaneljp2=newJPanel();jp1.setLayout(newGridLayout(0
26、,1);for(inti=0;ijtf.length;i+)/添加文本區(qū)JPaneltemp=newJPanel();temp.add(jli);temp.add(jtfi);jp1.add(temp);for(inti=0;ijb.length;i+)添加按鈕jp2.add(jbi);jp1.add(jp2);l4l4jp1.setBorder(newLineBorder(newColor(0,0,0),10);jp1.setBorder(newLineBorder(newColor(238,238,238),10);cont.setLayout(newBorderLayout();cont
27、.add(jp1,BorderLayout.NORTH);jta.setEnabled(true);JScrollPanejs=newJScrollPane(jta,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);jta.setBorder(newLineBorder(newColor(34,57,12),1);js.setBorder(newLineBorder(newColor(238,238,238),10);cont.add(js,Bord
28、erLayout.CENTER);this.setSize(335,435);/定義界面大小this.setDefaultCloseOperation(3);/設(shè)置當(dāng)前界面顯示時(shí)相對(duì)屏幕的位置this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-175,Toolkit.getDefaultToolkit().getScreenSize().height/2-200);this.setResizable(false);/窗口大小不可變this.setVisible(true);/顯示當(dāng)前窗口jbl.addActi
29、onListener(newActionListener()/jb1添加監(jiān)聽器publicvoidactionPerformed(ActionEventarg0)if(ts.tul!=null&ts.tul.isAlive()errupt();if(ts.tu2!=null&ts.tu2.isAlive()errupt();System.exit(0););jb0.addActionListener(newActionListener()/jb0添加監(jiān)聽器publicvoidactionPerformed(ActionEventarg0)for(inti
30、=0;ijtf.length;i+)jtfi.setEditable(false);MainFrame.jb0.setEnabled(false);jta.setText();ts.run(jtf0.getText().trim(),jtfl.getText().trim(),jta););publicstaticvoidmain(Stringares)newMainFrame(); publicvoidfocusGained(FocusEventarg0)/*當(dāng)用戶點(diǎn)擊文本框時(shí),文本框就把當(dāng)前內(nèi)容清空*/JTextFieldjtf=(JTextField)arg0.getSource();j
31、tf.setText();publicvoidfocusLost(FocusEventarg0)/臨界區(qū)classThreadManagerimplementsRunnable/指向要管理得臨界資源ThingSomeobj;/記錄obj是否已有使用者booleanjud=false;Vectorvec=newVector();Stringname;publicThreadManager(ThingSomets)obj=ts;publicvoidrun()while(vec.size()!=0)for(inti=0;ivec.size();i+)if(!(Thread)vec.get(i).is
32、Alive()/如果進(jìn)程執(zhí)行結(jié)束(Thread)vec.get(i).interrupt();/*使被阻塞的進(jìn)程拋出一個(gè)中斷異常,從而使進(jìn)程提前結(jié)束阻塞狀態(tài),退出堵塞代碼。*/vec.remove(i);tryThread.currentThread().sleep(100);catch(InterruptedExceptione)e.printStackTrace();JOptionPane.showMessageDialog(null,模擬結(jié)束,信息,/結(jié)束窗口JOptionPane.INFORMATION_MESSAGE);for(inti=0;iMainFrame.jtf.length
33、;i+)MainFrame.jtfi.setText();MainFrame.jtfi.setEditable(true);MainFrame.jb0.setEnabled(true);publicvoidaddThreadUser(ThreadUseruser)vec.add(user);publicvoidtake(Threaduser)/進(jìn)程控制塊System.out.println(”進(jìn)程+user.getName()+請(qǐng)求資源);obj.jta.append(”進(jìn)程+user.getName()+請(qǐng)求資源n);如果jud為true,表示有進(jìn)程正在使用資源,jud為false,表示資源
34、沒有被使用while(jud)trySystem.out.println(進(jìn)程+user.getName()+等待資源);obj.jta.append(進(jìn)程+user.getName()+等待資源n);synchronized(obj)/進(jìn)入資源的等待池中,等待被喚醒obj.wait();catch(InterruptedExceptione)System.out.println(進(jìn)程+user.getName()+進(jìn)入臨界區(qū));obj.jta.append(進(jìn)程+user.getName()+進(jìn)入臨界區(qū)n);jud=true;/使用資源obj.useing(user);jud=false;System.out.print
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 店鋪裝修施工協(xié)議
- 家居賣場半包裝修合同樣本
- 裝修無障礙設(shè)施增項(xiàng)協(xié)議
- 生態(tài)農(nóng)業(yè)融資居間合同樣本
- 水果連鎖店供應(yīng)鏈運(yùn)輸合同
- 珠寶玉石代理運(yùn)輸協(xié)議范本
- 豪華酒店水電裝修服務(wù)合同
- 房地產(chǎn)經(jīng)紀(jì)居間合同范本
- 金融機(jī)構(gòu)裝修施工合同樣本
- 酒店用品年度貨運(yùn)合同樣本
- 《數(shù)列的概念》說課稿
- (完整word版)人教版一年級(jí)(上)識(shí)字卡片可打印分解
- 2023年全國中小學(xué)生禁毒知識(shí)競賽經(jīng)典題庫及答案(370題)
- 資產(chǎn)負(fù)債表(帶公式)
- 中班健康課件《我會(huì)正確用餐》
- 基礎(chǔ)化學(xué)實(shí)驗(yàn)講義
- 2023微博用戶分析報(bào)告
- 裝修工程施工方案(20篇)
- 基于PLC的八層電梯控制系統(tǒng)設(shè)計(jì)
- 清冰雪服務(wù)方案(技術(shù)標(biāo))
- 群體性事件的特點(diǎn)、成因及對(duì)策
評(píng)論
0/150
提交評(píng)論