ITRON40規(guī)范的實(shí)時(shí)操作系統(tǒng)NORTive_第1頁
ITRON40規(guī)范的實(shí)時(shí)操作系統(tǒng)NORTive_第2頁
ITRON40規(guī)范的實(shí)時(shí)操作系統(tǒng)NORTive_第3頁
ITRON40規(guī)范的實(shí)時(shí)操作系統(tǒng)NORTive_第4頁
ITRON40規(guī)范的實(shí)時(shí)操作系統(tǒng)NORTive_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ITRON4 0規(guī)范的實(shí)時(shí)操作系統(tǒng) NORTi ve基于u ITRON4.0規(guī)范的實(shí)時(shí)操作系統(tǒng)(NORTi version 4)-12011-03-21 22:45特長高速應(yīng)答性NORTi是搶占式多任務(wù)操作系統(tǒng),當(dāng)事件發(fā)生時(shí)通過基于優(yōu)先度的調(diào)度程序,實(shí)時(shí)地切換任務(wù)。系統(tǒng)內(nèi)核由仔細(xì)斟酌過的代碼構(gòu)成,在系統(tǒng)調(diào)用內(nèi)部不必通過查詢,1次即可選擇操作對象,而且中斷屏蔽時(shí)間被縮短到以前的一半,能最大限度地發(fā)揮CPU性能。此外,操作系統(tǒng)能夠?qū)雰?yōu)先度高于OS的中斷程序。此時(shí),中斷屏蔽時(shí)間無限趨近于零。小型最佳優(yōu)化了TCB(Task Control Clock任務(wù)管理模塊)等操作系統(tǒng)內(nèi)部管理模塊大小,不會(huì)浪費(fèi)

2、寶貴的RAM領(lǐng)域1個(gè)字節(jié)C語言編寫的內(nèi)核NORTi的大部分源代碼是用容易理解的C語言編寫的,有人認(rèn)為用C語言編寫的操作系統(tǒng)性能不如匯編語言編寫的操作系統(tǒng),其實(shí)并非如此。用C語言編寫的操作系統(tǒng)通過編譯器分配寄存器,可以使用最少的寄存器完成存儲(chǔ)/復(fù)原等操作,相應(yīng)系統(tǒng)就可高速運(yùn)行。并且,因?yàn)閼?yīng)用過的源代碼可以兼容多種CPU,故新版CPU發(fā)布后,馬上就能保證可靠運(yùn)行。兼容u ITRON4.0與u ITRON3.0兩種規(guī)范日本TRON協(xié)會(huì)的u ITRON4.0規(guī)范并不兼容3.0規(guī)范。而在NORTi里不僅支持u ITRON4.0規(guī)范,也實(shí)裝了u ITRON3.0規(guī)范的接口。在以前版本中開發(fā)的程序,不經(jīng)修改

3、即可與現(xiàn)系統(tǒng)共存直接使用。完整的u ITRON NORTi中完整的實(shí)裝了u ITRON4.0/3.0規(guī)范,并認(rèn)真地進(jìn)行了優(yōu)化組合、另外還提供了豐富的同步通信手段(不包括CPU異常處理程序定義)。支持多種處理器/編譯程序/調(diào)試工具由于NORTi支持大部分的1632位處理器,所以即使目標(biāo)機(jī)器不同中,也可以用相同的作法使用NORTi。此外為了支持更多的開發(fā)環(huán)境,MiSPO公司正在與多家開發(fā)工具制造商進(jìn)行合作,積極地尋求對策。任務(wù)的狀態(tài)在NORTi中可并行處理的程序單位稱為任務(wù),任務(wù)始終處于NON-EXISTENT(未生成狀態(tài)),DORMANT(停止?fàn)顟B(tài)),READY(準(zhǔn)備狀態(tài)),RUNNING(執(zhí)行

4、狀態(tài)),WAITING(等待狀態(tài)),SUSPENDED(強(qiáng)制等待狀態(tài)),WAITING-SUSPENDED(雙重等待狀態(tài))等7個(gè)狀態(tài)的任1狀態(tài)。準(zhǔn)備狀態(tài)(READY)因?yàn)楦邇?yōu)先度處于執(zhí)行狀態(tài),或者相同優(yōu)先級的任務(wù)被提前執(zhí)行,而等待的狀態(tài)。執(zhí)行狀態(tài)(RUNNING)任務(wù)正在被處理器執(zhí)行的狀態(tài)。處于RUNNING狀態(tài)的任務(wù)同時(shí)只能存在1個(gè)。對于任務(wù)而言,READY狀態(tài)和RUNNING狀態(tài)沒有太大的差別,最優(yōu)先的READY任務(wù)也可以被稱為RUNNING任務(wù)。等待狀態(tài)(WAITING)等待狀態(tài)是指通過自任務(wù)呼叫的系統(tǒng)調(diào)用而停止執(zhí)行的狀態(tài)。在事件驅(qū)動(dòng)的多任務(wù)系統(tǒng)中,被啟動(dòng)的任務(wù)大部分的時(shí)間都應(yīng)該處于等

