Linux操作系統(tǒng)原理與應(yīng)用第四章課件_第1頁(yè)
Linux操作系統(tǒng)原理與應(yīng)用第四章課件_第2頁(yè)
Linux操作系統(tǒng)原理與應(yīng)用第四章課件_第3頁(yè)
Linux操作系統(tǒng)原理與應(yīng)用第四章課件_第4頁(yè)
Linux操作系統(tǒng)原理與應(yīng)用第四章課件_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四章 進(jìn)程管理 4.1進(jìn)程概述 為了提高計(jì)算機(jī)系統(tǒng)的效率,增強(qiáng)計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件的并行操作能力,操作系統(tǒng)要求程序結(jié)構(gòu)必須適應(yīng)并發(fā)處理的需要,為此引入了進(jìn)程的概念。進(jìn)程是操作系統(tǒng)的核心,所有基于多道程序設(shè)計(jì)的操作系統(tǒng)都建立在進(jìn)程的概念之上。 4.1.1進(jìn)程的概念 所謂進(jìn)程是由正文段(Text)、用戶數(shù)據(jù)段(User Segment)以及系統(tǒng)數(shù)據(jù)段(System Segment)共同組成的一個(gè)執(zhí)行環(huán)境。4.1.2程序和進(jìn)程 進(jìn)程與程序的聯(lián)系和區(qū)別如下:動(dòng)態(tài)性和靜態(tài)型。動(dòng)態(tài)性是進(jìn)程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行以及由撤銷(xiāo)而消亡,因而進(jìn)程有一定的生命期;而

2、程序只是一組有序指令的集合,是靜態(tài)實(shí)體。結(jié)構(gòu)上每個(gè)進(jìn)程實(shí)體都由程序段和相應(yīng)的數(shù)據(jù)段組成,這一特征與程序含義相近。4.1.2程序和進(jìn)程一個(gè)進(jìn)程可以涉及到一個(gè)或幾個(gè)程序的執(zhí)行;反之一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程,即同一程序段可在不同數(shù)據(jù)集合上運(yùn)行,可構(gòu)成不同的進(jìn)程。并發(fā)性。并發(fā)性是進(jìn)程的重要特征,同時(shí)也是操作系統(tǒng)的重要特征。引入進(jìn)程的目的正是為了使其程序能和其它建立了進(jìn)程的程序并發(fā)執(zhí)行,而程序本身是不能并發(fā)執(zhí)行的。進(jìn)程具有創(chuàng)建其它進(jìn)程的功能。操作系統(tǒng)中的每一個(gè)程序都是在一個(gè)主進(jìn)程中運(yùn)行的。4.1.3進(jìn)程的結(jié)構(gòu) 進(jìn)程是一個(gè)動(dòng)態(tài)實(shí)體,它具有生命周期。因此,對(duì)操作系統(tǒng)中進(jìn)程的描述模仿人類(lèi)的活動(dòng)。4.1.4進(jìn)程

3、實(shí)例 進(jìn)程是程序在計(jì)算機(jī)上的一次執(zhí)行活動(dòng),當(dāng)你運(yùn)行一個(gè)程序,你就啟動(dòng)了一個(gè)進(jìn)程。顯然,程序是死的(靜態(tài)的),進(jìn)程是活的(動(dòng)態(tài)的)。進(jìn)程可以分為系統(tǒng)進(jìn)程和用戶進(jìn)程,凡是用于完成操作系統(tǒng)的各種功能的進(jìn)程就是系統(tǒng)進(jìn)程,它們就是處于運(yùn)行狀態(tài)下的操作系統(tǒng)本身;用戶進(jìn)程就是所有由你啟動(dòng)的進(jìn)程。進(jìn)程是操作系統(tǒng)進(jìn)行資源分配的單位,進(jìn)程實(shí)例就是一個(gè)運(yùn)行的程序。 4.1.5Linux系統(tǒng)中的進(jìn)程 在Linux中,每個(gè)進(jìn)程在創(chuàng)建時(shí)都會(huì)被分配一個(gè)數(shù)據(jù)結(jié)構(gòu),稱為進(jìn)程控制塊(Process Control Block,PCB)。在進(jìn)程的整個(gè)生命周期中,系統(tǒng)(也就是內(nèi)核)總是通過(guò)PCB感知進(jìn)程的存在。除了PCB以外,每個(gè)進(jìn)

