版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 提高實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性能和可靠性策略 對(duì)很多嵌入式系統(tǒng)來(lái)說(shuō),一個(gè)設(shè)計(jì)良好的實(shí)時(shí)操作系統(tǒng)(rtos)可以讓開(kāi)發(fā)工程師掌握系統(tǒng)執(zhí)行任何任務(wù)或響應(yīng)任何關(guān)鍵事件的時(shí)間,滿足系統(tǒng)實(shí)時(shí)性要求。為了理解rtos如何通過(guò)系統(tǒng)調(diào)度策略實(shí)現(xiàn)實(shí)時(shí)性要求,本文介紹了搶占式調(diào)度、可搶占的內(nèi)核、優(yōu)先級(jí)繼承和中斷處理等概念。在設(shè)計(jì)工業(yè)控制系統(tǒng)或醫(yī)療設(shè)備時(shí),大部分工程師和系統(tǒng)設(shè)計(jì)工程師會(huì)認(rèn)為采用rtos是必需的。然而,網(wǎng)際路由器、車(chē)載娛樂(lè)系統(tǒng)和多媒體設(shè)備等普通應(yīng)用還需要采用rtos嗎?像linux或windows這樣的通用操作系統(tǒng)是否就能勝任呢?通常,這些產(chǎn)品需要采用rtos,但是這個(gè)問(wèn)題常常直到設(shè)計(jì)階段的后期才能意識(shí)到
2、。rtos對(duì)于很多嵌入式系統(tǒng)來(lái)說(shuō)不但是有益的,而且也是必要的,認(rèn)識(shí)到這一點(diǎn)很重要。例如,一個(gè)播放如mpeg格式電影的設(shè)備,如果依靠軟件來(lái)實(shí)現(xiàn)其整個(gè)內(nèi)容傳輸,可能會(huì)出現(xiàn)用戶難以接受的高丟幀率。然而,通過(guò)使用rtos,系統(tǒng)設(shè)計(jì)工程師能夠準(zhǔn)確地控制軟件過(guò)程的執(zhí)行順序,從而保證按照給定的媒體速率進(jìn)行播放。上述大部分情況適用于用戶希望對(duì)輸入做出立即響應(yīng)的系統(tǒng)。通過(guò)rtos,開(kāi)發(fā)人員能夠保證由用戶的操作總能得到及時(shí)的響應(yīng),除非一個(gè)更重要的操作(如一項(xiàng)有助于保障用戶安全的操作)必須首先執(zhí)行??傊?一個(gè)好的rtos支持開(kāi)發(fā)人員控制系統(tǒng)執(zhí)行任何任務(wù)或?qū)θ魏沃匾录龀龇磻?yīng)的時(shí)間,并且能夠以一種可以預(yù)測(cè)并且完全一
3、致的形式滿足任務(wù)執(zhí)行的最終期限要求。但是,如果rtos崩潰,這些最終期限就不能被滿足。因此,rtos必須提供高度的可靠性。特別是它必須提供在不需要重啟的情況下,從軟件故障中快速并智能恢復(fù)的機(jī)制。搶占式調(diào)度在像linux這樣的通用操作系統(tǒng)中,在對(duì)線程和進(jìn)程的cpu占用上采用了“公平”調(diào)度策略。這樣的策略能夠提供良好的整體表現(xiàn),但是不能保證高優(yōu)先級(jí)、對(duì)時(shí)間要求嚴(yán)格的線程將優(yōu)先于低優(yōu)先級(jí)的線程執(zhí)行。事實(shí)上,操作系統(tǒng)有時(shí)甚至?xí)袛喔邇?yōu)先級(jí)的線程來(lái)為低優(yōu)先級(jí)線程提供cpu時(shí)間。其結(jié)果可能造成對(duì)時(shí)間要求嚴(yán)格的線程很容易地錯(cuò)過(guò)它們的最終期限,甚至在一個(gè)高速的高端處理器上運(yùn)行時(shí)也會(huì)出現(xiàn)這種情況。而在rtos中
4、,線程按照其優(yōu)先級(jí)順序執(zhí)行。如果一個(gè)高優(yōu)先級(jí)的線程準(zhǔn)備運(yùn)行時(shí),它將在一個(gè)短的、有限時(shí)間間隔內(nèi)從任何可能正在運(yùn)行的低優(yōu)先級(jí)進(jìn)程接管cpu。另外,高優(yōu)先級(jí)的線程能夠不被中斷地運(yùn)行,直到它已經(jīng)完成了需要做的事情當(dāng)然是在不被更高優(yōu)先級(jí)進(jìn)程搶占的前提下。這種方法就是搶占式調(diào)度,保證了高優(yōu)先級(jí)線程始終滿足其最終期限,而不管有多少其它線程正在競(jìng)爭(zhēng)cpu時(shí)間。通過(guò)合理地控制線程優(yōu)先級(jí),開(kāi)發(fā)者能顯著地提高很多對(duì)用戶非常重要的應(yīng)用響應(yīng)速度。然而,控制優(yōu)先級(jí)可能是一把雙刃劍,當(dāng)使用不當(dāng)時(shí)它可能會(huì)潛在地導(dǎo)致低優(yōu)先級(jí)的進(jìn)程不能得到cpu時(shí)間。保證高優(yōu)先級(jí)的進(jìn)程和線程的同時(shí)確保不會(huì)使其它進(jìn)程處于“饑餓”狀態(tài)的關(guān)鍵是要對(duì)它
5、們的執(zhí)行進(jìn)行限制,通過(guò)對(duì)執(zhí)行進(jìn)行調(diào)整或在響應(yīng)加載的過(guò)程中進(jìn)行控制,開(kāi)發(fā)人員能夠限制這些活動(dòng)消耗的cpu時(shí)間比例,并支持低優(yōu)先級(jí)進(jìn)程獲得對(duì)cpu的共享。優(yōu)先級(jí)控制能夠使很多應(yīng)用受益,包括像前面提到的媒體播放器(mp3、wav、mpeg2等格式)。媒體播放器需要實(shí)現(xiàn)正常播放所要求的速率(例如44khz的音頻、30fps的視頻)。在這種限制之下,一個(gè)讀線程和一個(gè)顯示線程可以被設(shè)計(jì)成依靠一個(gè)可編程的定時(shí)器來(lái)喚醒,緩沖或顯示一幀后進(jìn)入睡眠狀態(tài),直到下一個(gè)定時(shí)觸發(fā)。這提供了一種調(diào)整機(jī)制,支持高于正常用戶活動(dòng)而又低于關(guān)鍵系統(tǒng)功能的優(yōu)先級(jí)設(shè)置。換句話說(shuō),如果沒(méi)有更重要的任務(wù)準(zhǔn)備運(yùn)行,媒體播放將始終以給定的媒體
6、速率執(zhí)行。最壞情形搶占式調(diào)度僅在高優(yōu)先級(jí)的線程在一個(gè)短的、有限時(shí)間段內(nèi)搶占低優(yōu)先級(jí)線程的情況下有效。否則,系統(tǒng)將不可能預(yù)測(cè)要花費(fèi)多長(zhǎng)時(shí)間來(lái)執(zhí)行一個(gè)給定的操作。因此,任何銷(xiāo)售進(jìn)程模式的rtos的供應(yīng)商都必須提供針對(duì)下面兩種時(shí)間間隔提供最壞情形:線程切換時(shí)間,即當(dāng)兩個(gè)線程處于同一進(jìn)程的情況下,從執(zhí)行一個(gè)線程的最后一條指令到執(zhí)行下一個(gè)被調(diào)度線程的第一條指令所經(jīng)過(guò)的時(shí)間;前后關(guān)系切換(context switch)時(shí)間,其定義同上,但僅針對(duì)兩個(gè)線程處于不同進(jìn)程的情況??梢詫⒕€程看作是最小的“執(zhí)行單元”,而將進(jìn)程看作是一個(gè)或多個(gè)線程的“容器”,進(jìn)程定義了線程將要在其中執(zhí)行的地址空間。顯然,最壞情形的前后
7、關(guān)系切換時(shí)間將比最壞情形的線程切換時(shí)間要慢,盡管在一個(gè)好的rtos設(shè)計(jì)中差別可能是微不足道的。將所有的線程放在幾個(gè)大的進(jìn)程中將是錯(cuò)誤的,因?yàn)榫€程提供的切換速度更快。雖然線程能實(shí)現(xiàn)并行處理優(yōu)勢(shì)因而適合于某些設(shè)計(jì),但將一個(gè)應(yīng)用分成多個(gè)內(nèi)存保護(hù)的進(jìn)程使得代碼更容易調(diào)試,提供了更好的錯(cuò)誤隔離和恢復(fù)能力,并允許系統(tǒng)進(jìn)行新功能的動(dòng)態(tài)升級(jí)??蓳屨嫉膬?nèi)核在大部分通用操作系統(tǒng)中,操作系統(tǒng)的內(nèi)核是不可搶占的。其結(jié)果是,一個(gè)高優(yōu)先級(jí)的進(jìn)程不可能搶占一個(gè)內(nèi)核調(diào)用,而是必須等待整個(gè)調(diào)用完成,即使這個(gè)調(diào)用是由系統(tǒng)中的低優(yōu)先級(jí)進(jìn)程發(fā)起的。另外,當(dāng)經(jīng)常在內(nèi)核調(diào)用中執(zhí)行的驅(qū)動(dòng)程序或其它系統(tǒng)服務(wù)代表一個(gè)客戶線程執(zhí)行的時(shí)候,所有的
8、優(yōu)先級(jí)信息常常會(huì)丟失,這導(dǎo)致了不可預(yù)測(cè)的延遲并阻止了關(guān)鍵活動(dòng)的準(zhǔn)時(shí)完成。而在rtos中,內(nèi)核操作是可搶占的。盡管仍然會(huì)存在一些時(shí)間窗口,在這些時(shí)間窗口中可能沒(méi)有搶占,但是這些時(shí)間間隔應(yīng)該是相當(dāng)短暫的,通常在幾百納秒。另外,必須有一個(gè)關(guān)于搶占被推遲或中斷被禁止的時(shí)間上限,這樣開(kāi)發(fā)者可以確定最壞情形下的等待時(shí)間。為了實(shí)現(xiàn)這個(gè)目標(biāo),操作系統(tǒng)內(nèi)核必須盡可能簡(jiǎn)潔,只有具有較短執(zhí)行路徑的服務(wù)才被包含在內(nèi)核中,任何需要大量工作(如進(jìn)程加載)的操作必須被安排到外部進(jìn)程或線程。這種方法有助于通過(guò)內(nèi)核確保最長(zhǎng)的不可搶占代碼路徑具有一個(gè)時(shí)間上限。優(yōu)先級(jí)繼承然而,為一個(gè)進(jìn)程設(shè)定一個(gè)高優(yōu)先級(jí)并不總能保證該進(jìn)程能夠搶占低
9、優(yōu)先級(jí)的進(jìn)程。有時(shí)候,系統(tǒng)會(huì)出現(xiàn)一種稱為優(yōu)先級(jí)倒置(priority inversion)的狀態(tài),在這種狀態(tài)下,低優(yōu)先級(jí)的進(jìn)程將在“無(wú)意中”阻止較高優(yōu)先級(jí)進(jìn)程占用cpu。優(yōu)先級(jí)倒置可能會(huì)表現(xiàn)為幾種形式,為了防止發(fā)生這種情況,rtos必須提供一種稱為優(yōu)先級(jí)繼承的功能。12假定系統(tǒng)有三個(gè)進(jìn)程:a(低優(yōu)先級(jí)),b(中等優(yōu)先級(jí)),z(高優(yōu)先級(jí))。這里z是一個(gè)為a和b提供服務(wù)的“服務(wù)器”進(jìn)程。參見(jiàn)圖1。現(xiàn)在假定a已經(jīng)請(qǐng)求z來(lái)執(zhí)行一個(gè)計(jì)算,而在這期間,突然b需要z的服務(wù)。因?yàn)閎擁有比a更高的優(yōu)先級(jí),一般會(huì)認(rèn)為z將立即掛起a的請(qǐng)求并將轉(zhuǎn)向?yàn)閎服務(wù)。但是實(shí)際情況并非如此,因?yàn)閦比b具有更高的優(yōu)先級(jí)。其結(jié)果是,
10、b不能阻止z完成它當(dāng)前的工作,即對(duì)a做出響應(yīng)。從效果上看,低優(yōu)先級(jí)的進(jìn)程a占用了更高優(yōu)先級(jí)進(jìn)程b的cpu時(shí)間,這是引入優(yōu)先級(jí)繼承的原因。通過(guò)使用rtos提供的優(yōu)先級(jí)繼承機(jī)制,系統(tǒng)可以在a發(fā)出請(qǐng)求的情況下,讓z繼承a的低優(yōu)先級(jí)。通過(guò)這種方式,b能夠在任何時(shí)候搶占a的請(qǐng)求。如果一個(gè)應(yīng)用程序分布于幾個(gè)通過(guò)網(wǎng)絡(luò)連接的處理器,那么rtos也應(yīng)該支持分布式優(yōu)先級(jí)繼承,這樣可以按照優(yōu)先級(jí)的順序處理來(lái)自多個(gè)處理器的請(qǐng)求。如果沒(méi)有優(yōu)先級(jí)繼承,一個(gè)多處理器系統(tǒng)可能會(huì)落入無(wú)限的優(yōu)先級(jí)倒置和死鎖中。中斷處理為了獲得對(duì)外部事件的及時(shí)響應(yīng),最小化硬件中斷發(fā)生到執(zhí)行該中斷的第一條代碼的時(shí)間很重要。這個(gè)時(shí)間間隔稱為中斷延遲,
11、為了保證中斷延遲盡可能小,一個(gè)好的rtos應(yīng)該在幾乎所有時(shí)間內(nèi)都支持產(chǎn)生中斷。正如在關(guān)于內(nèi)核搶占部分提到的那樣,一些重要的代碼段的確需要暫時(shí)屏蔽中斷。這種最大的屏蔽時(shí)間通常被定義為最大的中斷延遲。在某些情況下,硬件中斷處理器必須調(diào)度并運(yùn)行一個(gè)更高優(yōu)先級(jí)的線程(例如在一個(gè)驅(qū)動(dòng)程序中)。在這樣的情況下,中斷處理器將返回并指示一個(gè)事件將被處理。這樣的處理將引入了第二種形式的延遲調(diào)度延遲,這個(gè)延時(shí)必須在設(shè)計(jì)中加以考慮。調(diào)度延遲是介于用戶的中斷處理器的最后一條指令和驅(qū)動(dòng)程序線程第一條指令的執(zhí)行之間的時(shí)間。在一個(gè)嵌入式系統(tǒng)中可能會(huì)同時(shí)出現(xiàn)多個(gè)硬件中斷。例如,在一個(gè)病人監(jiān)護(hù)系統(tǒng)中,當(dāng)一個(gè)傳感器記錄了病人心跳
12、的一次變化并且網(wǎng)卡接收到網(wǎng)絡(luò)傳來(lái)的數(shù)據(jù)的同時(shí),護(hù)士按了觸摸屏。很明顯,一些中斷(如心率的變化)應(yīng)該立即得到處理,而其他的則可以延緩。通過(guò)提供對(duì)嵌套中斷的支持,rtos支持嵌入式系統(tǒng)優(yōu)先處理更高優(yōu)先級(jí)的中斷。如何提高可靠性我們已經(jīng)明白怎樣使rtos具有可以預(yù)測(cè)性,但是如何實(shí)現(xiàn)其可靠性呢?答案在很大程度上取決于rtos的架構(gòu)。例如在實(shí)時(shí)執(zhí)行模式架構(gòu)中,大部分或所有軟件組件都在一個(gè)單一的內(nèi)存地址空間中運(yùn)行,包括操作系統(tǒng)內(nèi)核、網(wǎng)絡(luò)協(xié)議棧、設(shè)備驅(qū)動(dòng)程序、應(yīng)用程序等。雖然很有效率,但這種架構(gòu)有兩個(gè)明顯的缺陷:1. 在任何組件中的一個(gè)指針錯(cuò)誤,不論這個(gè)錯(cuò)誤多么細(xì)微,都可能破壞操作系統(tǒng)內(nèi)核或任何其它組件,導(dǎo)致
13、不可預(yù)測(cè)的行為和整個(gè)系統(tǒng)的崩潰;2. 很難動(dòng)態(tài)修復(fù)或替換任何有故障的組件。在大多數(shù)情況下,出現(xiàn)這些問(wèn)題時(shí)系統(tǒng)復(fù)位是唯一的選擇。一些rtos,也像linux一樣,試圖通過(guò)使用單內(nèi)核架構(gòu)來(lái)解決這個(gè)問(wèn)題。在這種架構(gòu)中,用戶的應(yīng)用程序在隔離的、受保護(hù)內(nèi)存地址空間中運(yùn)行。如果一個(gè)應(yīng)用程序試圖訪問(wèn)其地址空間之外的數(shù)據(jù),內(nèi)存管理單元(mmu)將通知操作系統(tǒng),操作系統(tǒng)可能會(huì)采取保護(hù)措施,例如終止出錯(cuò)進(jìn)程。然而,這樣的操作系統(tǒng)需要將大多數(shù)或所有驅(qū)動(dòng)程序、文件系統(tǒng)和其它系統(tǒng)服務(wù)綁定到內(nèi)核中。因此,任何組件中的一個(gè)錯(cuò)誤都可能帶來(lái)災(zāi)難性的內(nèi)核故障。第三種方法是采用微內(nèi)核(mricokernel)架構(gòu)來(lái)提供更精確的故障
14、隔離,像qnx neutrino這樣的操作系統(tǒng)都基于微內(nèi)核架構(gòu)。微內(nèi)核有兩個(gè)明確的特征:1. 在操作系統(tǒng)內(nèi)核中只實(shí)現(xiàn)了一個(gè)包含了基本os服務(wù)的小內(nèi)核(如信號(hào)量、定時(shí)器、任務(wù)調(diào)度等)。包括驅(qū)動(dòng)程序、文件系統(tǒng)、協(xié)議棧和用戶應(yīng)用程序在內(nèi)的所有其它的組件在內(nèi)核外部分離的、保護(hù)內(nèi)存的進(jìn)程中運(yùn)行。有問(wèn)題的系統(tǒng)服務(wù)不再作為孤立的故障點(diǎn),而是在它破壞其它服務(wù)或操作系統(tǒng)內(nèi)核之前被終止并重啟。2. 所有的組件能夠通過(guò)消息傳遞進(jìn)行通信,一個(gè)定義良好的通信機(jī)制保障了程序在保持彼此安全隔離的前提下進(jìn)行數(shù)據(jù)交換。適當(dāng)實(shí)現(xiàn)的消息傳遞也可以作為一個(gè)虛擬的“軟件總線”,允許幾乎任何的軟件組件,甚至是一個(gè)設(shè)備驅(qū)動(dòng)程序被動(dòng)態(tài)地加入
15、或替換,對(duì)于必須提供連續(xù)服務(wù)的系統(tǒng)而言這是一項(xiàng)關(guān)鍵要求。和傳統(tǒng)的操作系統(tǒng)架構(gòu)相比,微內(nèi)核支持嵌入式設(shè)備贏得明顯更快的平均修復(fù)時(shí)間(mttr)。例如,如果一個(gè)設(shè)備驅(qū)動(dòng)程序失敗將可能出現(xiàn)以下情況:操作系統(tǒng)可以終止該驅(qū)動(dòng)程序,回收其正在使用的資源,并對(duì)其進(jìn)行重新啟動(dòng),這個(gè)過(guò)程通常這只需要幾個(gè)毫秒時(shí)間。盡管和傳統(tǒng)的操作系統(tǒng)相比,基于消息傳遞的微內(nèi)核rtos通常提供了更好的容錯(cuò)性和動(dòng)態(tài)升級(jí)能力,也有一些觀點(diǎn)認(rèn)為消息傳遞增加了開(kāi)銷(xiāo)。在實(shí)際應(yīng)用中,如果實(shí)現(xiàn)正確,消息傳遞的性能可以接近底層硬件的內(nèi)存帶寬。例如,一個(gè)微內(nèi)核rtos可以采用多段式(multipart)消息和線程到線程的消息數(shù)據(jù)直接拷貝等各種技術(shù),
16、來(lái)確保系統(tǒng)性能可以達(dá)到傳統(tǒng)的進(jìn)程間通信(ipc)方法的水平。由一些組織如dedicated systems(網(wǎng)址:www.omimo.be)等進(jìn)行的獨(dú)立測(cè)試證實(shí),和傳統(tǒng)的rtos相比,微內(nèi)核rtos在一系列的實(shí)時(shí)指標(biāo)方面表現(xiàn)良好,在很多情況下甚至有更好的表現(xiàn)。策略決策rtos有助于使一個(gè)復(fù)雜的應(yīng)用程序具有可預(yù)測(cè)性和可靠性。當(dāng)然,選擇一個(gè)合適的rtos本身就是一項(xiàng)復(fù)雜的任務(wù),而rtos的底層架構(gòu)是選擇的重要依據(jù),此外還有一些其它因素,包括:1. 調(diào)度算法的靈活選擇。rtos應(yīng)該支持調(diào)度算法的選擇(先入先出(fifo)、輪詢(round robin)、零星調(diào)度等)并支持以線程為單位設(shè)定這些算法。這
17、樣,工程師就可以不必將一個(gè)算法用到系統(tǒng)中的所有線程。2. 圖形用戶界面(gui)。rtos使用的是原始的圖形庫(kù)還是能支持多層界面、多路顯示、3d渲染以及其它高級(jí)的圖形功能的真正的窗口系統(tǒng)?能很容易定制gui的外觀嗎?gui支持同時(shí)顯示和輸入多種語(yǔ)言(漢語(yǔ)、韓語(yǔ)、日語(yǔ)、英語(yǔ)、俄語(yǔ)等)嗎?3. 遠(yuǎn)程診斷工具。因?yàn)閷?duì)很多嵌入式系統(tǒng)而言,中斷系統(tǒng)運(yùn)行進(jìn)行檢測(cè)和維護(hù)是無(wú)法接受的。rtos供應(yīng)商應(yīng)該提供診斷工具,這些工具能夠在不中斷系統(tǒng)服務(wù)的前提下分析系統(tǒng)的行為。要尋找能提供代碼覆蓋、應(yīng)用測(cè)評(píng)、跟蹤分析和內(nèi)存分析工具的供應(yīng)商。4. 開(kāi)發(fā)平臺(tái)。rtos提供商提供的開(kāi)發(fā)環(huán)境是基于像eclipse那樣的開(kāi)放平臺(tái)
18、,允許工程師嵌入所喜愛(ài)的第三方工具來(lái)進(jìn)行建模、版本控制嗎?還是開(kāi)發(fā)環(huán)境基于專(zhuān)利技術(shù)?5. 互聯(lián)網(wǎng)功能。rtos支持預(yù)集成最新的ipv4、ipv6、ipsec、sctp和具有nat功能的ip過(guò)濾等協(xié)議棧套件嗎?它支持嵌入式網(wǎng)絡(luò)瀏覽器嗎?瀏覽器應(yīng)該具有可擴(kuò)展的封裝模式,并能夠在很小的屏幕上繪制網(wǎng)頁(yè)。它也應(yīng)該支持像html 4.01、xhtml 1.1、ssl 3.0和 wml 1.3這樣的標(biāo)準(zhǔn)。6. 標(biāo)準(zhǔn)api。rtos將你限定到專(zhuān)有的api之中了嗎?還是它對(duì)于像posix這樣的標(biāo)準(zhǔn)api提供了完全的支持,這使得將代碼移植到其它操作系統(tǒng),或者從其它操作系統(tǒng)移植代碼變得更容易?另外,所用的rtos提供完全一致性的api還是僅僅支持被定
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)下英語(yǔ)教師工作計(jì)劃范文
- 科研能力提升計(jì)劃
- 二年級(jí)地方教學(xué)計(jì)劃
- 護(hù)理協(xié)會(huì)年度工作計(jì)劃范文
- 2025年電大工作計(jì)劃范文
- 《氨吸收式制冷機(jī)》課件
- 政史地科組計(jì)劃
- 大班安全個(gè)人工作計(jì)劃024開(kāi)頭
- 《氧化還原平衡修改》課件
- 《復(fù)試記賬》課件2
- 德語(yǔ)四級(jí)真題2023
- 入世后黑色家電的產(chǎn)業(yè)分析與企業(yè)對(duì)策
- 2023年社?;鸢踩窘逃龑W(xué)習(xí)研討會(huì)發(fā)言稿報(bào)告(4篇)
- 6 電氣安全與靜電防護(hù)技術(shù)
- GB/T 4087-2009數(shù)據(jù)的統(tǒng)計(jì)處理和解釋二項(xiàng)分布可靠度單側(cè)置信下限
- GB/T 35679-2017固體材料微波頻段使用波導(dǎo)裝置的電磁參數(shù)測(cè)量方法
- 安全用電課件【知識(shí)精講+高效備課】 人教版九年級(jí) 物理教材精研課件
- 華中師范大學(xué)文學(xué)院《826語(yǔ)言文學(xué)綜合考試》考試大綱
- 國(guó)開(kāi)電大《個(gè)人理財(cái)》形考任務(wù)1-3試題及答案
- 未成年人需辦銀行卡證明(模板)
- 高邊坡腳手架施工方案(修)
評(píng)論
0/150
提交評(píng)論