5、待狀態(tài)中。否則,不能利用任務(wù)等待的時(shí)間執(zhí)行其他的任務(wù)。等待狀態(tài)根據(jù)其特點(diǎn)分為以下幾類。起床等待(slp_tsk,tslp_tsk)時(shí)間等待(dly_tsk)事件標(biāo)識(event flag)成立等待(wai_flg,twai_flg)信號(semaphore)獲得等待(wai_sem,twai_sem)排他資源(mutex)獲得等待(loc_mtx,tloc_mtx)信箱(mail box)接收消息(message)等待(rcv_mbx,trcv_mbx)消息緩存(message buffer)發(fā)送消息等待(snd_mbf,tsnd_mbf)消息緩存(message buffer)接收消息等待(

6、rcv_mbf,trcv_mbf)數(shù)據(jù)隊(duì)列(data queue)發(fā)送消息等待(snd_dtp,tsnd_dtp)數(shù)據(jù)隊(duì)列(data queue)接收消息等待(rcv_dtp,trcv_dtp)會(huì)合(rendezvous)呼叫等待(cal_por,tcal_por)會(huì)合(rendezvous)應(yīng)答等待(acp_por,tacp_por)會(huì)合(rendezvous)結(jié)束等待(cal_por,tcal_por)可變長內(nèi)存塊(memory block)獲得等待(get_mpl,tget_mpl)固定長內(nèi)存塊(memory block)獲得等待(get_mpf,tget_mpf)強(qiáng)制等待狀態(tài)(SUSP

7、ENDED)任務(wù)被其他任務(wù)中止執(zhí)行后進(jìn)入的狀態(tài)。該狀態(tài)被利用的機(jī)會(huì)很少。設(shè)置的目的主要為了調(diào)試時(shí)暫時(shí)停止正在執(zhí)行的任務(wù)。雙重等待狀態(tài)(WAITING-SUSPENDED)是為了方便管理而分離出來的,其與強(qiáng)制等待狀態(tài)大致相同。只是當(dāng)任務(wù)被其他任務(wù)停止時(shí)不是處于準(zhǔn)備狀態(tài),而是處于等待狀態(tài)。當(dāng)?shù)却龡l件滿足時(shí),任務(wù)從等待狀態(tài)遷移到強(qiáng)制等待狀態(tài),而不是執(zhí)行狀態(tài)。停止?fàn)顟B(tài)(DORMANT)停止?fàn)顟B(tài)是指任務(wù)沒有被啟動(dòng)時(shí)的狀態(tài)或任務(wù)結(jié)束時(shí)的狀態(tài),執(zhí)行中的任務(wù)即可以被自己呼叫的系統(tǒng)調(diào)用中止,也可以被其他任務(wù)強(qiáng)制中止,遷移到停止?fàn)顟B(tài)。未生成狀態(tài)(NON-EXISTENT)是指任務(wù)未被生成的狀態(tài),或任務(wù)被刪除的狀態(tài)