4、程都有獨(dú)立的內(nèi)核堆棧,一個(gè)進(jìn)程描述符結(jié)構(gòu),這些數(shù)據(jù)都作為進(jìn)程的控制信息儲(chǔ)存在內(nèi)核空間中,而進(jìn)程的用戶空間主要存儲(chǔ)代碼和數(shù)據(jù)。進(jìn)程的另外一個(gè)名字是任務(wù),Linux內(nèi)核通常把進(jìn)程也叫任務(wù)。另外,在Linux內(nèi)核中,對(duì)進(jìn)程和線程也不做明顯的區(qū)別, 4.2進(jìn)程控制塊 操作系統(tǒng)為了對(duì)進(jìn)程進(jìn)行管理,就必須對(duì)每個(gè)進(jìn)程在其生命周期內(nèi)涉及的所有事情進(jìn)行全名的描述。這些信息在內(nèi)核中可以用一個(gè)結(jié)構(gòu)體來(lái)描述,Linux中把對(duì)進(jìn)程的描述結(jié)構(gòu)叫做task_struct,傳統(tǒng)上這樣的數(shù)據(jù)結(jié)構(gòu)即為進(jìn)程控制塊。 4.2.1進(jìn)程狀態(tài) 最基本的進(jìn)程狀態(tài)有以下三種:運(yùn)行態(tài):進(jìn)程占有CPU,并在CPU上運(yùn)行。就緒態(tài):進(jìn)程已經(jīng)具備運(yùn)行條

5、件,但由于CPU忙而暫時(shí)不能運(yùn)行。阻塞態(tài):進(jìn)程因等待某種事件的發(fā)生而暫時(shí)不能運(yùn)行(即使CPU空閑,進(jìn)程也不可運(yùn)行)4.2.1進(jìn)程狀態(tài)4.2.2進(jìn)程標(biāo)識(shí)符 不管對(duì)內(nèi)核還是普通用戶來(lái)說(shuō),如何用一種簡(jiǎn)單的方式識(shí)別不同的進(jìn)程呢?這就引入了進(jìn)程標(biāo)識(shí)符(PID)。每個(gè)進(jìn)程都有一個(gè)唯一的標(biāo)識(shí)符,內(nèi)核通過(guò)這個(gè)標(biāo)識(shí)符來(lái)識(shí)別不同進(jìn)程。同時(shí),進(jìn)程標(biāo)識(shí)符也是內(nèi)核提供給用戶程序的接口,用戶程序通過(guò)PID來(lái)對(duì)進(jìn)程發(fā)號(hào)施令。 4.2.3進(jìn)程之間的關(guān)系 Linux進(jìn)程關(guān)系主要有三種:父進(jìn)程和子進(jìn)程、進(jìn)程組、進(jìn)程會(huì)話。 4.2.4進(jìn)程控制塊的存放 當(dāng)一個(gè)進(jìn)程從用戶態(tài)進(jìn)入內(nèi)核態(tài),CPU自動(dòng)設(shè)置該進(jìn)程的內(nèi)核棧,這個(gè)棧位于內(nèi)核數(shù)據(jù)段

6、上。同時(shí),為節(jié)省空間,Linux把內(nèi)核棧和一個(gè)緊挨近PCB的小數(shù)據(jù)結(jié)構(gòu)thread-info放在一起。在Intel系統(tǒng)中,棧起始于末端,并朝這個(gè)內(nèi)存區(qū)開(kāi)始的方向“增長(zhǎng)”。剛切換過(guò)來(lái),內(nèi)核棧是空的,堆棧寄存器ESP直接指向此內(nèi)存區(qū)的頂端,通過(guò)找到thread-info來(lái)找到當(dāng)前運(yùn)行的task-struct(PCB)。 4.3進(jìn)程的組織方式 在Linux中,每個(gè)進(jìn)程都有自己的taskstruct結(jié)構(gòu)。系統(tǒng)擁有的進(jìn)程數(shù)取決于物理內(nèi)存的大小,因此進(jìn)程數(shù)可能達(dá)到成千上萬(wàn)個(gè)。為了對(duì)系統(tǒng)中的很多進(jìn)程及處于不同狀態(tài)的進(jìn)程進(jìn)行管理,Linux采用了以下幾種組織方式來(lái)管理進(jìn)程。 4.3.1散列表 散列表(Hash

7、table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Keyvalue)而直接進(jìn)行訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)。也就是說(shuō),它通過(guò)把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪問(wèn)記錄,以加快查找的速度。這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表。 4.3.2NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式) 使用NAT模式,就是讓虛擬系統(tǒng)借助NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能,通過(guò)宿主機(jī)器所在的網(wǎng)絡(luò)來(lái)訪問(wèn)公網(wǎng)。采用NAT模式最大的優(yōu)勢(shì)是虛擬系統(tǒng)接入互聯(lián)網(wǎng)非常簡(jiǎn)單,你不需要進(jìn)行任何其他的配置,只需要宿主機(jī)器能訪問(wèn)互聯(lián)網(wǎng)即可。如果你想利用VMware安裝一個(gè)新的虛擬系統(tǒng),在虛擬系統(tǒng)中不用進(jìn)行任何手工配置就能直接訪問(wèn)互聯(lián)網(wǎng),建議你采用NAT模式。 4.3.2雙向循

