版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈 爾 濱 學(xué) 院實(shí) 驗(yàn) 報(bào) 告課程名稱: 計(jì)算機(jī)操作系統(tǒng) 專 業(yè): 軟件工程 班 級(jí): 12-8 學(xué) 號(hào): 12031801 姓 名: 常燕如 教務(wù)處制實(shí)驗(yàn)一 進(jìn)程管理【實(shí)驗(yàn)?zāi)康呐c要求】 加深對(duì)進(jìn)程概念的理解,明確進(jìn)程與程序的區(qū)別。 掌握Linux進(jìn)程創(chuàng)建及撤銷的方法,進(jìn)一步認(rèn)識(shí)并發(fā)執(zhí)行的實(shí)質(zhì)。 掌握Linux系統(tǒng)下守護(hù)進(jìn)程的創(chuàng)建方法。【實(shí)驗(yàn)原理】 Linux進(jìn)程管理命令進(jìn)程查看進(jìn)程終止進(jìn)程優(yōu)先級(jí)設(shè)置 Linux進(jìn)程控制函數(shù)創(chuàng)建和修改進(jìn)程設(shè)置進(jìn)程屬性獲取進(jìn)程屬性進(jìn)程的退出 Linux守護(hù)進(jìn)程獨(dú)立啟動(dòng)守護(hù)進(jìn)程超級(jí)守護(hù)進(jìn)程守護(hù)進(jìn)程的編寫流程 守護(hù)進(jìn)程的編寫遵循特定的流程,主要包括五個(gè)步驟: St
2、ep 創(chuàng)建子進(jìn)程,退出父進(jìn)程 Step 在子進(jìn)程中創(chuàng)建新會(huì)話 Step 改變當(dāng)前目錄為根目錄 Step 重設(shè)文件權(quán)限掩碼 Step 關(guān)閉文件描述符【實(shí)驗(yàn)主要儀器與材料】 帶Linux操作系統(tǒng)的PC機(jī) GCC編譯器【實(shí)驗(yàn)內(nèi)容】 獲取進(jìn)程信息通過管理命令,獲取系統(tǒng)當(dāng)前執(zhí)行進(jìn)程的信息,包括進(jìn)程名稱與ID、PID和PGID等。 創(chuàng)建進(jìn)程編程程序,實(shí)現(xiàn)父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,返回后父子進(jìn)程都分別循環(huán)輸出字符串“I am parent.”或“I am child.”5次,每輸出一次延時(shí)1秒(sleep(1),然后進(jìn)入下一次循環(huán)。觀察并分析運(yùn)行結(jié)果。然后將程序改為父子進(jìn)程同步執(zhí)行:子進(jìn)程循環(huán)輸出字符串“I a
3、m child.”5次,然后父進(jìn)程再循環(huán)輸出字符串“I am parent.”5次。再次觀察并分析運(yùn)行結(jié)果?!緦?shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果分析】 實(shí)驗(yàn)內(nèi)容1 通過進(jìn)程實(shí)現(xiàn)及驗(yàn)證父進(jìn)程及子進(jìn)程的id號(hào)的命令ps -lg 實(shí)驗(yàn)內(nèi)容2實(shí)現(xiàn)父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,返回后父子進(jìn)程都分別循環(huán)輸出字符串“I am parent.”或“I am child.”5次,每輸出一次延時(shí)1秒(sleep(1),然后進(jìn)入下一次循環(huán)。 #include<sys/types.h>#include<unistd.h>#include<stdio.h>int main() pid_t pt; print
4、f("Hello world!n"); int i; pt=fork(); for(i=0;i<5;i+) if(pt=-1) printf("Fork error.n"); else if printf("I am a parent.n");Sleep(1); else printf("I am a child.n");Sleep(1); return 0; 父子進(jìn)程同步執(zhí)行:子進(jìn)程循環(huán)輸出字符串“I am child.”5次,然后父進(jìn)程再循環(huán)輸出字符串“I am parent.”5次。#include&l
5、t;sys/types.h>#include<unistd.h>#include<stdio.h>int main() pid_t pt; printf("Hello world!n"); int i; pt=fork(); for(i=0;i<5;i+) if(pt=-1) printf("Fork error.n"); else if printf("I am a parent.n"); else printf("I am a child.n"); return 0;【思考題
6、】 程序和進(jìn)程的區(qū)別。 (1)程序是動(dòng)態(tài)的,程序是靜態(tài)的:程序是有序代碼的集合;進(jìn)程是程序的執(zhí)行。通常進(jìn)程不可在計(jì)算機(jī)之間遷移;而程序通常對(duì)應(yīng)著文件、靜態(tài)和可以復(fù)制。 (2)進(jìn)程是暫時(shí)的,程序是永久的:進(jìn)程是一個(gè)狀態(tài)變化的過程,程序可長(zhǎng)久保存。 (3)進(jìn)程和程序的組成不同:進(jìn)程的組成包括程序、數(shù)據(jù)和進(jìn)程控制塊(即進(jìn)程狀態(tài)信息)。 (4)進(jìn)程和程序的對(duì)應(yīng)關(guān)系:通過多次執(zhí)行,一個(gè)程序可對(duì)應(yīng)多個(gè)進(jìn)程;通過調(diào)用關(guān)系,一個(gè)進(jìn)程可包括多個(gè)程序。 Linux操作系統(tǒng)下有哪些進(jìn)程類型。 交互進(jìn)程; 批處理進(jìn)程; 守護(hù)進(jìn)程; 進(jìn)程創(chuàng)建函數(shù)fork和vfork的區(qū)別。 (1)fork()用于創(chuàng)建一個(gè)新進(jìn)程。由fo
7、rk()創(chuàng)建的子進(jìn)程是父進(jìn)程的副本。即子進(jìn)程 獲取父進(jìn)程數(shù)據(jù)空間,堆和棧的副本。父子進(jìn)程之間不共享這些存儲(chǔ)空間的部分。而vfork()創(chuàng)建的進(jìn)程并不將父進(jìn)程的地址空間完全復(fù)制到子進(jìn)程中,因?yàn)樽舆M(jìn)程會(huì)立即調(diào)用exec (或exit)于是也就不會(huì)存放該地址空間。相反,在子進(jìn)程調(diào)用exec或exit之前,它在父進(jìn)程的空間進(jìn)行。 (2)vfork()與fork()另一個(gè)區(qū)別就是:vfork保證子進(jìn)程先運(yùn)行,在調(diào)用exec或exit之前與父進(jìn)程數(shù)據(jù)是共享的,在它調(diào)用exec或exit之后父進(jìn)程才可能被調(diào)度運(yùn)行。 (3)vfork和fork之間的還有一個(gè)區(qū)別是:vfork保證子進(jìn)程先運(yùn)行,在她調(diào)用exec
8、或exit之后父進(jìn)程才可能被調(diào)度運(yùn)行。如果在調(diào)用這兩個(gè)函數(shù)之前子進(jìn)程依賴于父進(jìn)程的進(jìn)一步動(dòng)作,則會(huì)導(dǎo)致死鎖。 進(jìn)程的退出函數(shù)有哪些?有何區(qū)別?C程序是如何被啟動(dòng)終止的? exit 函數(shù); return 函數(shù); abort函數(shù) _exit函數(shù)。 exit和_exit函數(shù)用于正常終止一個(gè)程序 exit先執(zhí)行一些清除處理.然后進(jìn)入內(nèi)核清除操作包括調(diào)用執(zhí)行各終止處理程序,關(guān)閉所有標(biāo)準(zhǔn)I/O流 _exit立即進(jìn)入內(nèi)核 abort函數(shù)用于異常終止一個(gè)程序 exit是一個(gè)函數(shù),有參數(shù),把控制權(quán)交給系統(tǒng) return是函數(shù)執(zhí)行完后的返回,將控制權(quán)交給調(diào)用函數(shù)實(shí)驗(yàn)二 進(jìn)程通信【實(shí)驗(yàn)?zāi)康呐c要求】 了解基于信號(hào)的進(jìn)
9、程通信機(jī)制。 熟悉LINUX系統(tǒng)中進(jìn)程之間軟中斷通信的基本原理?!緦?shí)驗(yàn)原理】 一、信號(hào) 信號(hào)的基本概念 信號(hào)的發(fā)送 對(duì)信號(hào)的處理 二、所涉及的中斷調(diào)用 kill() signal() wait() waitpid() lockf()【實(shí)驗(yàn)主要儀器與材料】 帶Linux操作系統(tǒng)的PC機(jī) GCC編譯器【實(shí)驗(yàn)內(nèi)容】 編寫程序:用fork()創(chuàng)建兩個(gè)子進(jìn)程,再用系統(tǒng)調(diào)用signal()讓父進(jìn)程捕捉鍵盤上來的中斷信號(hào)(即按c鍵);捕捉到中斷信號(hào)后,父進(jìn)程用系統(tǒng)調(diào)用kill()向兩個(gè)子進(jìn)程發(fā)出信號(hào),子進(jìn)程捕捉到信號(hào)后分別輸出下列信息后終止:Child process1 is killed by paren
10、t!Child process2 is killed by parent!父進(jìn)程等待兩個(gè)子進(jìn)程終止后,輸出如下的信息后終止:Parent process is killed! 分析利用軟中斷通信實(shí)現(xiàn)進(jìn)程同步的機(jī)理?!緦?shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果分析】 編寫程序:用fork()創(chuàng)建兩個(gè)子進(jìn)程,再用系統(tǒng)調(diào)用signal()讓父進(jìn)程捕捉鍵盤上來的中斷信號(hào)(即按c鍵);捕捉到中斷信號(hào)后,父進(jìn)程用系統(tǒng)調(diào)用kill()向兩個(gè)子進(jìn)程發(fā)出信號(hào),子進(jìn)程捕捉到信號(hào)后分別輸出下列信息后終止:Child process1 is killed by parent!Child process2 is killed by paren
11、t!父進(jìn)程等待兩個(gè)子進(jìn)程終止后,輸出如下的信息后終止:Parent process is killed! 對(duì)軟中斷信號(hào)的處理分三種情況進(jìn)行: (1)如果進(jìn)程收到的軟中斷是一個(gè)已決定要忽略的信號(hào),不做處理便立即返回。 (2)進(jìn)程收到軟中斷后便退出。 (3)執(zhí)行用戶設(shè)置的軟中斷處理程序?!舅伎碱}】實(shí)驗(yàn)內(nèi)容的參考程序如下,請(qǐng)仔細(xì)閱讀、調(diào)試、分析,回答下述問題:#include <stdio.h>#include <signal.h>#include <unistd.h>#include <stdlib.h>#include <sys/wait.h
12、> void waiting(),stop();int wait_mark; int main()int p1, p2, stdout=1;while(p1=fork() = -1); /*創(chuàng)建子進(jìn)程p1*/if (p1 > 0)while(p2=fork() = -1);/*創(chuàng)建子進(jìn)程p2*/if(p2 > 0)wait_mark=1;signal(SIGINT, stop);/*接收到c信號(hào),轉(zhuǎn)stop*/waiting();kill(p1, 16);/*向p1發(fā)軟中斷信號(hào)16*/kill(p2, 17);/*向p2發(fā)軟中斷信號(hào)17*/wait(0);/*同步*/wait
13、(0);printf("Parent process is killed!n");exit(0);elsewait_mark=1;signal(17, stop);/*接收到軟中斷信號(hào)17,轉(zhuǎn)stop*/waiting();lockf(stdout, 1, 0);printf("Child process 2 is killed by parent!n");lockf(stdout, 0, 0);exit(0);elsewait_mark=1;signal(16, stop);/*接收到軟中斷信號(hào)16,轉(zhuǎn)stop*/waiting();lockf(std
14、out, 1, 0);printf("Child process 1 is killed by parent!n");lockf(stdout, 0, 0);exit(0);return 0;void waiting()while(wait_mark != 0);void stop()wait_mark=0; 參考程序段前面部分用了兩個(gè)wait(0),它們起什么作用?作用:wait(0)函數(shù)作用是等待子進(jìn)程結(jié)束,父進(jìn)程有兩個(gè)子進(jìn)程,所以兩個(gè)wait函數(shù)。 參考程序段中每個(gè)進(jìn)程退出時(shí)都用了語句exit(0),為什么?作用:是為了讓子進(jìn)程正常自我終止,正常退出。 參考程序的運(yùn)行
15、結(jié)果是什么?Parent process is killed! 參考程序是否符合實(shí)驗(yàn)要求?為什么?不符合。原因:p1,p2都會(huì)捕捉中斷信號(hào)。對(duì)于父進(jìn)程,當(dāng)它捕捉到中斷信號(hào)時(shí)就會(huì)轉(zhuǎn)向指定的函數(shù)stop();函數(shù),之后父進(jìn)程被喚醒,從被中斷處繼續(xù)執(zhí)行。對(duì)于子進(jìn)程,由于沒有給它們指定的收到中斷信號(hào)后的動(dòng)作,就會(huì)執(zhí)行默認(rèn)的動(dòng)作,結(jié)束自己。所以當(dāng)我們發(fā)出中斷信號(hào)后,父進(jìn)程按預(yù)計(jì)的方式正常執(zhí)行,而p1,p2自己結(jié)束了自己,所以不會(huì)有預(yù)計(jì)的結(jié)果。 參考程序該如何修改才能得到正確結(jié)果?第一種方法:在fork()語句創(chuàng)建子進(jìn)程之前捕捉中斷信號(hào),既signal(SIGINT, stop);。第二種方法:在每個(gè)子進(jìn)
16、程前添加忽略中斷信號(hào)的語句,既signal(SIGINT,SIG_IGN);。第三種方法:打開兩個(gè)界面,一個(gè)界面正常編譯,另一個(gè)界面執(zhí)行:ps -aps -a|grep a.outkill -s INT 11313實(shí)驗(yàn)三 內(nèi)存管理【實(shí)驗(yàn)?zāi)康呐c要求】 了解虛擬存儲(chǔ)技術(shù)的特點(diǎn)。 掌握請(qǐng)求頁式存儲(chǔ)管理的頁面置換算法。 3.了解頁面大小和內(nèi)存實(shí)際容量對(duì)命中率的影響?!緦?shí)驗(yàn)原理】分頁存儲(chǔ)管理將一個(gè)進(jìn)程的邏輯地址空間分成若干大小相等的片,成為頁面或頁。在進(jìn)程運(yùn)行過程中,若其所要訪問的頁面不在內(nèi)存而需要把他們調(diào)入內(nèi)存,但內(nèi)存已無空閑時(shí),為了保證該進(jìn)程能正常運(yùn)行,系統(tǒng)必須從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù),送磁盤的對(duì)
17、換區(qū)中。但應(yīng)將哪個(gè)頁面調(diào)出,須根據(jù)一定的算法來確定。通常,把選擇換出頁面的算法稱為頁面置換算法(Page Replacement Algorithm)。一個(gè)好的頁面置換算法,應(yīng)具有較低的頁面更換頻率。從理論上講,應(yīng)將那些以后不再會(huì)訪問的頁面換出,或?qū)⒛切┰谳^長(zhǎng)時(shí)間內(nèi)不會(huì)再訪問的頁面調(diào)出。 最佳置換算法OPT(Optimal) 先進(jìn)先出頁面置換算法FIFO 最近最久未使用置換算法LRU 最少訪問頁面置換算法LFU 最近最不經(jīng)常使用算法NUR【實(shí)驗(yàn)主要儀器與材料】 帶Linux操作系統(tǒng)的PC機(jī)。 GCC編譯器。【實(shí)驗(yàn)內(nèi)容】1、通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:l
18、 50%的指令是順序執(zhí)行的l 25%的指令是均勻分布在前地址部分l 25%的指令是均勻分布在后地址部分具體的實(shí)施方法是:l 在【0,319】的指令地址之間隨機(jī)選取一起點(diǎn)m;l 順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;l 在前地址【0,m+1】中隨機(jī)選取一條指令并執(zhí)行,該指令的地址為m;l 順序執(zhí)行一條指令,其地址為m+1;l 在后地址m+2,319中隨機(jī)選取一條指令并執(zhí)行;l 重復(fù)上述步驟,直到執(zhí)行320次指令。2、將指令序列變換成為頁地址流設(shè):l 頁面大小為1K;l 用戶內(nèi)存容量為4頁到32頁;l 用戶虛擬容量為32K。在用戶虛存中,按每K存放10條指令排列虛擬地址,即320條指令在虛存
19、中的存放方式為:第0條第9條指令為第0頁(對(duì)應(yīng)虛存地址為【0,9】);第10條第19條指令為第1頁(對(duì)應(yīng)虛存地址為【10,19】);第310條第319條指令為第31頁(對(duì)應(yīng)虛存地址為【310,319】)。按以上方式,用戶指令可組成32頁。3、計(jì)算并輸出下列各種算法在不同內(nèi)存容量下的命中率。l 先進(jìn)先出的算法(FIFO);l 最近最少使用算法(LRU);l 最佳淘汰算法(OPT):先淘汰最不常用的頁地址;其中OPT為選作內(nèi)容。命中率 = 1 頁面時(shí)效次數(shù)/頁地址流長(zhǎng)度在本實(shí)驗(yàn)中,頁地址流長(zhǎng)度為320,頁面失效次數(shù)為每次訪問相應(yīng)指令時(shí),該指令所對(duì)應(yīng)的頁不在內(nèi)存的次數(shù)。【實(shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果分析】首先
20、用srand()和rand()函數(shù)定義和產(chǎn)生指令序列,然后將指令序列變換成相應(yīng)的頁地址流,并針對(duì)不同的算法計(jì)算出相應(yīng)的命中率。/*利用先進(jìn)先出算法(FIFO)和最近最久未使用算法(LRU)*/#include<stdio.h>#include<stdlib.h>#include<unistd.h> #include<string.h>#define NULL_1 10000const int ty=320;int d320; /指令序列int page320; /頁地址流int p32; /內(nèi)存頁面int que; /缺頁次數(shù)int time32
21、; /記錄頁面距離上次被訪問的時(shí)間void creat(int leng) /leng為內(nèi)存頁面數(shù)量int i;que=0;for(i=0;i<leng;i+)pi=NULL_1; /讓內(nèi)存頁面置空timei=0; /*先進(jìn)先出算法void FIFO(int leng) /leng為內(nèi)存頁面數(shù)量 int i,j,k;int n; /n為要被替換的頁面號(hào),按0,1,2.leng,0,1,2.leng循環(huán)變化creat(leng); /初始化內(nèi)存頁面 n=0; for(i=0;i<ty;i+) k=0;for(j=0;j<leng;j+)if(pj=NULL_1)break;el
22、se if(pj=pagei)/在內(nèi)存中有該頁k=1;break; if(k=0) que+;pn=pagei;n+; if(n=leng)n=0; printf("%-7.3ft",1-(float)que/ty); /*最近最久未使用算法 void LRU(int leng) /leng為內(nèi)存頁面數(shù)量 int i,j,k; int tmax; /存time的最大值 int t; /t為要被訪問的頁面號(hào) creat(leng); /初始化內(nèi)存頁面 for(i=0;i<ty;i+) k=0;for(j=0;j<leng;j+)if(pj=NULL_1)break
23、;else if(pj=pagei)/在內(nèi)存中有該頁k=1;t=j;break;if(k=0)que+;tmax=time0;t=0;for(j=0;j<leng;j+) /查找最久沒訪問的頁面號(hào)賦予tif(tmax<timej)tmax=timej;t=j;pt=pagei;for(j=0;j<leng;j+) /將每個(gè)頁面time自增timej+;timet=0; /將這次被訪問的頁面time清零 printf(" %-7.3ft",1-(float)que/ty); void main( ) int m,i; srand(10*getpid(); /
24、用來作為初始化隨機(jī)數(shù)隊(duì)列的"種子" m=(int)(float)(ty-1)*(rand()/(RAND_MAX+1.0); /選0-319中一數(shù) for (i=0; i<ty; i+=4) /產(chǎn)生指令隊(duì)列 di=m; /任選一指令訪問點(diǎn)m di+1=di+1; /順序執(zhí)行一條指令m+1 di+2=(int)(float)di*(rand()/(RAND_MAX+1.0); /執(zhí)行前地址指令m',即選擇(0,m+1)之間的數(shù) di+3=di+2+1; /順序執(zhí)行一條指令 m= (int)(float)(ty-1)-di+2)*(rand()/(RAND_MAX
25、+1.0) + di+2; /選(m'+2,319)之間數(shù) for(i=0;i<ty;i+) /將指令序列變換成頁地址流 pagei=di/10; printf("PAGEtFIFOt LRUtn"); for(i=4;i<=32;i+) /內(nèi)存從4頁到32頁 printf(" %2dt",i); FIFO(i); LRU(i); printf("n"); 程序運(yùn)行結(jié)果:【思考題】 在內(nèi)存頁面較少(45個(gè))的情況時(shí),各種頁面置換算法的命中率有何差別? FIFO算法和LRU算法命中率都在55%左右,相差不大。 在內(nèi)存
26、頁面為712個(gè)頁面時(shí),各種頁面置換算法的命中率有何差異?FIFO算法命中率在59%-67%,LRU算法命中率在60%-70%之間,相對(duì)來說,最近最久未使用算法效率更好一些。 在內(nèi)存頁面為2532個(gè)頁面時(shí),各種頁面置換算法的命中率有何差異??jī)煞N算法命中率都在80%-90%之間,當(dāng)內(nèi)存中中頁面數(shù)逐漸增加時(shí),訪問的都已裝入內(nèi)存,從而命中率都較大。實(shí)驗(yàn)四 文件系統(tǒng)【實(shí)驗(yàn)?zāi)康呐c要求】1、熟悉Linux文件系統(tǒng)的文件和目錄結(jié)構(gòu),掌握Linux文件系統(tǒng)的基本特征。2、掌握命令行方式下文件操作命令和程序中文件操作函數(shù)的使用方法。3.、掌握Linux文件系統(tǒng)的加載和卸載方法?!緦?shí)驗(yàn)主要儀器與材料】1、帶Linu
27、x操作系統(tǒng)的PC機(jī)2、GCC編譯器【實(shí)驗(yàn)內(nèi)容】1. 熟悉Linux下的文件操作命令,如查看文件系統(tǒng)的分區(qū)和設(shè)備文件、查看文件系統(tǒng)目錄結(jié)構(gòu)、創(chuàng)建文件夾、復(fù)制文件、更改文件權(quán)限等,觀察Linux文件系統(tǒng)的特點(diǎn)。2. 對(duì)比實(shí)驗(yàn)一的文件拷貝代碼,利用不同的文件操作函數(shù)實(shí)現(xiàn)文件的輸出和拷貝。3. 實(shí)現(xiàn)對(duì)光盤的加載和訪問,然后卸載設(shè)備。4. 加載Windows文件系統(tǒng),實(shí)現(xiàn)對(duì)Windows數(shù)據(jù)的訪問和共享?!緦?shí)驗(yàn)步驟及實(shí)驗(yàn)結(jié)果分析】實(shí)驗(yàn)內(nèi)容:1.df:查看文件系統(tǒng)的狀態(tài)信息,顯示各分區(qū)容量、硬盤占用空間、目前剩余空間及掛載點(diǎn)等信息 du:統(tǒng)計(jì)目錄或文件所占磁盤空間的大小 mkdir:創(chuàng)建文件夾 cp:復(fù)制文件 chmod:更改文件權(quán)限 2. (1) #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() FILE *fp;char ch;char fname30;printf("Please input the fi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲企業(yè)員工健康管理與福利保障合同3篇
- 二零二五年度抹灰作業(yè)勞務(wù)分包合同(含后期維護(hù))4篇
- 2024年09月江蘇2024年揚(yáng)州農(nóng)村商業(yè)銀行校園招考筆試歷年參考題庫附帶答案詳解
- 2024版食堂餐飲供應(yīng)合同3篇
- 2025年度大型活動(dòng)策劃公司臨時(shí)活動(dòng)執(zhí)行人員合同范本4篇
- 2025年短視頻IP開發(fā)制作合同樣本3篇
- 2025年度個(gè)人貸款擔(dān)保責(zé)任保險(xiǎn)合同標(biāo)準(zhǔn)范本2篇
- 二零二五版苗木種植基地生態(tài)環(huán)境保護(hù)與恢復(fù)合同4篇
- 農(nóng)產(chǎn)品運(yùn)輸與保鮮
- 2025年銷售合同發(fā)票管理臺(tái)賬模板(智能管理)2篇
- 上海車位交易指南(2024版)
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專題課件
- 通用電子嘉賓禮薄
- 錢素云先進(jìn)事跡學(xué)習(xí)心得體會(huì)
- 道路客運(yùn)車輛安全檢查表
- 宋曉峰辣目洋子小品《來啦老妹兒》劇本臺(tái)詞手稿
- 附錄C(資料性)消防安全評(píng)估記錄表示例
- 噪音檢測(cè)記錄表
- 推薦系統(tǒng)之協(xié)同過濾算法
- 提高筒倉(cāng)滑模施工混凝土外觀質(zhì)量QC成果PPT
- 小學(xué)期末班級(jí)頒獎(jiǎng)典禮動(dòng)態(tài)課件PPT
評(píng)論
0/150
提交評(píng)論