8、。任務(wù)切換發(fā)生的時(shí)機(jī)NORTi由于是多任務(wù)操作系統(tǒng),當(dāng)前執(zhí)行的任務(wù)可以被切換到更高優(yōu)先度的任務(wù)。任務(wù)切換發(fā)生的時(shí)機(jī)有以下4類(1)當(dāng)前被執(zhí)行任務(wù)啟動(dòng)了優(yōu)先度高于自身的任務(wù),或者解除了更高優(yōu)先度任務(wù)的等待。(2)非任務(wù)上下文程序(中斷處理程序/中斷服務(wù)程序/時(shí)間事件處理程序)啟動(dòng)優(yōu)先度高于當(dāng)前被執(zhí)行任務(wù)的任務(wù),或者解除了更高優(yōu)先度任務(wù)的等待。(3)等待狀態(tài)中優(yōu)先度高于當(dāng)前被執(zhí)行任務(wù)的任務(wù)因超時(shí)(timeout)而被解除了等待。(4)執(zhí)行中的任務(wù)自己進(jìn)入等待狀態(tài),如降低優(yōu)先度時(shí),才能發(fā)生任務(wù)切換。對于優(yōu)先度相同或較低時(shí),可以通過rot_rdq和chg_pri等系統(tǒng)調(diào)用將執(zhí)行中的任務(wù)回轉(zhuǎn)到等待執(zhí)行隊(duì)

9、列的末尾,來實(shí)現(xiàn)相同優(yōu)先級的任務(wù)間的互相切換。用語目標(biāo)對象(object)和ID系統(tǒng)調(diào)用的操作對象系統(tǒng)稱為目標(biāo)對象,為了識別目標(biāo)對象,通過用戶指定的號碼被稱為ID。在內(nèi)核及軟件模塊的內(nèi)部,用戶不能直接指定的ID稱為目標(biāo)對象ID。具有ID的目標(biāo)對象包括:任務(wù)、信號、事件標(biāo)識、信箱、消息緩存、會(huì)合用端口、可變長/固定長內(nèi)存池、數(shù)據(jù)隊(duì)列、排他資源、周期處理程序、報(bào)警處理程序、中斷服務(wù)程序等。通過目標(biāo)對象ID區(qū)分的目標(biāo)對象包括:中斷處理程序、會(huì)合、靜態(tài)生成的中斷服務(wù)程序任務(wù)上下文(context)直譯為上下文,指系統(tǒng)內(nèi)部某一時(shí)刻任務(wù)的全體執(zhí)行環(huán)境,稱為該任務(wù)的上下文。他是指任務(wù)被切換時(shí),系統(tǒng)中被保存/

10、復(fù)原對象的總稱。也可以具體解釋為CPU的寄存器狀態(tài)。當(dāng)在多任務(wù)中使用DSP(Digital signal processing數(shù)字信號處理)、浮點(diǎn)小數(shù)運(yùn)算單元時(shí),其寄存器類也必須進(jìn)行上下文更換。若NORTi對其不支持時(shí),用戶有必要對浮點(diǎn)運(yùn)算等進(jìn)行排他處理。非任務(wù)上下文程序中斷處理程序與時(shí)間事件處理程序合稱為非任務(wù)上下文程序。時(shí)間事件處理程序包括周期啟動(dòng)處理程序、報(bào)警處理程序、溢出處理程序3種。(在u ITRON3.0規(guī)范中,非任務(wù)上下文程序被稱為任務(wù)獨(dú)立部分、時(shí)間事件處理程序被稱為時(shí)間處理程序)。由于非任務(wù)上下文程序的各個(gè)處理程序并不是任務(wù),因此不能把自任務(wù)作為目標(biāo)對象呼叫系統(tǒng)調(diào)用。調(diào)度(di

11、spatch)選擇執(zhí)行的任務(wù)并進(jìn)行任務(wù)切換的過程被稱為調(diào)度。系統(tǒng)調(diào)用包括發(fā)生調(diào)度和不發(fā)生調(diào)度兩種。即使在發(fā)生調(diào)度的系統(tǒng)調(diào)用中,如果剛進(jìn)入READY狀態(tài)的任務(wù)優(yōu)先度低于RUNNING狀態(tài)的優(yōu)先度,也不發(fā)生任務(wù)切換。另外,通過非任務(wù)上下文程序呼叫的系統(tǒng)調(diào)用發(fā)生調(diào)度時(shí),當(dāng)系統(tǒng)向任務(wù)的上下文還原時(shí)再統(tǒng)一執(zhí)行,這被稱為延遲調(diào)度。同步/通信功能同步功能在任務(wù)等候協(xié)作時(shí)使用,通信功能在任務(wù)間傳遞數(shù)據(jù)。由于通信一般都要求同步,因此將同步、通信功能放在一起表述。即使不使用同步通信功能,如果慎重設(shè)計(jì)程序,通過使用公用變量,任務(wù)間的協(xié)作及數(shù)據(jù)的傳遞也是可能的,但使用OS提供的同步/通信功能更加簡單、安全。在NORT

