版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
5.4時(shí)間片輪詢多任務(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í)間片輪詢1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢3調(diào)度算法時(shí)間片輪詢1tt任務(wù)的運(yùn)行時(shí)間時(shí)間片輪詢系統(tǒng)中任務(wù)運(yùn)行情況在時(shí)間片輪詢操作系統(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í)間片輪詢3任務(wù)A
任務(wù)B任務(wù)C
所有任務(wù)相同對(duì)待,分時(shí)運(yùn)行。調(diào)度算法時(shí)間片輪詢1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢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í)間片輪詢1優(yōu)先級(jí)調(diào)度2帶優(yōu)先級(jí)調(diào)度的時(shí)間片輪詢3這種調(diào)度算法情況較復(fù)雜,類型較多,自己去學(xué)習(xí)了解。任務(wù)切換時(shí)機(jī)分配給任務(wù)的時(shí)間片已到任務(wù)主動(dòng)請(qǐng)求調(diào)度12任務(wù)在調(diào)用操作系統(tǒng)提供的“管理”類服務(wù)(如刪除任務(wù)等)和“等待”類服務(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í)間片輪詢調(diào)度的操作系統(tǒng)中,會(huì)在兩種下進(jìn)行任務(wù)切換。目錄2整體規(guī)劃1概述34任務(wù)控制塊內(nèi)部變量初始化時(shí)間片輪詢操作系統(tǒng)規(guī)劃時(shí)間片輪詢調(diào)度算法時(shí)間片輪詢多任務(wù)操作系統(tǒng)協(xié)作式多任務(wù)系統(tǒng)TinyOS51V1.0TinyOS51V1.1
TinyOS51V1.1采用最簡(jiǎn)單的時(shí)間片輪詢調(diào)度算法,在每個(gè)時(shí)鐘節(jié)拍中斷時(shí)調(diào)度,即分配給任務(wù)的時(shí)間片為一個(gè)時(shí)鐘節(jié)拍。
這樣,在任務(wù)控制塊中不僅不需要保存時(shí)鐘任務(wù)剩余的時(shí)鐘節(jié)拍,而且也不必編寫計(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)統(tǒng)的一種基本本服務(wù)——延時(shí)服務(wù),延延時(shí)以時(shí)鐘節(jié)節(jié)拍為單位。。在TinyOS51中,時(shí)鐘節(jié)拍拍中斷由用戶戶實(shí)現(xiàn),在時(shí)時(shí)鐘節(jié)拍中斷斷處理函數(shù)中中調(diào)用tnOsTimeTick()。voidtask0(void){TMOD=(TMOD&0xF0)|0x01;TL0=0x00;//TH0=0x00;//初始化timer0,即TR0=1;//初始化時(shí)鐘節(jié)節(jié)拍ET0=1;//中斷。TF0=0;//while(1){__GucTask0++;}}/**一個(gè)簡(jiǎn)單的任任務(wù),無(wú)限循循環(huán)中讓*__GucTask0++。*/voidtask1(void){while(1){__GucTask0++;}}/**用戶實(shí)現(xiàn)時(shí)鐘鐘節(jié)拍中斷服服務(wù)函數(shù),*并調(diào)用tnOsTimeTick()。*/voidtimer0ISR(void)__interrupt1{tnOsTimeTick();}/**1.初始化系統(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ù)實(shí)實(shí)現(xiàn)現(xiàn)目錄錄3任務(wù)務(wù)控控制制塊塊45內(nèi)部部變變量量初初始始化化創(chuàng)建建任任務(wù)務(wù)12概述述整體體規(guī)規(guī)劃劃任務(wù)務(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ù)初始處處于刪除狀狀態(tài)__GtcbTasks[thTask].uiTicks=0;//設(shè)置初值}__GthTaskCur=0;//初始運(yùn)行0號(hào)任務(wù)}由于TCB增加了一個(gè)個(gè)uiTicks,則在tnOsInit()中進(jìn)行初始始化。OS初始化函數(shù)數(shù)代碼:目錄錄5創(chuàng)建任務(wù)67啟動(dòng)多任務(wù)務(wù)環(huán)境任務(wù)調(diào)度34任務(wù)控制塊塊內(nèi)部變量初初始化通常,為了了提高可移移植性,采采用一個(gè)宏宏或函數(shù)來(lái)來(lái)編寫實(shí)現(xiàn)現(xiàn)開(kāi)中斷和和關(guān)中斷程程序。由于于TinyOS51僅適合80C51系列單片機(jī)機(jī),故直接接使用“EA=0”和“EA=1”。創(chuàng)建任務(wù)函函數(shù)tnOsTaskCreate()由于tnOsTaskCreate()要操作TCB,而時(shí)鐘節(jié)節(jié)拍中斷中中也要操作作TCB,因此tnOsTaskCreate()中操作TCB的代碼為臨臨界區(qū)代碼碼,要避免免被時(shí)鐘節(jié)節(jié)拍中斷打打斷。TinyOS51中采用開(kāi)/關(guā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ù)務(wù)環(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ù)務(wù)環(huán)境__tnOsSched()tnOsSched()開(kāi)/關(guān)中斷代碼碼__tnOsSched()TinyOS51V1.0TinyOS51V1.1任務(wù)調(diào)度函函數(shù)__tnOsSched()中也要操作作TCB,因此也需需要加入開(kāi)開(kāi)/關(guān)中斷代代碼包含含臨界區(qū)區(qū)。另外外,__tnOsSched()不再提供供給任務(wù)務(wù)直接調(diào)調(diào)用,僅僅供內(nèi)部部調(diào)用,,因此添添加前綴綴“__”。保護(hù)臨界界資源目錄錄8時(shí)鐘節(jié)拍拍中斷9longjmpInIsr()任務(wù)延時(shí)時(shí)67啟動(dòng)多任任務(wù)環(huán)境境任務(wù)調(diào)度度10如果uiTicks不為0,則uiTicks--,即縮短短延時(shí)時(shí)時(shí)間。未未使用任任務(wù)狀態(tài)態(tài)標(biāo)志判判斷任務(wù)務(wù)是否處處于延時(shí)時(shí)狀態(tài)。。這是因因?yàn)門inyOS51更高的版版本具有有超時(shí)功功能,需需要使用用uiTicks來(lái)判斷任任務(wù)是否否超時(shí)。。如果uiTicks為0,則將任任務(wù)設(shè)置置為就緒緒狀態(tài)。。為了向向上兼容容超時(shí)代代碼,即即區(qū)分系系統(tǒng)服務(wù)務(wù)是正常常返回還還是超時(shí)時(shí)返回,,未直接接將任務(wù)務(wù)設(shè)置為為就緒狀狀態(tài),而而使用““|=”操作。。時(shí)鐘節(jié)拍拍中斷大多數(shù)操操作系統(tǒng)統(tǒng)中的延延時(shí)管理理和中斷斷服務(wù)程程序中的的任務(wù)切切換功能能,分別別是用兩兩個(gè)函數(shù)數(shù)實(shí)現(xiàn)的的,由于于TinyOS51V1.1是純粹的的時(shí)間片片輪詢操操作系統(tǒng)統(tǒng),非時(shí)時(shí)鐘節(jié)拍拍中斷的的中斷服服務(wù)程序序不進(jìn)行行任務(wù)切切換操作作,因此此將二者者合二為為一。for(thTask=0;thTask<TN_OS_MAX_TASKS;thTask++){if(__GtcbTasks[thTask].uiTicks!=0){__GtcbTasks[thTask].uiTicks--;//縮短延時(shí)時(shí)時(shí)間if(__GtcbTasks[thTask].uiTicks==0){__GtcbTasks[thTask].ucTaskStat|=__TN_TASK_FLG_RDY;//設(shè)置任務(wù)務(wù)就緒狀狀態(tài)位}}}}延時(shí)管理理1任務(wù)切換換2對(duì)于80C51來(lái)說(shuō),規(guī)規(guī)定:一一般函數(shù)數(shù)返回使使用RET指令,而而中斷返返回使用用RETI指令。由由于longjmp()函數(shù)是使使用RET指令返回回的,如如果在時(shí)時(shí)鐘節(jié)拍拍中斷中中繼線使使用longjmp(),則任務(wù)務(wù)切換后后CPU會(huì)認(rèn)為中中斷仍未未退出,,同級(jí)中中斷(包包括自身身)將被被屏蔽,,從而造造成整個(gè)個(gè)系統(tǒng)執(zhí)執(zhí)行錯(cuò)誤誤。因此此必須將將longjmp()函數(shù)改為為longjmpInIsr()。時(shí)鐘節(jié)拍拍中斷大多數(shù)操操作系統(tǒng)統(tǒng)中的延延時(shí)管理理和中斷斷服務(wù)程程序中的的任務(wù)切切換功能能,分別別是用兩兩個(gè)函數(shù)數(shù)實(shí)現(xiàn)的的,由于于TinyOS51V1.1是純粹的的時(shí)間片片輪詢操操作系統(tǒng)統(tǒng),非時(shí)時(shí)鐘節(jié)拍拍中斷的的中斷服服務(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í)時(shí)刪除任務(wù)務(wù)78任務(wù)調(diào)度度時(shí)鐘節(jié)拍拍中斷1110中斷中切切換任務(wù)務(wù)在中斷中中切換任任務(wù),不不能再使使用longjmp(),因?yàn)橹兄袛嘈枰褂脤S梅祷鼗刂噶頡ETI,非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類型返回回值保存存在DPL中。采用__naked修飾,表表示此函函數(shù)是無(wú)無(wú)保護(hù)的的,即編編譯器不不會(huì)生成成此函數(shù)數(shù)的起始始和結(jié)尾尾代碼。。使用者者將完全全控制這這個(gè)過(guò)程程,這里里用于加加入RETI指令令。。目錄錄任務(wù)務(wù)延延時(shí)時(shí)刪除除任任務(wù)務(wù)78時(shí)鐘鐘節(jié)節(jié)拍拍中中斷斷l(xiāng)ongjmpInIsr()1110任務(wù)務(wù)延延時(shí)時(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ù)務(wù)運(yùn)運(yùn)行行設(shè)置置延延時(shí)時(shí)時(shí)時(shí)間間,,讓讓時(shí)時(shí)鐘鐘節(jié)節(jié)拍拍處處理理函函數(shù)數(shù)tnOsTimeTick()更新新剩剩余余的的延延時(shí)時(shí)時(shí)時(shí)間間。。目錄錄刪除除任任務(wù)務(wù)任務(wù)務(wù)延延時(shí)時(shí)78時(shí)鐘鐘節(jié)節(jié)拍拍中中斷斷l(xiāng)ongjmpInIsr()1011刪除除任任務(wù)務(wù)函函數(shù)數(shù)tnOsTaskDel()與V1.0版本本相相比比,,TinyOS51V1.1版本本在在tnOsTaskDel()函數(shù)數(shù)中中增增加加了了初初始始化化uiTicks和開(kāi)開(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ú)無(wú)鄰,,荒居居舊業(yè)業(yè)貧。。。1月-231月-23Sunday,January1,202310、雨雨中中黃黃葉葉樹樹,,燈燈下下白白頭頭人人。。。。20:31:0920:31:0920:311/1/20238:31:09PM11、以我我獨(dú)沈沈久,,愧君君相見(jiàn)見(jiàn)頻。。。1月-2320:31:0920:31Jan-2301-Jan-2312、故人江江海別,,幾度隔隔山川。。。20:31:0920:31:0920:31Sunday,January1,202313、乍見(jiàn)見(jiàn)翻疑疑夢(mèng),,相悲悲各問(wèn)問(wèn)年。。。1月-231月-2320:31:0920:31:09January1,202314、他鄉(xiāng)生白白發(fā),舊國(guó)國(guó)見(jiàn)青山。。。01一月月20238:31:09下下午20:31:091月-2315、比不了了得就不不比,得得不到的的就不要要。。。。一月238:31下午午1月-2320:31January1,202316、行動(dòng)動(dòng)出成成果,,工作作出財(cái)財(cái)富。。。2023/1/120:31:0920:31:0901January202317、做前,能夠夠環(huán)視四周;;做時(shí),你只只能或者最好好沿著以腳為為起點(diǎn)的射線線向前。。8:31:09下午8:31下下午20:31:091月-239、沒(méi)沒(méi)有有失失敗敗,,只只有有暫暫時(shí)時(shí)停停止止成成功功?。?。。1月月-231月月-23Sunday,January1,202310、很多多事情情努力力了未未必有有結(jié)果果,但但是不不努力力卻什什么改改變也也沒(méi)有有。。。20:31:0920:31:0920:311/1/20238:31:09PM11、成功就是日日復(fù)一日那一一點(diǎn)點(diǎn)小小努努力的積累。。。1月-2320:31:1020:31Jan-2301-Jan-2312、世間間成事事,不不求其其絕對(duì)對(duì)圓滿滿,留留一份份不足足,可可得無(wú)無(wú)限完完美。。。20:31:1020:31:1020:31Sunday,January1,202313、不不知知香香積積寺寺,,數(shù)數(shù)里里入入云云峰峰。。。。1月月-231月月-2320:31:1020:31:10January1,202314、意志堅(jiān)堅(jiān)強(qiáng)的人人能把世世界放在在手中像像泥塊一一樣任意意揉捏。。01一一月20238:31:10下午午20:31:101月-2315、楚塞塞三湘湘接,,荊門門九派派通。。。。。一月238:31下下午午1月-2320:31January1,202316、少年年十五五二十十時(shí),,步行行奪得得胡馬馬騎。。。2023/1/120:31:1020:31:1001January202317、空山
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年寧夏貨運(yùn)從業(yè)考試試題題庫(kù)及答案
- 2024年用人單位勞動(dòng)協(xié)議標(biāo)準(zhǔn)化文本版B版
- 《客服的重要性概述》課件
- 2024年住宅小區(qū)車位配建及銷售合作協(xié)議2篇
- 2024年停薪留職員工職業(yè)規(guī)劃與發(fā)展支持協(xié)議合同3篇
- 2025施工工程承攬合同格式
- 2024外來(lái)單位進(jìn)場(chǎng)建筑裝修施工安全協(xié)議及承諾書3篇
- 2024年度農(nóng)業(yè)科技項(xiàng)目委托投資合同3篇
- 2024年汽車租賃與廣告合作推廣服務(wù)協(xié)議3篇
- 2024年水電站環(huán)境保護(hù)合作協(xié)議3篇
- 學(xué)院校食堂餐飲企業(yè)承包經(jīng)營(yíng)退出管理制度
- 國(guó)開(kāi)電大本科《人文英語(yǔ)4》機(jī)考真題(第十五套)
- 三維超聲輸卵管造影的應(yīng)用課件
- 高壓旋噴樁檢測(cè)方案
- Unit1 My classroom Part A Lets spell(說(shuō)課稿)-2022-2023學(xué)年英語(yǔ)四年級(jí)上冊(cè)
- 查看下載鄭州電視臺(tái)商都頻道簡(jiǎn)介
- 2023年國(guó)開(kāi)大學(xué)期末考復(fù)習(xí)題-10861《理工英語(yǔ)4》
- 公安廉政心談話六篇
- 【要點(diǎn)解讀】《實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)》論證邏輯圖
- 數(shù)字電子技術(shù)(山東工商學(xué)院)知到章節(jié)答案智慧樹2023年
- 商務(wù)禮儀(山東聯(lián)盟)知到章節(jié)答案智慧樹2023年山東財(cái)經(jīng)大學(xué)
評(píng)論
0/150
提交評(píng)論