版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第8章章 操作系統(tǒng)實(shí)例二:操作系統(tǒng)實(shí)例二:Linux 教學(xué)目標(biāo):本章的重點(diǎn):了解Linux操作系統(tǒng)的特點(diǎn)、進(jìn)程通信和調(diào)度、三級(jí)頁式虛擬存儲(chǔ)器管理、VFS和ext2文件系統(tǒng)以及Linux的安全機(jī)制等內(nèi)容。 教學(xué)提示:Linux是可免費(fèi)獲得的多用戶、多任務(wù)操作系統(tǒng),是可以自由使用的UNIX兼容產(chǎn)品,這就是學(xué)習(xí)Linux的主要原因。了解Linux操作系統(tǒng)的特點(diǎn)、核心技術(shù)和實(shí)現(xiàn)方法有助于該系統(tǒng)進(jìn)一步的開發(fā)和應(yīng)用。8.1 Linux概述概述 8.1.1 8.1.1 學(xué)習(xí)學(xué)習(xí)LinuxLinux操作系統(tǒng)的意義操作系統(tǒng)的意義8.1.2 Linux8.1.2 Linux系統(tǒng)的特點(diǎn)系統(tǒng)的特點(diǎn)8.1.3 Lin
2、ux 8.1.3 Linux 系統(tǒng)的發(fā)展系統(tǒng)的發(fā)展8.1.4 Linux8.1.4 Linux體系結(jié)構(gòu)體系結(jié)構(gòu) 8.1.5 Linux8.1.5 Linux的用戶界面的用戶界面 8.2 Linux的進(jìn)程管理的進(jìn)程管理 8.2.1 Linux8.2.1 Linux進(jìn)程的組成進(jìn)程的組成LinuxLinux系統(tǒng)中的進(jìn)程都具有以下系統(tǒng)中的進(jìn)程都具有以下4 4個(gè)要素。個(gè)要素。(1) (1) 有一個(gè)程序正文段供其執(zhí)行。有一個(gè)程序正文段供其執(zhí)行。(2) (2) 有進(jìn)程專用的系統(tǒng)堆棧空間。有進(jìn)程專用的系統(tǒng)堆??臻g。(3) (3) 有一個(gè)進(jìn)程描述符,即在內(nèi)核中的一個(gè)有一個(gè)進(jìn)程描述符,即在內(nèi)核中的一個(gè)task_s
3、tructtask_struct數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)。有了這個(gè)數(shù)據(jù)結(jié)構(gòu),進(jìn)程才能成為內(nèi)核調(diào)度的一個(gè)基本單位,接受內(nèi)有了這個(gè)數(shù)據(jù)結(jié)構(gòu),進(jìn)程才能成為內(nèi)核調(diào)度的一個(gè)基本單位,接受內(nèi)核的調(diào)度。同時(shí),該結(jié)構(gòu)還記錄著進(jìn)程所占用的各項(xiàng)資源。核的調(diào)度。同時(shí),該結(jié)構(gòu)還記錄著進(jìn)程所占用的各項(xiàng)資源。(4) (4) 有一個(gè)獨(dú)立的地址空間,即擁有專有的用戶空間和專用的用戶空有一個(gè)獨(dú)立的地址空間,即擁有專有的用戶空間和專用的用戶空間堆棧。間堆棧。 8.2.2 Linux進(jìn)程的狀態(tài)進(jìn)程的狀態(tài) LinuxLinux的進(jìn)程狀態(tài)共有的進(jìn)程狀態(tài)共有6 6種。種。 (1) TASK_RUNNING (1) TASK_RUNNING:正
4、在運(yùn)行:正在運(yùn)行( (己獲得己獲得CPU)CPU)或準(zhǔn)備運(yùn)行或準(zhǔn)備運(yùn)行( (就緒態(tài)就緒態(tài)等待獲得等待獲得CPU)CPU)的進(jìn)程。的進(jìn)程。 (2) TASK_INTERRUPTIBLE (2) TASK_INTERRUPTIBLE:可中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一旦資:可中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一旦資源可用時(shí)被喚醒,也可以由其他進(jìn)程通過信號(hào)源可用時(shí)被喚醒,也可以由其他進(jìn)程通過信號(hào)(SIGNAL)(SIGNAL)或中斷喚醒。或中斷喚醒。 (3) TASK_UNINTERRUPTIBLE (3) TASK_UNINTERRUPTIBLE:不可中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一:不可
5、中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一旦資源可用時(shí)被喚醒,但不可以由其他進(jìn)程通過信號(hào)旦資源可用時(shí)被喚醒,但不可以由其他進(jìn)程通過信號(hào)(SIGNAL)(SIGNAL)或中斷喚醒。或中斷喚醒。 (4) TASK_ZOMBIE (4) TASK_ZOMBIE:進(jìn)程僵死狀態(tài)。進(jìn)程停止運(yùn)行但是尚未釋放:進(jìn)程僵死狀態(tài)。進(jìn)程停止運(yùn)行但是尚未釋放PCBPCB。 (5) TASK_STOPPED (5) TASK_STOPPED:進(jìn)程停止?fàn)顟B(tài)??赡鼙惶囟ㄐ盘?hào)終止,也可能是受其他:進(jìn)程停止?fàn)顟B(tài)。可能被特定信號(hào)終止,也可能是受其他進(jìn)程的跟蹤調(diào)用而暫時(shí)將進(jìn)程的跟蹤調(diào)用而暫時(shí)將CPUCPU出讓給跟蹤它的進(jìn)程。出讓給跟蹤它的
6、進(jìn)程。 (6) TASK_S (6) TASK_S:頁面被交換出內(nèi)存的進(jìn)程。:頁面被交換出內(nèi)存的進(jìn)程。 8.2.3 8.2.3 進(jìn)程狀態(tài)的切換時(shí)機(jī)進(jìn)程狀態(tài)的切換時(shí)機(jī)第一類是隱式地主動(dòng)放棄第一類是隱式地主動(dòng)放棄CPUCPU。這往往是因?yàn)樾?。這往往是因?yàn)樾枰馁Y源目前不能獲取,如執(zhí)行要的資源目前不能獲取,如執(zhí)行read()read()、selec()selec()等系統(tǒng)調(diào)用的過程中。等系統(tǒng)調(diào)用的過程中。 第二類是進(jìn)程顯式地主動(dòng)放棄第二類是進(jìn)程顯式地主動(dòng)放棄CPUCPU,如系統(tǒng)調(diào)用,如系統(tǒng)調(diào)用sched_yield()sched_yield()、sched_setscheduler()sched_s
7、etscheduler()及及pause()pause()均會(huì)導(dǎo)致當(dāng)前進(jìn)程讓出均會(huì)導(dǎo)致當(dāng)前進(jìn)程讓出CPUCPU。 8.2.4 Linux8.2.4 Linux的進(jìn)程控制的進(jìn)程控制 進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建 LinuxLinux操作系統(tǒng)中,除初始化進(jìn)程外,操作系統(tǒng)中,除初始化進(jìn)程外,其他進(jìn)程都是用系統(tǒng)調(diào)用其他進(jìn)程都是用系統(tǒng)調(diào)用fork()fork()和和clone()clone()創(chuàng)建的,調(diào)用創(chuàng)建的,調(diào)用fork()fork()和和clone()clone()的進(jìn)程是父的進(jìn)程是父進(jìn)程,被生成的進(jìn)程是子進(jìn)程。進(jìn)程,被生成的進(jìn)程是子進(jìn)程。 2. 2. 進(jìn)程的等待進(jìn)程的等待 父進(jìn)程可用系統(tǒng)調(diào)用父進(jìn)程可用系
8、統(tǒng)調(diào)用wait3()wait3()等待它的任等待它的任何一個(gè)子進(jìn)程終止,也可以用系統(tǒng)調(diào)用何一個(gè)子進(jìn)程終止,也可以用系統(tǒng)調(diào)用wait4()wait4()等待某個(gè)特定的子進(jìn)程終止。等待某個(gè)特定的子進(jìn)程終止。 3. 3. 進(jìn)程的終止進(jìn)程的終止 當(dāng)命令執(zhí)行完,希望終止自己時(shí),可在其當(dāng)命令執(zhí)行完,希望終止自己時(shí),可在其程序末尾使用系統(tǒng)調(diào)用程序末尾使用系統(tǒng)調(diào)用exit()exit()。 4. 4. 進(jìn)程上下文切換進(jìn)程上下文切換 改變進(jìn)程上下文的工作很復(fù)雜,是由系統(tǒng)改變進(jìn)程上下文的工作很復(fù)雜,是由系統(tǒng)調(diào)用調(diào)用execve()execve()實(shí)現(xiàn)的。它用一個(gè)可執(zhí)行文件實(shí)現(xiàn)的。它用一個(gè)可執(zhí)行文件的副本覆蓋該進(jìn)程
9、的內(nèi)存空間。的副本覆蓋該進(jìn)程的內(nèi)存空間。 8.2.5 Linux 8.2.5 Linux 線程線程 LinuxLinux并不確切區(qū)分進(jìn)程與線程,或者說并不確切區(qū)分進(jìn)程與線程,或者說沒有真正意義上的線程概念,但通過沒有真正意義上的線程概念,但通過clone()clone()系 統(tǒng) 調(diào) 用 , 可 以 支 持 輕 量 級(jí) 進(jìn) 程系 統(tǒng) 調(diào) 用 , 可 以 支 持 輕 量 級(jí) 進(jìn) 程(Lightweight Process)(Lightweight Process)。 8.2.6 PCB(8.2.6 PCB(進(jìn)程控制塊進(jìn)程控制塊) ) L i n u x L i n u x 內(nèi) 核 利 用 一 個(gè)
10、數(shù) 據(jù) 結(jié) 構(gòu)內(nèi) 核 利 用 一 個(gè) 數(shù) 據(jù) 結(jié) 構(gòu)(task_struct)(task_struct)標(biāo)志一個(gè)進(jìn)程的存在。標(biāo)志一個(gè)進(jìn)程的存在。task_structtask_struct也就是也就是LinuxLinux進(jìn)程控制塊進(jìn)程控制塊PCB PCB 8.2.7 8.2.7 進(jìn)程的調(diào)度進(jìn)程的調(diào)度 LinuxLinux中實(shí)現(xiàn)了中實(shí)現(xiàn)了3 3種進(jìn)程調(diào)度策略。種進(jìn)程調(diào)度策略。 SCHED_FIFOSCHED_FIFO:先進(jìn)先出:先進(jìn)先出(First In First Out)(First In First Out)策略。策略。 SCHED_RRSCHED_RR:輪轉(zhuǎn)調(diào)度:輪轉(zhuǎn)調(diào)度(RoundRo
11、bin)(RoundRobin)策略。策略。 SCHED_OTHERSCHED_OTHER:其他策略。:其他策略。 8. 8.2.8 Linux8. 8.2.8 Linux進(jìn)程通信進(jìn)程通信 信號(hào)是信號(hào)是UNIXUNIX系統(tǒng)中最古老的進(jìn)程間通信機(jī)系統(tǒng)中最古老的進(jìn)程間通信機(jī)制,它主要用來向進(jìn)程發(fā)送異步的事件信號(hào)。制,它主要用來向進(jìn)程發(fā)送異步的事件信號(hào)。 LinuxLinux中,信號(hào)種類的數(shù)目和具體的平臺(tái)中,信號(hào)種類的數(shù)目和具體的平臺(tái)有關(guān),因?yàn)閮?nèi)核用一個(gè)字代表所有的信號(hào),有關(guān),因?yàn)閮?nèi)核用一個(gè)字代表所有的信號(hào),因此字的位數(shù)就是信號(hào)種類的最多數(shù)目。對(duì)因此字的位數(shù)就是信號(hào)種類的最多數(shù)目。對(duì)3232位的位的
12、i386i386平臺(tái)而言,一個(gè)字為平臺(tái)而言,一個(gè)字為3232位,因此位,因此信號(hào)有信號(hào)有3232。 8.2.9 8.2.9 信號(hào)量與信號(hào)量與PVPV操作操作 信號(hào)量也用來保護(hù)關(guān)鍵代碼或數(shù)據(jù)結(jié)構(gòu)信號(hào)量也用來保護(hù)關(guān)鍵代碼或數(shù)據(jù)結(jié)構(gòu)( (即臨界資源即臨界資源) )。 LinuxLinux利用信號(hào)量實(shí)現(xiàn)對(duì)關(guān)鍵代碼和數(shù)據(jù)的互斥訪問。利用信號(hào)量實(shí)現(xiàn)對(duì)關(guān)鍵代碼和數(shù)據(jù)的互斥訪問。 LinuxLinux信號(hào)量數(shù)據(jù)結(jié)構(gòu)中包含的信息主要有。信號(hào)量數(shù)據(jù)結(jié)構(gòu)中包含的信息主要有。 count(count(計(jì)數(shù)計(jì)數(shù)) ) waking( waking(等待喚醒計(jì)數(shù)等待喚醒計(jì)數(shù)) ) 3) 3) 等待隊(duì)列等待隊(duì)列4) loc
13、k(4) lock(鎖鎖) ) 8.2.10 8.2.10 管道管道 管道是管道是LinuxLinux中最常用的進(jìn)程間通信中最常用的進(jìn)程間通信IPCIPC機(jī)機(jī)制。利用管道時(shí),一個(gè)進(jìn)程的輸出可成為另制。利用管道時(shí),一個(gè)進(jìn)程的輸出可成為另外一個(gè)進(jìn)程的輸入。當(dāng)輸入輸出的數(shù)據(jù)量特外一個(gè)進(jìn)程的輸入。當(dāng)輸入輸出的數(shù)據(jù)量特別大時(shí),這種別大時(shí),這種IPCIPC機(jī)制非常有用。機(jī)制非常有用。 8.2.11 8.2.11 共享存儲(chǔ)區(qū)與消息隊(duì)列通信機(jī)制共享存儲(chǔ)區(qū)與消息隊(duì)列通信機(jī)制 1. Linux1. Linux進(jìn)程間的共享存儲(chǔ)區(qū)通信進(jìn)程間的共享存儲(chǔ)區(qū)通信 2. Linux2. Linux進(jìn)程間的消息隊(duì)列進(jìn)行通信進(jìn)程
14、間的消息隊(duì)列進(jìn)行通信 LinuxLinux進(jìn)程間的通信也可以通過消息隊(duì)列進(jìn)程間的通信也可以通過消息隊(duì)列進(jìn)行。消息隊(duì)列可以是單消息隊(duì)列,也可以進(jìn)行。消息隊(duì)列可以是單消息隊(duì)列,也可以是多消息隊(duì)列是多消息隊(duì)列( (按消息類型按消息類型) );既可以單向,;既可以單向,也可以雙向通信;既可以僅和兩個(gè)進(jìn)程有關(guān),也可以雙向通信;既可以僅和兩個(gè)進(jìn)程有關(guān),也可以被多個(gè)進(jìn)程使用。也可以被多個(gè)進(jìn)程使用。 8.3.1 Linux8.3.1 Linux的虛擬內(nèi)存管理的虛擬內(nèi)存管理 LinuxLinux的虛擬內(nèi)存管理功能可以概括為以的虛擬內(nèi)存管理功能可以概括為以下幾點(diǎn)。下幾點(diǎn)。(1) (1) 地址空間擴(kuò)充。地址空間擴(kuò)充
15、。(2) (2) 進(jìn)程保護(hù)。進(jìn)程保護(hù)。(3) (3) 內(nèi)存映射。內(nèi)存映射。(4) (4) 物理內(nèi)存分配。物理內(nèi)存分配。 8.3 Linux 存儲(chǔ)器管理存儲(chǔ)器管理 8.3.2 Linux8.3.2 Linux系統(tǒng)采用三級(jí)頁表系統(tǒng)采用三級(jí)頁表 PGD表 項(xiàng) 下 標(biāo)PMD表 項(xiàng) 下 標(biāo)PT下 標(biāo)頁 內(nèi) 偏 移 量物 理 地 址PGD基 地 址8.3.3 8.3.3 內(nèi)存頁的分配與釋放內(nèi)存頁的分配與釋放 LinuxLinux系統(tǒng)的物理內(nèi)存頁分配采用鏈表和系統(tǒng)的物理內(nèi)存頁分配采用鏈表和位圖相結(jié)合的方法。位圖相結(jié)合的方法。 8.3.4 8.3.4 內(nèi)存交換內(nèi)存交換 當(dāng)系統(tǒng)出現(xiàn)內(nèi)存不足時(shí),當(dāng)系統(tǒng)出現(xiàn)內(nèi)存不足
16、時(shí),LinuxLinux內(nèi)存管理內(nèi)存管理子系統(tǒng)就要釋放一些內(nèi)存頁,從而增加系統(tǒng)子系統(tǒng)就要釋放一些內(nèi)存頁,從而增加系統(tǒng)中空閑內(nèi)存頁的數(shù)量。此任務(wù)是由內(nèi)核的交中空閑內(nèi)存頁的數(shù)量。此任務(wù)是由內(nèi)核的交換守護(hù)進(jìn)程換守護(hù)進(jìn)程kswapdkswapd完成的。完成的。 8.3.5 8.3.5 內(nèi)存的共享和保護(hù)內(nèi)存的共享和保護(hù) LinuxLinux中內(nèi)存共享是以頁共享的方式實(shí)現(xiàn)的中內(nèi)存共享是以頁共享的方式實(shí)現(xiàn)的LinuxLinux可以對(duì)虛存段中的任一部分加鎖或保護(hù)??梢詫?duì)虛存段中的任一部分加鎖或保護(hù)。 8.3.6 8.3.6 缺頁中斷缺頁中斷 磁盤中的可執(zhí)行文件映像一旦被映射到一磁盤中的可執(zhí)行文件映像一旦被映射
17、到一個(gè)進(jìn)程的虛擬空間,它就開始執(zhí)行。由于一個(gè)進(jìn)程的虛擬空間,它就開始執(zhí)行。由于一開始只有該映像區(qū)的開始部分被調(diào)入內(nèi)存,開始只有該映像區(qū)的開始部分被調(diào)入內(nèi)存,因此,進(jìn)程遲早會(huì)執(zhí)行那些未被裝入內(nèi)存的因此,進(jìn)程遲早會(huì)執(zhí)行那些未被裝入內(nèi)存的部分。當(dāng)一個(gè)進(jìn)程訪問了一個(gè)還沒有有效頁部分。當(dāng)一個(gè)進(jìn)程訪問了一個(gè)還沒有有效頁表項(xiàng)的虛擬地址時(shí),處理器將產(chǎn)生缺頁中斷,表項(xiàng)的虛擬地址時(shí),處理器將產(chǎn)生缺頁中斷,通知操作系統(tǒng),并把缺頁的虛擬地址通知操作系統(tǒng),并把缺頁的虛擬地址( (保存保存在在CR2CR2寄存器中寄存器中) )和缺頁時(shí)訪問虛存的模式一和缺頁時(shí)訪問虛存的模式一并傳給并傳給LinuxLinux的缺頁中斷處理程
18、序。的缺頁中斷處理程序。 8.4 Linux文件管理文件管理 8.4.1 Linux8.4.1 Linux文件系統(tǒng)的目錄結(jié)構(gòu)文件系統(tǒng)的目錄結(jié)構(gòu) LinuxLinux采用的是樹型目錄結(jié)構(gòu)管理文件。最采用的是樹型目錄結(jié)構(gòu)管理文件。最上層是根目錄,其他的所有目錄都是從根目錄上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。出發(fā)而生成的。 8.4.2 Linux8.4.2 Linux文件系統(tǒng)的實(shí)現(xiàn)文件系統(tǒng)的實(shí)現(xiàn) LinuxLinux支持多種不同類型的文件系統(tǒng),包括支持多種不同類型的文件系統(tǒng),包括EXTEXT、EXT2EXT2、MINIXMINIX、UMSDOSUMSDOS、NCPNCP、IS096
19、60IS09660、HPFSHPFS、MSDOSMSDOS、NTFSNTFS、XIAXIA、VFATVFAT、PROCPROC、NFSNFS、SMBSMB、SYSVSYSV、AFFSAFFS以及以及UFSUFS等。等。由于每一種文件系統(tǒng)都有自己的組織結(jié)構(gòu)和文件操作函由于每一種文件系統(tǒng)都有自己的組織結(jié)構(gòu)和文件操作函數(shù),并且相互之間的差別很大,數(shù),并且相互之間的差別很大,LinuxLinux文件系統(tǒng)的實(shí)現(xiàn)有文件系統(tǒng)的實(shí)現(xiàn)有一定的難度。為支持上述的各種文件系統(tǒng),一定的難度。為支持上述的各種文件系統(tǒng),LinuxLinux在實(shí)現(xiàn)在實(shí)現(xiàn)文件系統(tǒng)時(shí)采用了兩層結(jié)構(gòu)。第一層是虛擬文件系統(tǒng)文件系統(tǒng)時(shí)采用了兩層結(jié)構(gòu)
20、。第一層是虛擬文件系統(tǒng)(Virtual (Virtual ,VFS)VFS),它把各種實(shí)際文件系統(tǒng)的公共結(jié)構(gòu)抽,它把各種實(shí)際文件系統(tǒng)的公共結(jié)構(gòu)抽象出來,建立統(tǒng)一的以象出來,建立統(tǒng)一的以i_nodei_node為中心的組織結(jié)構(gòu),為實(shí)為中心的組織結(jié)構(gòu),為實(shí)際文件系統(tǒng)提供兼容性。它的作用是屏蔽各類文件系統(tǒng)際文件系統(tǒng)提供兼容性。它的作用是屏蔽各類文件系統(tǒng)的差異,給用戶、應(yīng)用程序和的差異,給用戶、應(yīng)用程序和LinuxLinux的其他管理模塊提供的其他管理模塊提供統(tǒng)一的接口。第二層是統(tǒng)一的接口。第二層是LinuxLinux支持的各種實(shí)際文件系統(tǒng)。支持的各種實(shí)際文件系統(tǒng)。 8.4.3 8.4.3 虛擬文件系
21、統(tǒng)虛擬文件系統(tǒng) 虛擬文件系統(tǒng)虛擬文件系統(tǒng)(VFS)(VFS)是物理文件系統(tǒng)與服是物理文件系統(tǒng)與服務(wù)之間的一個(gè)接口層,它對(duì)每一個(gè)具體的文務(wù)之間的一個(gè)接口層,它對(duì)每一個(gè)具體的文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得LinuxLinux用用戶能夠用同一個(gè)接口使用不同的文件系統(tǒng)。戶能夠用同一個(gè)接口使用不同的文件系統(tǒng)。 8.4.4 EXT28.4.4 EXT2文件系統(tǒng)文件系統(tǒng) 擴(kuò)展文件系統(tǒng)擴(kuò)展文件系統(tǒng)EXTEXT和第二代擴(kuò)展文件系統(tǒng)和第二代擴(kuò)展文件系統(tǒng)EXT2EXT2是專門為是專門為LinuxLinux設(shè)計(jì)可擴(kuò)展的文件系統(tǒng)。設(shè)計(jì)可擴(kuò)展的文件系統(tǒng)。 8.4.5 Linux8.4.5 Linux的文件操作系統(tǒng)調(diào)用的文件操作系統(tǒng)調(diào)用 1. 1. 文件的打開文件的打開 主要函數(shù)有主要函數(shù)有sys_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度學(xué)生營養(yǎng)餐午餐食材采購與營養(yǎng)膳食評(píng)估服務(wù)合同3篇
- 2025年云母外墻涂料行業(yè)深度研究分析報(bào)告
- 臨時(shí)崗位聘任合同(2024版)
- 二零二五年度建筑裝修設(shè)計(jì)與施工一體化合同模板4篇
- 前叉殼項(xiàng)目可行性研究報(bào)告評(píng)審方案設(shè)計(jì)(2025年標(biāo)準(zhǔn)案例范文)
- 2025版醫(yī)療設(shè)備檢修與維護(hù)承包協(xié)議3篇
- 2025年度智能除塵器研發(fā)與市場推廣合作協(xié)議4篇
- 二零二五版礦山設(shè)備采購合同規(guī)范范本6篇
- 2025年銀杏樹種植補(bǔ)貼項(xiàng)目申請(qǐng)與執(zhí)行合同4篇
- 2025年木制指接產(chǎn)品項(xiàng)目可行性研究報(bào)告-20250101-171213
- 化學(xué)-河南省TOP二十名校2025屆高三調(diào)研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺(tái)規(guī)劃建設(shè)方案
- 林下野雞養(yǎng)殖建設(shè)項(xiàng)目可行性研究報(bào)告
- 2023年水利部黃河水利委員會(huì)招聘考試真題
- Python編程基礎(chǔ)(項(xiàng)目式微課版)教案22
- 建筑施工中常見的安全問題及解決方法
- 近五年重慶中考物理試題及答案2023
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 網(wǎng)易云音樂用戶情感畫像研究
評(píng)論
0/150
提交評(píng)論