12、i中定義了信號、事件標(biāo)識、信箱、消息緩存、會(huì)合用端口、數(shù)據(jù)隊(duì)列、排他資源等7種具有各自物征的同步通信功能。任務(wù)等待隊(duì)列對于1個(gè)目標(biāo)對象,當(dāng)有多個(gè)任務(wù)要求時(shí),可以將任務(wù)排成任務(wù)等待隊(duì)列。其包括信號獲得等待任務(wù)、事件標(biāo)識成立等待任務(wù)、信箱的消息接收等待任務(wù)、消息緩存的消息發(fā)送/接收等待任務(wù)、端口的會(huì)合呼叫/接收等待任務(wù),可變長/固定長內(nèi)存池的內(nèi)存塊獲得等待任務(wù),數(shù)據(jù)隊(duì)列送信/受信等待任務(wù),排他資源獲得等待任務(wù)等。任務(wù)等待隊(duì)列原則上為先進(jìn)先出(FIFO:First In First Out),信號、信箱、消息緩存受信側(cè)、可變長/固定長內(nèi)存池、排他資源等也可以按任務(wù)的優(yōu)先度或消息的優(yōu)先度進(jìn)行排列。消息

13、等待行列(queuing)當(dāng)對其他任務(wù)的要求不被受理時(shí)不發(fā)生錯(cuò)誤,而將要求排成的隊(duì)列稱為消息等待隊(duì)列。任務(wù)的啟動(dòng)要求、信箱/消息緩存/數(shù)據(jù)隊(duì)列的消息都可以被排成等待隊(duì)列。啟動(dòng)任務(wù)要求的等待行列通過記錄啟動(dòng)要求次數(shù)的計(jì)數(shù)器實(shí)現(xiàn)。信箱消息的等待行列通過指針連接的線型鏈實(shí)現(xiàn)。消息緩存/數(shù)據(jù)隊(duì)列消息的等待行列通過環(huán)形緩存實(shí)現(xiàn)。事件標(biāo)識和任務(wù)異常沒有消息等待行列,他們通過OR運(yùn)算結(jié)果來決定發(fā)生的事件及保留異常發(fā)生的原因。這種只記錄事件的有無、而不記錄次數(shù)的特征和消息等待隊(duì)列是不同的。無等待(polling)和超時(shí)(timeout)對于發(fā)生等待的系統(tǒng)調(diào)用,準(zhǔn)備了無等待和超時(shí)中斷兩種機(jī)能。若無等待的系統(tǒng)調(diào)用