8、環(huán)鏈表 哈希表的主要作用是根據(jù)進(jìn)程的pid可以快速地找到對(duì)應(yīng)的進(jìn)程,但它沒(méi)有反映進(jìn)程創(chuàng)建的順序,也無(wú)法反映進(jìn)程之間的親屬關(guān)系,因此引入雙向循環(huán)鏈表。每個(gè)進(jìn)程taskstruct結(jié)構(gòu)中的prevtask和nexttask成員用來(lái)實(shí)現(xiàn)這種鏈表,鏈表的頭和尾都是inittask,也就是所謂的空進(jìn)程,它是所有進(jìn)程的祖先。 4.3.3可運(yùn)行隊(duì)列 當(dāng)內(nèi)核要尋找一個(gè)新的進(jìn)程在CPU上運(yùn)行時(shí),一般只考慮那些處于可運(yùn)行狀態(tài)的進(jìn)程,因?yàn)椴檎艺麄€(gè)進(jìn)程鏈表效率是很低的,所以引入了可運(yùn)行狀態(tài)進(jìn)程的雙向循環(huán)鏈表,也叫運(yùn)行隊(duì)列。可運(yùn)行隊(duì)列容納了系統(tǒng)中所有可以運(yùn)行的進(jìn)程,它是一個(gè)雙向循環(huán)隊(duì)列。4.3.4等待隊(duì)列 可運(yùn)行隊(duì)列鏈

9、表將所有狀態(tài)為T(mén)ASK_RUNNING的進(jìn)程組織在一起。將所有狀態(tài)為T(mén)ASK_INTERRUPTIBLE和TASKUN_INTERRUPTIBLE的進(jìn)程組織在一起而形成的進(jìn)程鏈表稱為等待隊(duì)列。 4.4進(jìn)程的互斥與同步 操作系統(tǒng)是管理計(jì)算機(jī)的軟件和硬件資源,合理組織計(jì)算機(jī)的工作流程以及方便用戶使用的程序的集合?,F(xiàn)代操作系統(tǒng)的三個(gè)主要特征是并發(fā)性、資源共享和異步性。 4.4.1互斥的定義 進(jìn)程互斥是進(jìn)程之間發(fā)生的一種間接性作用,通常的情況是兩個(gè)或兩個(gè)以上的進(jìn)程需要同時(shí)訪問(wèn)某個(gè)共享變量。在多道程序環(huán)境下,存在著臨界資源,兩個(gè)或兩個(gè)以上的進(jìn)程,不能同時(shí)進(jìn)入關(guān)于同一組共享變量的臨界區(qū)域,否則就會(huì)導(dǎo)致數(shù)據(jù)

10、的不一致,產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤,這種現(xiàn)象被稱作進(jìn)程互斥。4.4.1互斥的定義4.4.2同步的定義 進(jìn)程同步是在多道程序的環(huán)境下,存在著不同的制約關(guān)系,為了協(xié)調(diào)這種互相制約的關(guān)系,實(shí)現(xiàn)資源共享和進(jìn)程協(xié)作,從而避免進(jìn)程之間的沖突,引入了進(jìn)程同步。進(jìn)程同步也是進(jìn)程之間直接的制約關(guān)系,是為完成某種任務(wù)而建立的兩個(gè)或多個(gè)線程,這個(gè)線程需要在某些位置上協(xié)調(diào)它們的工作次序而等待、傳遞信息所產(chǎn)生的制約關(guān)系。 4.4.2同步的定義4.4.3信號(hào)量機(jī)制 1965年由荷蘭科學(xué)家Dijkstra提出的信號(hào)量機(jī)制,是一種卓有成效的進(jìn)程同步工具。對(duì)信號(hào)量的充分理解是學(xué)習(xí)P、V操作的基本前提,信號(hào)量是一個(gè)記錄型的數(shù)據(jù)結(jié)構(gòu),

