




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
5.4時(shí)間片輪詢(xún)多任務(wù)操作系統(tǒng)目錄1概述2整體規(guī)劃3任務(wù)控制塊4內(nèi)部變量初始化5創(chuàng)建任務(wù)6啟動(dòng)多任務(wù)環(huán)境longjmpInIsr()
9任務(wù)調(diào)度7時(shí)鐘節(jié)拍中斷8任務(wù)延時(shí)10刪除任務(wù)11運(yùn)行的任務(wù)難以得知其他任務(wù)狀態(tài),任務(wù)切換時(shí)機(jī)難以把握。如果一個(gè)任務(wù)死掉,勢(shì)必造成整個(gè)系統(tǒng)死掉。協(xié)作式多任務(wù)系統(tǒng)任務(wù)協(xié)作式多任務(wù)系統(tǒng)的特點(diǎn)安全性復(fù)雜性協(xié)作式多任務(wù)系統(tǒng)中,任務(wù)切換需正在運(yùn)行的任務(wù)主動(dòng)讓出CPU,這不僅帶來(lái)一些安全隱患,而且使程序設(shè)計(jì)相當(dāng)?shù)膹?fù)雜。任務(wù)調(diào)度任務(wù)調(diào)度交給操作系統(tǒng),引入調(diào)度算法調(diào)度算法時(shí)間片輪詢(xún)1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢(xún)3調(diào)度算法時(shí)間片輪詢(xún)1tt任務(wù)的運(yùn)行時(shí)間時(shí)間片輪詢(xún)系統(tǒng)中任務(wù)運(yùn)行情況在時(shí)間片輪詢(xún)操作系統(tǒng)中,CPU的執(zhí)行時(shí)間被劃分為若干時(shí)間片,然后讓處于就緒狀態(tài)的任務(wù),按順序輪流占用CPU。當(dāng)時(shí)間片用完時(shí),即使任務(wù)未執(zhí)行完,系統(tǒng)也剝奪此任務(wù)的CPU使用權(quán)力。時(shí)間片長(zhǎng)度Δt一般為1~10ms
優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢(xún)3任務(wù)A
任務(wù)B任務(wù)C
所有任務(wù)相同對(duì)待,分時(shí)運(yùn)行。調(diào)度算法時(shí)間片輪詢(xún)1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢(xún)3+
低優(yōu)先級(jí)+
中優(yōu)先級(jí)+
高優(yōu)先級(jí)任務(wù)A
任務(wù)B任務(wù)C
t高優(yōu)先級(jí)任務(wù)先運(yùn)行t高優(yōu)先級(jí)任務(wù)搶占低優(yōu)先級(jí)任務(wù)不同任務(wù)不同對(duì)待,優(yōu)先級(jí)高任務(wù)的先運(yùn)行。調(diào)度算法時(shí)間片輪詢(xún)1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢(xún)3這種調(diào)度算法情況較復(fù)雜,類(lèi)型較多,自己去學(xué)習(xí)了解。任務(wù)切換時(shí)機(jī)分配給任務(wù)的時(shí)間片已到任務(wù)主動(dòng)請(qǐng)求調(diào)度12任務(wù)在調(diào)用操作系統(tǒng)提供的“管理”類(lèi)服務(wù)(如刪除任務(wù)等)和“等待”類(lèi)服務(wù)(如延時(shí)、獲取信號(hào)量、等待消息等)時(shí),會(huì)主動(dòng)請(qǐng)求調(diào)度。操作系統(tǒng)采用一個(gè)周期性的中斷來(lái)管理時(shí)間片,在這個(gè)中斷服務(wù)函數(shù)中,判斷運(yùn)行的任務(wù)是否用完了時(shí)間片。中斷中切換任務(wù)使用時(shí)間片輪詢(xún)調(diào)度的操作系統(tǒng)中,會(huì)在兩種下進(jìn)行任務(wù)切換。目錄2整體規(guī)劃1概述34任務(wù)控制塊內(nèi)部變量初始化時(shí)間片輪詢(xún)操作系統(tǒng)規(guī)劃時(shí)間片輪詢(xún)調(diào)度算法時(shí)間片輪詢(xún)多任務(wù)操作系統(tǒng)協(xié)作式多任務(wù)系統(tǒng)TinyOS51V1.0TinyOS51V1.1
TinyOS51V1.1采用最簡(jiǎn)單的時(shí)間片輪詢(xún)調(diào)度算法,在每個(gè)時(shí)鐘節(jié)拍中斷時(shí)調(diào)度,即分配給任務(wù)的時(shí)間片為一個(gè)時(shí)鐘節(jié)拍。
這樣,在任務(wù)控制塊中不僅不需要保存時(shí)鐘任務(wù)剩余的時(shí)鐘節(jié)拍,而且也不必編寫(xiě)計(jì)算任務(wù)的剩余時(shí)間和設(shè)置任務(wù)時(shí)間片的代碼。TinyOS51從V1.0到V1.1的的改變TinyOS51V1.0TinyOS51v1.1任務(wù)調(diào)度函數(shù)tnOsSched()__tnOsSched()任務(wù)延時(shí)函數(shù)無(wú)tnOsTimeDly()時(shí)鐘節(jié)拍處理函數(shù)無(wú)tnOsTimeTick()TinyOS51V1.0和TinyOS51V1.1的API不同點(diǎn)提供操作作系統(tǒng)的的一種基基本服務(wù)務(wù)——延時(shí)服務(wù)務(wù),延時(shí)時(shí)以時(shí)鐘鐘節(jié)拍為為單位。。在TinyOS51中,時(shí)鐘鐘節(jié)拍中中斷由用用戶(hù)實(shí)現(xiàn)現(xiàn),在時(shí)時(shí)鐘節(jié)拍拍中斷處處理函數(shù)數(shù)中調(diào)用用tnOsTimeTick()。voidtask0(void){TMOD=(TMOD&0xF0)|0x01;TL0=0x00;//TH0=0x00;//初始化timer0,即TR0=1;//初始化時(shí)鐘鐘節(jié)拍ET0=1;//中斷。TF0=0;//while(1){__GucTask0++;}}/**一個(gè)簡(jiǎn)單的的任務(wù),無(wú)無(wú)限循環(huán)中中讓*__GucTask0++。*/voidtask1(void){while(1){__GucTask0++;}}/**用戶(hù)實(shí)現(xiàn)時(shí)時(shí)鐘節(jié)拍中中斷服務(wù)函函數(shù),*并調(diào)用tnOsTimeTick()。*/voidtimer0ISR(void)__interrupt1{tnOsTimeTick();}/**1.初始化系統(tǒng)統(tǒng)*2.創(chuàng)建任務(wù)*3.啟動(dòng)系統(tǒng)*/voidmain(void){tnOsInit();tnOsTaskCreate(task0,__GucTaskStks[0];tnOsTaskCreate(task1,__GucTaskStk[1]);tnOsStart();}資源配置與與示例任務(wù)函數(shù)task0()和task1()時(shí)鐘節(jié)拍中中斷服務(wù)函函數(shù)timer0ISR()main函數(shù)main()staticidataunsignedchar__GucTaskStk[2][32];staticunsignedchar__GucTask0;staticunsignedchar__GucTask1;//分配任務(wù)堆堆棧//任務(wù)0測(cè)試變量//任務(wù)1測(cè)試變量全局變量定定義函數(shù)實(shí)現(xiàn)目錄錄3任務(wù)控制塊塊45內(nèi)部變量初初始化創(chuàng)建任務(wù)12概述整體規(guī)劃任務(wù)控制塊塊TinyOS51V1.1增加加了了延延時(shí)時(shí)服服務(wù)務(wù)功功能能,,因因此此,,在在TCB中增增加加了了一一個(gè)個(gè)記記錄錄時(shí)時(shí)間間的的成成員員uiTicks。#define__TN_TASK_FLG_DEL0x00//任務(wù)務(wù)被被刪刪除除#define__TN_TASK_FLG_RDY0x01//任務(wù)務(wù)就就緒緒#define__TN_TASK_FLG_DLY0x02//任務(wù)務(wù)延延時(shí)時(shí)structtn_os_tcb{jmp_bufjbTaskContext;//任務(wù)務(wù)上上下下文文unsignedcharucTaskStat;//任務(wù)務(wù)狀狀態(tài)態(tài)unsignedintuiTicks;//任務(wù)務(wù)延延時(shí)時(shí)時(shí)時(shí)間間};typedefstructtn_os_tcbTN_OS_TCB;staticdataTN_OS_TCB__GtcbTasks[TN_OS_MAX_TASKS];//任務(wù)務(wù)控控制制塊塊數(shù)數(shù)組組與任任務(wù)務(wù)控控制制塊塊相相關(guān)關(guān)代代碼碼::目錄錄4內(nèi)部部變變量量初初始始化化56創(chuàng)建建任任務(wù)務(wù)啟動(dòng)動(dòng)多多任任務(wù)務(wù)環(huán)環(huán)境境23整體體規(guī)規(guī)劃劃任務(wù)務(wù)控控制制塊塊tnOsInit()voidtnOsInit(void){TN_OS_TASK_HANDLEthTask;//操作作的的任任務(wù)務(wù)for(thTask=0;thTask<TN_OS_MAX_TASKS;thTask++){__GtcbTasks[thTask].ucTaskStat=__TN_TASK_FLG_DEL;//任務(wù)務(wù)初初始始處處于于刪刪除除狀狀態(tài)態(tài)__GtcbTasks[thTask].uiTicks=0;//設(shè)置置初初值值}__GthTaskCur=0;//初始始運(yùn)運(yùn)行行0號(hào)任任務(wù)務(wù)}由于于TCB增加加了了一一個(gè)個(gè)uiTicks,則則在在tnOsInit()中進(jìn)進(jìn)行行初初始始化化。。OS初始始化化函函數(shù)數(shù)代代碼碼::目錄錄5創(chuàng)建建任任務(wù)務(wù)67啟動(dòng)動(dòng)多多任任務(wù)務(wù)環(huán)環(huán)境境任務(wù)務(wù)調(diào)調(diào)度度34任務(wù)務(wù)控控制制塊塊內(nèi)部部變變量量初初始始化化通常常,,為為了了提提高高可可移移植植性性,,采采用用一一個(gè)個(gè)宏宏或或函函數(shù)數(shù)來(lái)來(lái)編編寫(xiě)寫(xiě)實(shí)實(shí)現(xiàn)現(xiàn)開(kāi)開(kāi)中中斷斷和和關(guān)關(guān)中中斷斷程程序序。。由由于于TinyOS51僅適適合合80C51系列列單單片片機(jī)機(jī),,故故直直接接使使用用““EA=0”和和““EA=1”。。創(chuàng)建建任任務(wù)務(wù)函函數(shù)數(shù)tnOsTaskCreate()由于于tnOsTaskCreate()要操操作作TCB,而而時(shí)時(shí)鐘鐘節(jié)節(jié)拍拍中中斷斷中中也也要要操操作作TCB,因因此此tnOsTaskCreate()中操操作作TCB的代代碼碼為為臨臨界界區(qū)區(qū)代代碼碼,,要要避避免免被被時(shí)時(shí)鐘鐘節(jié)節(jié)拍拍中中斷斷打打斷斷。。TinyOS51中采采用用開(kāi)/關(guān)中中斷斷的方方式式解解決決此此問(wèn)問(wèn)題題。。TN_OS_TASK_HANDLEtnOsTaskCreate(void(*pfuncTask)(void),idataunsginedchar*pucStk){TN_OS_TASK_HANDLEthRt;for(thRt=0;thRt<TN_OS_MAX_TASKS;thRt++){EA=0;//禁止中斷if(__GtcbTasks[thRt].ucTaskStat==__TN_TASK_FLG_DEL){setTaskJmp(pfuncTask,pucStk,__GtcbTasks[thRt].jbTaskContext);__GtcbTask[thRt].ucTaskStat=__TN_TASK_FLG_RDY;EA=1;//允許中斷returnthRt;}EA=1;//允許中斷}目錄錄6啟動(dòng)多任務(wù)環(huán)環(huán)境78任務(wù)調(diào)度時(shí)鐘節(jié)拍中斷斷45內(nèi)部變量初始始化創(chuàng)建任務(wù)tnOsStart()在TinyOS51V1.1中,如果不允允許中斷,則則時(shí)鐘節(jié)拍中中斷服務(wù)程序序不會(huì)運(yùn)行,,因此,在tnOsStart()中增加允許中中斷的代碼。。voidtnOsStart(void){EA=1;//允許中斷l(xiāng)ongjmp(__GtcbTask[0].jbTaskContext);//執(zhí)行0號(hào)任務(wù)}tnOsInit()中__GthTaskCur=0,即當(dāng)前運(yùn)行任任務(wù)為0號(hào)任務(wù)。目錄錄7任務(wù)調(diào)度89時(shí)鐘節(jié)拍中斷斷l(xiāng)ongjmpInIsr()56創(chuàng)建任務(wù)啟動(dòng)多任務(wù)環(huán)環(huán)境__tnOsSched()tnOsSched()開(kāi)/關(guān)中斷代碼__tnOsSched()TinyOS51V1.0TinyOS51V1.1任務(wù)調(diào)度函數(shù)數(shù)__tnOsSched()中也要操作TCB,因此也需要要加入開(kāi)/關(guān)中斷代碼包包含臨界區(qū)。。另外,__tnOsSched()不再提供給任任務(wù)直接調(diào)用用,僅供內(nèi)部部調(diào)用,因此此添加前綴““__”。保護(hù)臨界資源源目錄錄8時(shí)鐘節(jié)拍中斷斷9longjmpInIsr()任務(wù)延時(shí)67啟動(dòng)多任務(wù)環(huán)環(huán)境任務(wù)調(diào)度10如果uiTicks不為0,則uiTicks--,即縮短延時(shí)時(shí)時(shí)間。未使使用任務(wù)狀態(tài)態(tài)標(biāo)志判斷任任務(wù)是否處于于延時(shí)狀態(tài)。。這是因?yàn)門(mén)inyOS51更高的版本具具有超時(shí)功能能,需要使用用uiTicks來(lái)判斷任務(wù)是是否超時(shí)。如果uiTicks為0,則將任務(wù)設(shè)設(shè)置為就緒狀狀態(tài)。為了向向上兼容超時(shí)時(shí)代碼,即區(qū)區(qū)分系統(tǒng)服務(wù)務(wù)是正常返回回還是超時(shí)返返回,未直接接將任務(wù)設(shè)置置為就緒狀態(tài)態(tài),而使用““|=”操作。時(shí)鐘節(jié)拍中斷斷大多數(shù)操作系系統(tǒng)中的延時(shí)時(shí)管理和中斷斷服務(wù)程序中中的任務(wù)切換換功能,分別別是用兩個(gè)函函數(shù)實(shí)現(xiàn)的,,由于TinyOS51V1.1是純粹的時(shí)間間片輪詢(xún)操作作系統(tǒng),非時(shí)時(shí)鐘節(jié)拍中斷斷的中斷服務(wù)務(wù)程序不進(jìn)行行任務(wù)切換操操作,因此將將二者合二為為一。for(thTask=0;thTask<TN_OS_MAX_TASKS;thTask++){if(__GtcbTasks[thTask].uiTicks!=0){__GtcbTasks[thTask].uiTicks--;//縮短延時(shí)時(shí)間間if(__GtcbTasks[thTask].uiTicks==0){__GtcbTasks[thTask].ucTaskStat|=__TN_TASK_FLG_RDY;//設(shè)置任務(wù)就緒緒狀態(tài)位}}}}延時(shí)管理1任務(wù)切換2對(duì)于80C51來(lái)說(shuō),規(guī)定::一般函數(shù)返返回使用RET指令,而中斷斷返回使用RETI指令。由于longjmp()函數(shù)是使用RET指令返回的,,如果在時(shí)鐘鐘節(jié)拍中斷中中繼線(xiàn)使用longjmp(),則任務(wù)切換換后CPU會(huì)認(rèn)為中斷仍仍未退出,同同級(jí)中斷(包包括自身)將將被屏蔽,從從而造成整個(gè)個(gè)系統(tǒng)執(zhí)行錯(cuò)錯(cuò)誤。因此必必須將longjmp()函數(shù)改為longjmpInIsr()。時(shí)鐘節(jié)拍中斷斷大多數(shù)操作系系統(tǒng)中的延時(shí)時(shí)管理和中斷斷服務(wù)程序中中的任務(wù)切換換功能,分別別是用兩個(gè)函函數(shù)實(shí)現(xiàn)的,,由于TinyOS51V1.1是純粹的時(shí)間間片輪詢(xún)操作作系統(tǒng),非時(shí)時(shí)鐘節(jié)拍中斷斷的中斷服務(wù)務(wù)程序不進(jìn)行行任務(wù)切換操操作,因此將將二者合二為為一。for(thTask=0;thTask<TN_OS_MAX_TASKS;thTask++){thTmp2++;if(thTmp2>=TN_OS_MAX_TASKS){thTmp2=0;}if((__GtcbTasks[thTmp2].ucTaskStat&__TN_TASK_FLG_RDY)!=0){cTmp1=setjump(__GtcbTask[__GthTaskCur].jbTaskContext);//保持上下文if(cTmep1==0){__GthTaskCur=thTmp2;longjmpInIsr(__GtcbTasks[thTmp2].jbTaskContext);//中斷中切換上上下文}}}延時(shí)管理1任務(wù)切換2目錄錄9longjmpInIsr()任務(wù)延時(shí)刪除任務(wù)78任務(wù)調(diào)度時(shí)鐘節(jié)拍中斷斷1110中斷中切換任任務(wù)在中斷中切換換任務(wù),不能能再使用longjmp(),因?yàn)橹袛嘈栊枰褂脤?zhuān)用用返回指令RETI,非RET指令。charlongjmpInIsr(jmp_bufBuf)__naked{unsignedcharucSpSave;//用于保存堆棧棧指針的變量量dataunsignedchar*pucBuf=(datavoid*)0;//指向上下文信信息存儲(chǔ)位置置的指針pucBuf=(dataunsignedchar*)jbBuf;ucSpSave=*pucBuf++;bp=*pucBuf++;*((dataunsignedchar*)((char)(ucSpSave)))=*pucBuf++;*((dataunsignedchar*)((char)(ucSpSave––1)))=*pucBuf;SP=ucSpSave;DPL=1;_asmRETI_endasm;}將DPL設(shè)置為1,使返回值為為1。因?yàn)镾DCC51規(guī)定:char類(lèi)型返回值保保存在DPL中。采用__naked修飾,表示此此函數(shù)是無(wú)保保護(hù)的,即編編譯器不會(huì)生生成此函數(shù)的的起始和結(jié)尾尾代碼。使用用者將完全控控制這個(gè)過(guò)程程,這里用于于加入RETI指令。目錄錄任務(wù)延時(shí)刪除任務(wù)78時(shí)鐘節(jié)拍中斷斷l(xiāng)ongjmpInIsr()1110任務(wù)延時(shí)函數(shù)數(shù)tnOsTimeDly()voiddelay(unsignedintuiDly){unsignedinti,
j;for(i=0;i<uiDly;i++){ for(j=0;j<1000;j++){ }}}CPU處于空轉(zhuǎn)狀態(tài),效率太低。傳統(tǒng)延時(shí)voidtnOsTimeDly(unsignedintuiTick){if(uiTick!=0){ EA=0; __GtcbTasks[__GthTaskCur].ucTaskStat
=__TN_TASK_FLG_DLY; __GtcbTasks[__GthTaskCur].uiTick=uiTick; EA=1;}__tnOsSched();__GtcbTasks[__GthTaskCur].ucTaskStat
=__TN_TASK_FLG_RDY;
//延時(shí)結(jié)束}任務(wù)延時(shí)切換到其他任任務(wù)運(yùn)行設(shè)置延時(shí)時(shí)間間,讓時(shí)鐘節(jié)節(jié)拍處理函數(shù)數(shù)tnOsTimeTick()更新剩余的延延時(shí)時(shí)間。目錄錄刪除任務(wù)任務(wù)延時(shí)78時(shí)鐘節(jié)拍中斷斷l(xiāng)ongjmpInIsr()1011刪除任務(wù)函數(shù)數(shù)tnOsTaskDel()與V1.0版本相比,TinyOS51V1.1版本在tnOsTaskDel()函數(shù)中增加了了初始化uiTicks和開(kāi)/關(guān)中斷代碼。。voidtnOsTaskDel(TN_OS_TASK_HANDLEthTask){…….EA=0;__GtcbTasks[thTask].ucTaskStat=__TN_TASK_FLG_DEL;__GtcbTasks[thTask].uiTicks=0;EA=1;if(thTask==__GthTaskCur){__tnOsSched();}}9、靜夜四四無(wú)鄰,,荒居舊舊業(yè)貧。。。12月-2212月-22Saturday,December24,202210、雨中黃葉樹(shù)樹(shù),燈下白頭頭人。。07:34:5507:34:5507:3412/24/20227:34:55AM11、以以我我獨(dú)獨(dú)沈沈久久,,愧愧君君相相見(jiàn)見(jiàn)頻頻。。。。12月月-2207:34:5507:34Dec-2224-Dec-2212、故故人人江江海海別別,,幾幾度度隔隔山山川川。。。。07:34:5507:34:5507:34Saturday,December24,202213、乍乍見(jiàn)見(jiàn)翻翻疑疑夢(mèng)夢(mèng),,相相悲悲各各問(wèn)問(wèn)年年。。。。12月月-2212月月-2207:34:5507:34:55December24,202214、他鄉(xiāng)鄉(xiāng)生白白發(fā),,舊國(guó)國(guó)見(jiàn)青青山。。。24十十二二月20227:34:55上上午07:34:5512月月-2215、比不了得得就不比,,得不到的的就不要。。。。十二月227:34上上午12月-2207:34December24,202216、行動(dòng)出出成果,,工作出出財(cái)富。。。2022/12/247:34:5507:34:5524December202217、做前,,能夠環(huán)環(huán)視四周周;做時(shí)時(shí),你只只能或者者最好沿沿著以腳腳為起點(diǎn)點(diǎn)的射線(xiàn)線(xiàn)向前。。。7:34:55上午午7:34上午午07:34:5512月-229、沒(méi)有失敗,,只有暫時(shí)停停止成功!。。12月-2212月-22Saturday,December24,202210、很多事情情努力了未未必有結(jié)果果,但是不不努力卻什什么改變也也沒(méi)有。。。07:34:5507:34:5507:3412/24/20227:34:55AM11、成成功功就就是是日日復(fù)復(fù)一一日日那那一一點(diǎn)點(diǎn)點(diǎn)點(diǎn)小小小小努努力力的的積積累累。。。。12月月-2207:34:5507:34Dec-2224-Dec-2212、世世間間成成事事,,不不求求其其絕絕對(duì)對(duì)圓圓滿(mǎn)滿(mǎn),,留留一一份份不不足足,,可可得得無(wú)無(wú)限限完完美美。。。。07:34:5507:34:5507:34Saturday,December24,202213、不知香香積寺,,數(shù)里入入云峰。。。12月-2212月-2207:34:5507:34:55December24,202214、意志志堅(jiān)強(qiáng)強(qiáng)的人人能把把世界界放在在手中中像泥泥塊一一樣任任意揉揉捏。。24十十二二月20227:34:55上上午07:34:5512月月-2215、楚塞塞三湘湘接,,荊門(mén)門(mén)九派派通。。。。十二月月227:34上上午午12月月-2207:34December24,202216、少年十五五二十時(shí),,步行奪得得胡馬騎。。。2022/12/247:34:5507:34:5524December20
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 集訓(xùn)服務(wù)合同協(xié)議書(shū)
- 停車(chē)場(chǎng)轉(zhuǎn)租合同協(xié)議書(shū)
- 酒店居住安全協(xié)議書(shū)
- 解除拆遷補(bǔ)償協(xié)議書(shū)
- 非婚撫養(yǎng)孩子協(xié)議書(shū)
- 邯鄲學(xué)院就業(yè)協(xié)議書(shū)
- 轉(zhuǎn)讓食堂攤位協(xié)議書(shū)
- 閑置校舍轉(zhuǎn)讓協(xié)議書(shū)
- 茶桌轉(zhuǎn)讓合同協(xié)議書(shū)
- 訂單木耳采購(gòu)協(xié)議書(shū)
- 舞蹈基本功訓(xùn)練與舞蹈鑒賞智慧樹(shù)知到期末考試答案章節(jié)答案2024年蘭州文理學(xué)院
- 《化妝品原料》課件-油脂的基本特性
- 關(guān)節(jié)黏連松解手術(shù)
- MOOC 物理與藝術(shù)-南京航空航天大學(xué) 中國(guó)大學(xué)慕課答案
- 英語(yǔ)定位紙模板
- 招標(biāo)代理服務(wù) 投標(biāo)方案(技術(shù)方案)
- 校園超市經(jīng)營(yíng)投標(biāo)方案(技術(shù)方案)
- 關(guān)于調(diào)整市中醫(yī)院醫(yī)保管理領(lǐng)導(dǎo)小組和科室醫(yī)保管理小組的通知
- Unit9SectionA(1a-2d)教案人教版八年級(jí)英語(yǔ)下冊(cè)
- eras在婦科圍手術(shù)
- 下課了助農(nóng)直播-大學(xué)生助農(nóng)電商實(shí)踐平臺(tái)(簡(jiǎn)略版)
評(píng)論
0/150
提交評(píng)論