14、必須發(fā)生等待的話將產(chǎn)生錯(cuò)誤。參數(shù)(parameter)與返回值(return parameter)在u ITRON4.0規(guī)范中,從用戶方傳遞過來的數(shù)據(jù)被稱為參數(shù),從系統(tǒng)調(diào)用側(cè)返回的數(shù)據(jù)稱為返回值。在本書中用C來表達(dá)一般的參數(shù)。系統(tǒng)調(diào)用的返回值原則上是錯(cuò)誤代碼(error code),當(dāng)返回其他值時(shí),需將保存該值的地址指針作為參數(shù)傳遞。系統(tǒng)調(diào)用(system call)和服務(wù)程序(service call)通過應(yīng)用程序調(diào)用系統(tǒng)內(nèi)核及軟件模塊的接口(API)稱為服務(wù)程序。內(nèi)核中的服務(wù)程序,特稱為系統(tǒng)調(diào)用。排他控制在多任務(wù)中,不能被同時(shí)訪問的對象可以被復(fù)數(shù)的任務(wù)訪問。系統(tǒng)中有許多排他(nore-en

15、trant)函數(shù)、公用數(shù)據(jù)等不能被同時(shí)利用的對象。為防止這些資源被同時(shí)訪問而實(shí)行的管理稱為排他控制。通常使用信號(semaphore)或排他資源(mutex)如果通過統(tǒng)一任務(wù)的優(yōu)先度,在訪問資源時(shí),不必發(fā)生競爭任務(wù)的切換。那么就可以不進(jìn)行排他控制(統(tǒng)一優(yōu)先度是不進(jìn)行排他控制的有效手段)。實(shí)際上,使用semaphore時(shí),因?yàn)榻?jīng)常發(fā)生高優(yōu)先度的任務(wù)等待低優(yōu)先度任務(wù)返回semaphore的這種優(yōu)先度逆轉(zhuǎn)的復(fù)雜問題,所以有時(shí)暫時(shí)提高競爭區(qū)間的優(yōu)先度效果很好。在使用mutex時(shí),有時(shí)也可以通過提高任務(wù)優(yōu)先度來解決問題,但是當(dāng)進(jìn)行排他控制的時(shí)間很短的話,通過暫時(shí)禁止調(diào)度或禁止中斷,可以簡單地實(shí)現(xiàn)排他控制

16、。閑置任務(wù)(idle task)閑置任務(wù)在其他所有任務(wù)停止時(shí)被執(zhí)行,在內(nèi)核中也有閑置任務(wù)。在用戶程序中,無限循環(huán)的最低優(yōu)先度的任務(wù)即為閑置任務(wù)。閑置任務(wù)雖然什么也不執(zhí)行,但卻有重要意義。在事件驅(qū)動(dòng)方式的多任務(wù)系統(tǒng)中,若閑置任務(wù)始終不被執(zhí)行,表示CPU的性能不足或者徒勞耗費(fèi)CPU資源的任務(wù)存在。靜態(tài)錯(cuò)誤和動(dòng)態(tài)錯(cuò)誤從系統(tǒng)調(diào)用中返回的錯(cuò)誤分為靜態(tài)錯(cuò)誤和動(dòng)態(tài)錯(cuò)誤兩種。靜態(tài)錯(cuò)誤是由于使用了范圍外ID號碼等異常參數(shù),與系統(tǒng)狀態(tài)無關(guān)而必然發(fā)生的錯(cuò)誤。當(dāng)程序調(diào)試完成后將自動(dòng)消息失。動(dòng)態(tài)錯(cuò)誤是指還沒有進(jìn)入等待隊(duì)列的任務(wù)被解除等待那樣,與系統(tǒng)的狀態(tài)或定時(shí)器(timing)等有關(guān)的錯(cuò)誤。象polling失敗那樣,用

17、戶也可以編制積極利用動(dòng)態(tài)錯(cuò)誤的程序。在NORTi中,為了實(shí)現(xiàn)高速化,也內(nèi)置了不檢查靜態(tài)參數(shù)錯(cuò)誤的程序連接庫。上下文錯(cuò)誤(context error)有些系統(tǒng)調(diào)用是不能由非任務(wù)上下文程序(中斷處理程序和時(shí)間事件處理程序)進(jìn)行調(diào)用的。否則,將從系統(tǒng)調(diào)用返回上下文錯(cuò)誤。因?yàn)檫@是靜態(tài)的錯(cuò)誤,所以在不檢查靜態(tài)參數(shù)的程序庫中,不能查出這個(gè)錯(cuò)誤。靜態(tài)API與動(dòng)態(tài)API在u ITRON4.0規(guī)范中,以大寫字母記述的生成系的系統(tǒng)調(diào)用稱為靜態(tài)API,但OS對其并不直接支持。靜態(tài)API結(jié)構(gòu)在編譯時(shí),由TCB等管理模塊確保其在系統(tǒng)啟動(dòng)時(shí)進(jìn)行初始化。即在編譯前,需要生成對應(yīng)靜態(tài)API的代碼,因此在u ITRON4.0規(guī)