11、它有兩個(gè)數(shù)據(jù)項(xiàng)。 Struck semaphore int value; pointer_PCB queue; ;4.4.4用P、V操作實(shí)現(xiàn)進(jìn)程的互斥 在各進(jìn)程的臨界區(qū)的兩端分別加入對(duì)于同一個(gè)初值為1的信號(hào)量的P、V操作,當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)后,其它進(jìn)程不能夠再進(jìn)入臨界區(qū),直到先前進(jìn)入臨界區(qū)的進(jìn)程退出臨界區(qū)后,通過(guò)V操作喚醒其它某個(gè)等待進(jìn)程后,才會(huì)有進(jìn)程再次訪問(wèn)臨界資源,從而實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)于臨界資源的互斥訪問(wèn)。 4.4.5用P、V操作實(shí)現(xiàn)進(jìn)程的同步 當(dāng)一個(gè)進(jìn)程執(zhí)行以后,確定下一個(gè)將要執(zhí)行的進(jìn)程,并用V操作使該進(jìn)程可以執(zhí)行。在實(shí)現(xiàn)時(shí),在各進(jìn)程中完成特定功能的程序段兩端加上P操作和V操作,它們分別

12、使用不同的信號(hào)量,用以在各進(jìn)程間傳遞信息。通常,能夠最先執(zhí)行的進(jìn)程中,P操作中所使用的信號(hào)量的初值大于1,而其它進(jìn)程中,第一個(gè)P操作所對(duì)應(yīng)的信號(hào)量的初值為零。這樣,在執(zhí)行時(shí),第一個(gè)進(jìn)程先執(zhí)行,執(zhí)行完V操作后,使另一個(gè)進(jìn)程可以執(zhí)行,依次傳遞下去,就可以實(shí)現(xiàn)各個(gè)進(jìn)程按照一定的順序執(zhí)行了。 4.6死鎖 死鎖是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過(guò)程中,由于競(jìng)爭(zhēng)資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無(wú)外力作用,它們都將無(wú)法推進(jìn)下去,此時(shí)稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖。 4.5進(jìn)程調(diào)度 無(wú)論是在批處理系統(tǒng)還是分時(shí)系統(tǒng)中,用戶進(jìn)程數(shù)一般都多于處理機(jī)數(shù)、這將導(dǎo)致它們互相爭(zhēng)奪處理機(jī)。另外,系統(tǒng)進(jìn)程也同樣需

13、要使用處理機(jī)。這就要求進(jìn)程調(diào)度程序按一定的策略,動(dòng)態(tài)地把處理機(jī)分配給處于就緒隊(duì)列中的某一個(gè)進(jìn)程,以使之執(zhí)行。 4.5.1進(jìn)程調(diào)度的基本原理 在設(shè)計(jì)進(jìn)程調(diào)度程序時(shí)應(yīng)該考慮以下三個(gè)方面:調(diào)度時(shí)機(jī):什么時(shí)候,什么情況下進(jìn)行程序調(diào)度。調(diào)度策略:使用什么樣的策略來(lái)選擇下一個(gè)進(jìn)入運(yùn)行的進(jìn)程。調(diào)度方式:是搶占式還是非搶占式,當(dāng)由調(diào)度程序來(lái)決定什么時(shí)候停止一個(gè)進(jìn)程的執(zhí)行,以便讓其它進(jìn)程能夠得到執(zhí)行機(jī)會(huì)時(shí),這種強(qiáng)制掛起進(jìn)程的動(dòng)作成為搶占式。 4.5.2Linux進(jìn)程調(diào)度 Linux內(nèi)核有如下三種調(diào)度方法:SCHED_OTHER 分時(shí)調(diào)度策略,SCHED_FIFO實(shí)時(shí)調(diào)度策略,先到先服務(wù)SCHED_RR實(shí)時(shí)調(diào)度策

14、略,時(shí)間片輪轉(zhuǎn)4.5.3調(diào)度策略 在每個(gè)進(jìn)程的task_struct結(jié)構(gòu)中有以下四項(xiàng):PolicyPriorityCounterrt_priority這四項(xiàng)就是調(diào)度程序選擇進(jìn)程的依據(jù)。其中,policy是進(jìn)程的調(diào)度策略,用來(lái)區(qū)分實(shí)時(shí)和普通兩種進(jìn)程;priority是進(jìn)程(實(shí)時(shí)和普通)的優(yōu)先級(jí);counter是進(jìn)程剩余的時(shí)間片,它的大小完全由priority決定;rt_priority是實(shí)時(shí)優(yōu)先級(jí),這是實(shí)時(shí)進(jìn)程所特有的,用于實(shí)時(shí)進(jìn)程間的選擇。4.5.4調(diào)度函數(shù) 函數(shù)schedule()實(shí)現(xiàn)調(diào)度程序,它的任務(wù)是從運(yùn)行隊(duì)列的鏈表中找到一個(gè)進(jìn)程,并隨后將CPU分配給這個(gè)進(jìn)程。 直接調(diào)用延遲調(diào)用4.6進(jìn)

