




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八節(jié) 實(shí)時(shí)操作系統(tǒng)原理(1),(1)基本概念 (2)任務(wù) (3)任務(wù)間同步與通信,1、基本概念 操作系統(tǒng)發(fā)展簡(jiǎn)史: 無(wú)操作系統(tǒng)的應(yīng)用軟件:缺乏可移植性,修改困難,維護(hù)費(fèi)用高。 軟件工業(yè)化:操作系統(tǒng)為應(yīng)用軟件提供基礎(chǔ),對(duì)基本硬件進(jìn)行抽象,完成多任務(wù)應(yīng)用。 GPOS: UNIX:大型計(jì)算機(jī)-微型計(jì)算機(jī)、多任務(wù)支持 Windows:個(gè)人計(jì)算機(jī)、圖形化界面 Vxworks:后PC時(shí)代,嵌入式計(jì)算時(shí)代,更小、更緊湊的RTOS。,RTOS與GPOS: 相似的功能: 多任務(wù); 軟件和硬件資源管理; 為應(yīng)用提供基本的OS服務(wù); 抽象硬件。 不同點(diǎn): 具有更好的可靠性; 滿足應(yīng)用需要的可裁減性; 更好的實(shí)時(shí)性
2、; 支持無(wú)盤的ROM或RAM引導(dǎo)和運(yùn)行; 對(duì)不同的平臺(tái)具有更好的可移植性。,RTOS關(guān)鍵特性: 可靠性:嵌入式系統(tǒng)必須長(zhǎng)期無(wú)人干涉的運(yùn)行。不同系統(tǒng)可靠性不同。電信交換設(shè)備可靠性要達(dá)到6個(gè)9(99.9999%)一年宕機(jī)時(shí)間031s,飛機(jī)出故障的概率要達(dá)到10-9,分系統(tǒng)更高,對(duì)其中的嵌入式系統(tǒng)設(shè)備(RTOS、BSP、硬件等)要求更高。 可預(yù)測(cè)性(確定性):具有可預(yù)測(cè)的行為,操作系統(tǒng)調(diào)用必須在已知的時(shí)間框架內(nèi)完成。 性能:必須執(zhí)行的足夠快來(lái)滿足時(shí)間要求。包括硬件和軟件的速度。 緊湊性:硬件資源有限,RTOS必須小巧高效。如內(nèi)存有限時(shí)如何分配。 可裁減性:RTOS要適合各種嵌入式系統(tǒng)應(yīng)用,如文件系統(tǒng)
3、、協(xié)議棧等。節(jié)約成本,RTOS編程特點(diǎn): (1)RTOS允許用戶把一個(gè)應(yīng)用系統(tǒng)分成多個(gè)任務(wù),使應(yīng)用程序變得簡(jiǎn)單,簡(jiǎn)化了應(yīng)用程序的設(shè)計(jì),更便于修改、擴(kuò)展和維護(hù)。無(wú)須改動(dòng)就可以增加新的功能。如果只給系統(tǒng)增加低優(yōu)先級(jí)的任務(wù),則系統(tǒng)對(duì)高優(yōu)先級(jí)的響應(yīng)幾乎沒有影響。 將應(yīng)用分成多個(gè)任務(wù)會(huì)引起一系列的問題,如任務(wù)間的競(jìng)爭(zhēng),競(jìng)爭(zhēng)會(huì)引起死鎖(死機(jī));另外就是優(yōu)先級(jí)反轉(zhuǎn),以及任務(wù)間的同步、通信等。計(jì)算機(jī)專家發(fā)明的實(shí)時(shí)多任務(wù)操作系統(tǒng)會(huì)解決這些問題。必須學(xué)習(xí)基本原理以便用好。,(2) RTOS基于計(jì)算機(jī)技術(shù)研究成果,可以保證應(yīng)用系統(tǒng)的實(shí)時(shí)性達(dá)到或接近理論水平。 (3)在搶占式內(nèi)核中,所有時(shí)間要求苛刻的事件都能得到盡可
4、能快地響應(yīng),通過有效的服務(wù),如信號(hào)量、消息隊(duì)列、管道、延時(shí)以及超時(shí)等,RTOS使得系統(tǒng)資源得到更好的應(yīng)用。 (4)可以提高系統(tǒng)的穩(wěn)定性和可靠性,實(shí)現(xiàn)對(duì)系統(tǒng)的實(shí)時(shí)監(jiān)管。 采用RTOS額外的需求:RTOS的價(jià)格、每個(gè)目標(biāo)系統(tǒng)的版權(quán)使用費(fèi)、額外的RAM/ROM開銷以及2%4%的CPU額外的負(fù)荷。,RTOS通常包括: 調(diào)度器(scheduler): 一組算法決定何時(shí)執(zhí)行哪個(gè)任務(wù),常見的調(diào)度算法包括時(shí)間片輪換(round-robin)和搶占調(diào)度(preemptive); 對(duì)象(Object):內(nèi)核部件,幫助建立應(yīng)用,如任務(wù)、信號(hào)燈和消息隊(duì)列等。 服務(wù)(service):內(nèi)核在對(duì)象上的操作,如計(jì)時(shí)、中斷處
5、理和資源管理等。,基本概念: 可調(diào)度實(shí)體:可以依據(jù)預(yù)定義的調(diào)度算法,競(jìng)爭(zhēng)到系統(tǒng)執(zhí)行時(shí)間的內(nèi)核對(duì)象。任務(wù) 多任務(wù):操作系統(tǒng)在設(shè)定的限時(shí)內(nèi)處理多個(gè)活動(dòng)的能力。調(diào)度器必須保證適當(dāng)?shù)娜蝿?wù)在恰當(dāng)?shù)臅r(shí)間運(yùn)行。 上下文切換context switch :每個(gè)任務(wù)都有自己的上下文,即每次被調(diào)度運(yùn)行時(shí)所要求的CPU寄存器的狀態(tài)和變量值等到自己的TCB (Task Control Block)中。任務(wù)切換時(shí)產(chǎn)生上下文切換。任務(wù)控制塊TCB用來(lái)維護(hù)任務(wù)特定信息的系統(tǒng)數(shù)據(jù)結(jié)構(gòu)。不要頻繁進(jìn)行任務(wù)切換。 分發(fā)器(dispatcher):是調(diào)度器的一部分,執(zhí)行上下文切換并改變執(zhí)行的流程。流程:應(yīng)用任務(wù)、ISR和內(nèi)核。,2、
6、任務(wù),傳統(tǒng)的程序按預(yù)先定義的指令順序運(yùn)行,不適合對(duì)時(shí)間要求苛刻的系統(tǒng)。采用并發(fā)的方式設(shè)計(jì)(concurrent design)。 并發(fā)設(shè)計(jì):將應(yīng)用分解成很小的、可調(diào)度的順序程序單元(任務(wù))。 任務(wù):是一個(gè)被封裝的操作序列,按照任務(wù)的緊急程度和重要性設(shè)定優(yōu)先級(jí)。在多任務(wù)系統(tǒng)中,任務(wù)由操作系統(tǒng)按照某種調(diào)度策略調(diào)度運(yùn)行。根據(jù)預(yù)先定義的調(diào)度算法能夠競(jìng)爭(zhēng)到系統(tǒng)的執(zhí)行時(shí)間。 任務(wù)具有名字、唯一的ID、優(yōu)先權(quán)、任務(wù)控制塊TCB、堆棧和任務(wù)例程。,系統(tǒng)任務(wù): 內(nèi)核啟動(dòng)時(shí),創(chuàng)建系統(tǒng)任務(wù),將保留的優(yōu)先權(quán)分配給他們,內(nèi)部使用。系統(tǒng)任務(wù)包括: (1)初始化或啟動(dòng)任務(wù):初始化系統(tǒng)并創(chuàng)立和啟動(dòng)任務(wù)系統(tǒng); (2)空閑任務(wù):
7、當(dāng)沒有其他任務(wù)時(shí),使系統(tǒng)進(jìn)入空閑循環(huán);優(yōu)先級(jí)最低,保證程序計(jì)數(shù)器的值是合法的。有時(shí)候可以用用戶自己的任務(wù)來(lái)替代空閑任務(wù),以便實(shí)現(xiàn)某些特殊的需要,如設(shè)置省電模式代碼,進(jìn)入省電模式, (3)日志任務(wù):記錄系統(tǒng)消息日志; (4)異常處理任務(wù):處理異常; (5)調(diào)試代理任務(wù):與宿主機(jī)調(diào)試器一起運(yùn)行。,任務(wù)的狀態(tài): 包括就緒、運(yùn)行或阻塞狀態(tài)(系統(tǒng)任務(wù)、應(yīng)用任務(wù)) 就緒狀態(tài)(ready):任務(wù)準(zhǔn)備就緒,但還不能運(yùn)行,因?yàn)檫€有更高優(yōu)先級(jí)的任務(wù)在運(yùn)行; 阻塞狀態(tài)(blocked):已經(jīng)請(qǐng)求一個(gè)還不能用的資源,或已經(jīng)請(qǐng)求等待某些時(shí)間的發(fā)生,或自身要延時(shí)一段時(shí)間。有些系統(tǒng)細(xì)分出懸掛(等待被釋放的資源)和延時(shí)狀態(tài)(
8、等待延時(shí)時(shí)間結(jié)束)。 運(yùn)行狀態(tài)(running):是最高優(yōu)先級(jí)并正在運(yùn)行。 掛起狀態(tài)(suspended):用于調(diào)試的輔助狀態(tài),禁止任務(wù)的執(zhí)行。 內(nèi)核必須維護(hù)系統(tǒng)中所有任務(wù)的當(dāng)前狀態(tài)。確定哪些任務(wù)必須改變狀態(tài)以及實(shí)施改變,如獲取資源-解除組塞-任務(wù)切換-運(yùn)行等。,任務(wù)的操作,(1)創(chuàng)建和刪除 OSTaskCreate(); OSTaskDelete(); (2)獲取任務(wù)的信息 OSTaskQuery(); (3)任務(wù)的調(diào)度 OSTaskChangePrio();OSTaskSuspend(); OSTaskResume();,任務(wù)的創(chuàng)建,創(chuàng)建就啟動(dòng) 創(chuàng)建然后啟動(dòng):兩步,先建立并掛起,然后啟動(dòng)轉(zhuǎn)
9、移到就緒狀態(tài)。 創(chuàng)建后返回任務(wù)的ID號(hào),任務(wù)的刪除,根據(jù)任務(wù)號(hào)刪除任務(wù),內(nèi)核通過刪除任務(wù)的TCB和堆棧來(lái)刪除任務(wù)。很多內(nèi)核允許任意的任務(wù)刪除其他任務(wù)。 由于任務(wù)可以和其他任務(wù)通信和共享資源,如果不恰當(dāng)?shù)膭h除任務(wù),可能導(dǎo)致這些資源無(wú)法釋放,造成內(nèi)存泄露或資源泄露。如: 一個(gè)崩潰的數(shù)據(jù)結(jié)構(gòu) 一個(gè)未釋放的信號(hào)量,其他任務(wù)還要使用但無(wú)法使用 一個(gè)不可訪問的數(shù)據(jù)結(jié)構(gòu)(由于未釋放信號(hào)量),任務(wù)的調(diào)度,多任務(wù)需要一個(gè)調(diào)度算法分配CPU給就緒的任務(wù),常見的任務(wù)調(diào)度算法: 基于優(yōu)先權(quán)的搶占式調(diào)度 時(shí)間輪換調(diào)度-基于優(yōu)先權(quán)搶占調(diào)度擴(kuò)充時(shí)間輪換調(diào)度 (1)基于優(yōu)先級(jí)調(diào)度,可剝奪型和不可剝奪型。 創(chuàng)建時(shí):任務(wù)被指定一
10、個(gè)優(yōu)先級(jí), 運(yùn)行時(shí):可以動(dòng)態(tài)地修改優(yōu)先級(jí)以便跟蹤真實(shí)世界的事件優(yōu)先級(jí)。 外部中斷:被指定優(yōu)先于任何任務(wù)的優(yōu)先級(jí),這樣能夠在任何時(shí)候搶占一個(gè)任務(wù)。,(2)時(shí)間片輪換調(diào)度:有些操作系統(tǒng)在多個(gè)任務(wù)有同樣的優(yōu)先級(jí)時(shí)采用,允許一個(gè)任務(wù)先運(yùn)行一段時(shí)間,然后切換給另外一個(gè)任務(wù),在以下條件下內(nèi)核將CPU控制權(quán)交給下一個(gè)就緒的任務(wù): A、當(dāng)前任務(wù)空閑; B、當(dāng)前任務(wù)時(shí)間片還沒有結(jié)束時(shí)已經(jīng)完成; C、時(shí)間片結(jié)束,計(jì)數(shù)器會(huì)被清零,該任務(wù)被放在同一優(yōu)先級(jí)任務(wù)隊(duì)列的隊(duì)尾。 有些不支持此功能,要求任務(wù)的優(yōu)先級(jí)必須不同。,典型的任務(wù)結(jié)構(gòu),編寫任務(wù)代碼時(shí),采用以下兩種結(jié)構(gòu)方式之一建立任務(wù)。 (1)運(yùn)行到完成:初始化和啟動(dòng),系
11、統(tǒng)加電運(yùn)行一次。初始化任務(wù)比其他所創(chuàng)立的任務(wù)具有較高的優(yōu)先級(jí),以便初始化不被搶占,在完成初始化工作后掛起或刪除自己。 (2)無(wú)限循環(huán):應(yīng)用任務(wù)。 也可以包含初始化代碼,但僅僅在任務(wù)第一次運(yùn)行時(shí)被執(zhí)行。然后任務(wù)無(wú)限循環(huán)。在循環(huán)體中有一個(gè)或多個(gè)阻塞調(diào)用,致使無(wú)限循環(huán)任務(wù)的阻塞,允許較低優(yōu)先級(jí)任務(wù)運(yùn)行。,任務(wù)的劃分原則: 合理的劃分對(duì)運(yùn)行效率、實(shí)時(shí)性等影響非常大。過細(xì)導(dǎo)致任務(wù)切換和數(shù)據(jù)交換量大,過粗導(dǎo)致可以并行執(zhí)行的動(dòng)作串行執(zhí)行。先將任務(wù)劃分為:關(guān)鍵、基本和不重要。關(guān)鍵任務(wù):必須滿足時(shí)限要求,優(yōu)先處理。基本任務(wù):也有時(shí)限要求,但是不是太嚴(yán)格。不重要任務(wù):理論上可以無(wú)限期等待。 任務(wù)的特點(diǎn): 1、時(shí)間
12、:兩個(gè)任務(wù)具有不同的周期。2、異步性:兩個(gè)任務(wù)之間沒有時(shí)間關(guān)系。3、優(yōu)先級(jí):兩個(gè)任務(wù)具有不同的優(yōu)先級(jí)4、清晰性/可維護(hù)性:兩個(gè)任務(wù)在功能和邏輯上可以分開。 各任務(wù)之間通信量要少(過多的數(shù)據(jù)交換可以考慮合并為一個(gè)任務(wù)),控制關(guān)系要松(一個(gè)任務(wù)控制另外一個(gè)任務(wù)的運(yùn)行)。,3、任務(wù)間同步與通信,(1)信號(hào)量 (2)消息隊(duì)列 其他的還包括管道、事件寄存器等。,互斥條件,實(shí)現(xiàn)任務(wù)間通信最簡(jiǎn)便的方法就是使用 共享數(shù)據(jù)結(jié)構(gòu),但是必須保證每個(gè)任務(wù)在使用數(shù)據(jù)結(jié)構(gòu)時(shí)的排他性,以避免競(jìng)爭(zhēng)和數(shù)據(jù)的破壞,與共享數(shù)據(jù)打交道時(shí),使之滿足互斥條件最一般的方法有:,1、關(guān)中斷和開中斷 最簡(jiǎn)單,但是關(guān)中斷時(shí)間不能過長(zhǎng),影響整個(gè)系
13、統(tǒng)的中斷響應(yīng)時(shí)間。 2、使用測(cè)試位并置位指令 多個(gè)任務(wù)在訪問共享資源時(shí),先測(cè)試一全局變量的值,若為0則允許訪問共享資源,得到訪問權(quán)后應(yīng)該將該全局變量置位為1,禁止其他任務(wù)訪問該共享資源,測(cè)試并置位的操作可能使用CPU的一條不會(huì)被中斷的指令,否則應(yīng)該在程序中關(guān)中斷作置位操作后再開中斷。有些CPU有硬件的TAS指令(Test and Set)。,3、禁止/允許任務(wù)切換 通常引起正在運(yùn)行的任務(wù)被掛起的原因是:產(chǎn)生中斷或有更高級(jí)的任務(wù)就緒。 如果任務(wù)不與任何中斷服務(wù)程序共享資源(變量和數(shù)據(jù)結(jié)構(gòu)),可以使用禁止然后允許任務(wù)切換來(lái)滿足實(shí)現(xiàn)互斥。在禁止任務(wù)切換后,如果任務(wù)正在訪問共享數(shù)據(jù)產(chǎn)生了中斷,由于在中
14、斷服務(wù)程序中不會(huì)訪問共享數(shù)據(jù)區(qū),所以不會(huì)產(chǎn)生沖突。當(dāng)中斷服務(wù)程序返回后,雖然有更高優(yōu)先級(jí)的任務(wù)就緒,但是內(nèi)核不會(huì)進(jìn)行切換,還是返回到原來(lái)被中斷了的任務(wù)執(zhí)行,此時(shí)類似不可剝奪型內(nèi)核一樣。直到任務(wù)結(jié)束允許任務(wù)切換。近量少用。 4、用信號(hào)量,一個(gè)信號(hào)量就像一把鑰匙,允許任務(wù)執(zhí)行某些操作或訪問一個(gè)資源。一個(gè)信號(hào)量可以被訪問多次,就如同宿舍管理員的鑰匙一樣。在創(chuàng)立時(shí)設(shè)定一個(gè)初始值,當(dāng)一個(gè)任務(wù)獲得信號(hào)量時(shí),令牌計(jì)數(shù)被減一次,當(dāng)任務(wù)釋放信號(hào)燈時(shí),令牌計(jì)數(shù)增加一次,如果計(jì)數(shù)為0,沒有令牌留下,請(qǐng)求的任務(wù)不能獲得令牌而阻塞。任務(wù)等待列表中記錄所有的由于等待信號(hào)量而阻塞的任務(wù)。這些被阻塞的任務(wù)以FIFO的方式或優(yōu)
15、先級(jí)的次序保存在任務(wù)等待列表中。 多個(gè)運(yùn)行的任務(wù)可以獲得或釋放它,達(dá)到同步或互斥的目的。 信號(hào)量被創(chuàng)建時(shí),內(nèi)核分配給它一個(gè)信號(hào)量相關(guān)的控制塊SCB、一個(gè)唯一的ID、一個(gè)值和一個(gè)等待任務(wù)列表。 有三種類型的信號(hào)量:二值、計(jì)數(shù)(較少使用)和互斥。,二值信號(hào)量,取值只能為0或1。0為不可使用,1為可使用。 為全局資源,可以被需要信號(hào)燈的所有任務(wù)共享,允許任何任務(wù)甚至沒有獲取它的任務(wù)釋放它。,計(jì)數(shù)信號(hào)量,允許多次獲取和釋放,初始值創(chuàng)立時(shí)為0表示不能使用,大于0表示可以使用的令牌的個(gè)數(shù)。 一個(gè)或多個(gè) 任務(wù)可以連續(xù)獲得計(jì)數(shù)信號(hào)量的一個(gè)令牌,直到?jīng)]有令牌留下。 一個(gè)信號(hào)量令牌可以被任意的任務(wù)釋放。 有界信號(hào)
16、量:創(chuàng)立時(shí),設(shè)置其初始值為其最大值。 無(wú)界信號(hào)量:允許超過其初始值,直到數(shù)據(jù)類型的最大值。,互斥信號(hào)量,互斥信號(hào)量支持所有權(quán)、任務(wù)刪除安全和避免優(yōu)先級(jí)反轉(zhuǎn)。 創(chuàng)立時(shí)為開鎖狀態(tài),可以被使用。獲取后變成閉鎖狀態(tài)。 (1)所有權(quán):當(dāng)任務(wù)獲取信號(hào)量時(shí)將其鎖住得到其所有權(quán),此時(shí)任何其他任務(wù)不可能開啟此信號(hào)量。而二值信號(hào)量可以被任何任務(wù)釋放。 (2)任務(wù)刪除安全:保證當(dāng)一個(gè)任務(wù)擁有互斥信號(hào)量時(shí),該任務(wù)不能被刪除。,(3)遞歸的鎖閉:允許擁有互斥信號(hào)量的任務(wù)在鎖閉的狀態(tài)多次獲取他,當(dāng)一個(gè)任務(wù)要求對(duì)一個(gè)共享資源進(jìn)行排他性的訪問而調(diào)用一個(gè)或多個(gè)例程,例程也需要對(duì)同樣的資源進(jìn)行訪問時(shí),常采用這種信號(hào)量。允許嵌套鎖
17、閉。 互斥信號(hào)燈還是兩個(gè)狀態(tài)0和1,需要一個(gè)鎖計(jì)數(shù)器追蹤他在閉鎖狀態(tài)已經(jīng)被獲取的次數(shù)。與計(jì)數(shù)信號(hào)量不同。 (4)避免優(yōu)先級(jí)反轉(zhuǎn)的問題: 三個(gè)任務(wù)H、L和M。優(yōu)先級(jí)為H M L ,而且H和L共享(寫)同一塊內(nèi)存。為了保證數(shù)據(jù)的完整性,用一個(gè)信號(hào)量S來(lái)保護(hù)對(duì)這一塊內(nèi)存的訪問。,一、任務(wù)L運(yùn)行,要對(duì)共享內(nèi)存塊寫操作,它先獲得信號(hào)量S的所有權(quán)。 二、在還未完成寫操作時(shí),高優(yōu)先級(jí)的任務(wù)H產(chǎn)生中斷要求運(yùn)行,調(diào)度器將L切換掉,運(yùn)行H。三、H運(yùn)行,要對(duì)共享內(nèi)存進(jìn)行寫操作,但由于L占有信號(hào)量S,所以H被阻塞,運(yùn)行L。 四、L運(yùn)行時(shí),任務(wù)M產(chǎn)生中斷請(qǐng)求運(yùn)行,調(diào)度器切換掉L運(yùn)行M。 產(chǎn)生問題:H的優(yōu)先級(jí)比M高,但是
18、它在等待L放棄對(duì)信號(hào)量S的控制權(quán)而導(dǎo)致M先運(yùn)行。而且只要在L沒有放棄信號(hào)量S前有比L優(yōu)先級(jí)高的任務(wù)產(chǎn)生中斷,都先于H運(yùn)行,這樣就會(huì)導(dǎo)致H無(wú)法在規(guī)定的時(shí)限內(nèi)完成,產(chǎn)生嚴(yán)重的后果。,避免優(yōu)先級(jí)反轉(zhuǎn)的方法: (1)優(yōu)先級(jí)繼承協(xié)議 在第三步:H被阻塞,內(nèi)核在將控制權(quán)切換給L之前,根據(jù)信號(hào)量S的信息將其優(yōu)先級(jí)提高到與H同等,這樣當(dāng)M請(qǐng)求中斷時(shí)就不會(huì)得到響應(yīng),直到L放棄對(duì)S的所有權(quán),恢復(fù)運(yùn)行,運(yùn)行完后才可能運(yùn)行。這種機(jī)制就是優(yōu)先級(jí)繼承。 (2)天花板優(yōu)先權(quán)協(xié)議 保證獲取信號(hào)量的任務(wù)優(yōu)先級(jí)自動(dòng)的設(shè)定為所有可能請(qǐng)求信號(hào)量的任務(wù)中的最高優(yōu)先級(jí),從他獲得信號(hào)量的時(shí)候開始直到釋放。當(dāng)互斥信號(hào)量釋放后任務(wù)的優(yōu)先級(jí)降回到原來(lái)的級(jí)別。,信號(hào)量的操作,(1)創(chuàng)立和刪除 (
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳染病防控政策執(zhí)行效果評(píng)價(jià)考核試卷
- 農(nóng)藥生產(chǎn)?;钒踩僮饕?guī)程考核試卷
- 內(nèi)陸?zhàn)B殖水域資源開發(fā)與漁業(yè)生態(tài)補(bǔ)償機(jī)制設(shè)計(jì)考核試卷
- 化學(xué)礦床勘探成本控制技術(shù)考核試卷
- 世界環(huán)境日活動(dòng)總結(jié)集合14篇
- 神經(jīng)內(nèi)科業(yè)務(wù)學(xué)
- 會(huì)計(jì)人員年度的工作總結(jié)
- 沈陽(yáng)建黨節(jié)活動(dòng)方案
- 江灘大舞臺(tái)活動(dòng)方案
- 漢陽(yáng)促銷活動(dòng)方案
- TCCES 44-2024 老舊房屋結(jié)構(gòu)安全監(jiān)測(cè)技術(shù)標(biāo)準(zhǔn)
- 廣東省2025年普通高等學(xué)校招生全國(guó)統(tǒng)一考試模擬測(cè)試(一)物理試題及答案
- 2024年汽車維修工技能理論考試題庫(kù)含答案(滿分必刷)
- 腸息肉病人護(hù)理查房
- 2025年云南紅河弘毅農(nóng)業(yè)發(fā)展限責(zé)任公司第一批員工招聘10人自考難、易點(diǎn)模擬試卷(共500題附帶答案詳解)
- 林下中藥材種植項(xiàng)目可行性研究報(bào)告
- 汽車4s店管理制度
- 電腦常見故障維修與電腦保養(yǎng)課件
- 電商平臺(tái)商家入駐流程及風(fēng)險(xiǎn)控制標(biāo)準(zhǔn)
- 2025-2030年中國(guó)聚碳酸酯板(陽(yáng)光板)行業(yè)發(fā)展格局及投資前景規(guī)劃研究報(bào)告
- 2025年中國(guó)家居服行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論