18、范中導(dǎo)入了配置程序。NORTi的基礎(chǔ)是生成動(dòng)態(tài)對象,因此NORTi的配置程序,在初始化時(shí)通過將配置文件中的靜態(tài)API替換為通常的動(dòng)態(tài)API的代碼來實(shí)現(xiàn)靜態(tài)API。通用原則系統(tǒng)調(diào)用的名稱ITRON的系統(tǒng)調(diào)用基本上是xxx_yyy類型,xxx是操作方法的省略名,yyy是操作對象的省略名。從xxx_yyy派生的系統(tǒng)調(diào)用,在前面增加1個(gè)字母,變?yōu)閦xxx_yyy類型,如在polling的系統(tǒng)調(diào)用前面加p,有timeout的系統(tǒng)調(diào)用前面加t,獨(dú)自的系統(tǒng)調(diào)用前面加v數(shù)據(jù)類型的名稱ITRON的數(shù)據(jù)類型全部使用大寫字母,指針類型的名稱為P_,結(jié)構(gòu)體類型的名稱原則上為T_。參數(shù)的名稱在系統(tǒng)調(diào)用的定義中,參數(shù)名稱

19、原則如下p_數(shù)據(jù)地址指針pk_結(jié)構(gòu)體地址指針ppk_結(jié)構(gòu)體地址指針的指針id IDno編號atr屬性cd代碼sz大小(字節(jié)數(shù))cnt個(gè)數(shù)ptn位組合模式(bit pattern)i初始值0和負(fù)數(shù)的處理在系統(tǒng)調(diào)用的輸入輸出中,多數(shù)情況下0具有特殊的含義,以任務(wù)ID為例,用0指定自任務(wù)。所謂自任務(wù)是指呼叫的系統(tǒng)調(diào)用的操作對象為自身的任務(wù),由于0具有特殊意義,因此ID號碼和優(yōu)先度都是從1開始的,在ITRON規(guī)范中負(fù)值與系統(tǒng)有關(guān),如系統(tǒng)調(diào)用的錯(cuò)誤代碼為負(fù)。在u ITRON3.0規(guī)范前,負(fù)的ID號碼(-1)(-4)作為系統(tǒng)用被保留,但在u ITRON4.0規(guī)范中已經(jīng)被取消,在NORTi中也不使用。數(shù)據(jù)類

20、型(32位CPU)在IRON中,下列再定義類型由系統(tǒng)調(diào)用使用。INT,UINT為32位。通用的數(shù)據(jù)類型typedef signed char B;帶符號的8位整數(shù)typedef unsigned char UB;無符號的8位整數(shù)typedef short H;帶符號的16位整數(shù)typedef unsigned short UH;無符號的16位整數(shù)typedef long W;帶符號的32位整數(shù)typedef unsigned long UW;無符號的32位整數(shù)typedef char VB類型不定的數(shù)據(jù)(8位大小)typedef short VH類型不定的數(shù)據(jù)(16位大小)typedef lo

21、ng VW;類型不定的數(shù)據(jù)(32位大小)typedef void*VP指向類型不定數(shù)據(jù)的指針typedef void(*FP)();一般為程序的先頭地址IRON特有數(shù)據(jù)類型typedef int INT帶符號的整數(shù)typedef unsigned int UINT無符號的整數(shù)typedef int BOOL布爾值(FALSE(0)或TRUE(1)typedef INT FN;函數(shù)代碼typedef int ID;目標(biāo)對象的ID代碼typedef int RDVNO;會(huì)合(rendezvous)號碼typedef unsigned int ATR;目標(biāo)對象屬性typedef int ER;錯(cuò)誤代碼typedef int PRI;任務(wù)優(yōu)先度typedef long TMO;超時(shí)(timeout)typedef int ER_ID;錯(cuò)誤代碼或目標(biāo)對象ID號碼typedef long DLYTIME;延遲時(shí)間typedef unsigned int STAT;目標(biāo)對象的狀態(tài)typedef unsigned int MODE;服務(wù)程序的動(dòng)作模式typedef unsign

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論