15、程間通信 進(jìn)程間通信就是在不同進(jìn)程之間傳播或交換信息,在Linux這種多用戶多任務(wù)的環(huán)境中,為了完成一個(gè)任務(wù)有時(shí)候需要多個(gè)進(jìn)程協(xié)同工作,這必然牽扯到進(jìn)程間的相互通信。 4.6.1進(jìn)程通信的方式 管道(Pipe) 命名管道(named pipe) 信號(hào)(Signal) 消息(Message)隊(duì)列 共享內(nèi)存 內(nèi)存映射(mapped memory) 信號(hào)量(semaphore) 套接口(Socket) 4.6.2Linux信號(hào)通信原理 在Linux系統(tǒng)中,根據(jù)具體的的軟硬件情況,內(nèi)核程序會(huì)發(fā)出不同的信號(hào)來(lái)通知進(jìn)程某個(gè)事件的發(fā)生。對(duì)于信號(hào)的發(fā)送,大都由內(nèi)核程序在遇到以下幾種特定情況的時(shí)候向進(jìn)程發(fā)送的,

16、例如:系統(tǒng)測(cè)出一個(gè)可能出現(xiàn)的硬件故障,如電源故障程序出現(xiàn)異常行為,如企圖使用該進(jìn)程之外的存貯器該進(jìn)程的子進(jìn)程已經(jīng)終止用戶從終端向目標(biāo)程序發(fā)出中斷(BREAK)鍵、繼續(xù)(CTRL-Q)鍵等4.6.2Linux信號(hào)通信原理當(dāng)一個(gè)信號(hào)正在被處理時(shí),所有同樣的信號(hào)都將暫時(shí)擱置,直到這個(gè)信號(hào)處理完成后,才加以理會(huì)。當(dāng)一個(gè)進(jìn)程收到信號(hào)后,用下列方式之一做出反應(yīng) 忽略該信號(hào) 捕獲該信號(hào)(即內(nèi)核在繼續(xù)執(zhí)行該進(jìn)程之前先運(yùn)行一個(gè)由用戶定義的函數(shù))讓內(nèi)核執(zhí)行與該信號(hào)相關(guān)的默認(rèn)動(dòng)作4.6.3Linux管道通信原理 管道只能用于有親系關(guān)系的進(jìn)程間通信,即只能在父進(jìn)程與子進(jìn)程或兄弟進(jìn)程間通信,而有名管道可以用于任何進(jìn)程間

17、通信。管道是半雙工的,即在某一時(shí)刻只能有一個(gè)進(jìn)程向管道里讀或?qū)憽?4.7線程 線程(Thread)是一個(gè)動(dòng)態(tài)對(duì)象,是處理機(jī)調(diào)度的基本單位,表示一個(gè)進(jìn)程中的一個(gè)控制點(diǎn),執(zhí)行一些指令。一個(gè)進(jìn)程內(nèi)的個(gè)線程均可訪問(wèn)整個(gè)進(jìn)程的所有資源,因此線程間通信比較簡(jiǎn)單。 4.7.1線程的概念 線程(thread),有時(shí)被稱為輕量級(jí)進(jìn)程,是程序執(zhí)行流的最小單元。一個(gè)標(biāo)準(zhǔn)的線程由線程ID,當(dāng)前指令指針(PC),寄存器集合和堆棧組成。另外,線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。 4.7.1線程的概念4.7.2線程與進(jìn)程的比

18、較 線程和進(jìn)程在很多方面是相似的,主要表現(xiàn)在如下幾方面:都具有ID,一組寄存器,狀態(tài),有限級(jí)以及所要遵循的調(diào)度策略。每個(gè)進(jìn)程都有一個(gè)進(jìn)程控制塊,線程也擁有一個(gè)線程控制塊,這個(gè)控制塊包含線程的一些屬性信息,操作系統(tǒng)適應(yīng)這些屬性信息來(lái)描述線程。線程和子進(jìn)程共享父進(jìn)程中的資源。線程和子進(jìn)程獨(dú)立于它們的父進(jìn)程,競(jìng)爭(zhēng)使用處理器資源。線程和子進(jìn)程的創(chuàng)建者可以在線程和子進(jìn)程上實(shí)行某些控制,比如創(chuàng)建者可以取消、掛起、繼續(xù)和修改線程和子進(jìn)程的優(yōu)先級(jí)。線程和子進(jìn)程可以改變其屬性并創(chuàng)建新的資源。4.7.2線程與進(jìn)程的比較進(jìn)程和線程的區(qū)別在于:一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程.線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論