




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、XX學(xué)校實(shí)驗(yàn)報(bào)告課程名稱: 學(xué) 院: 專 業(yè) 班: 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2011 年 3 月目錄實(shí)驗(yàn)1 進(jìn)程管理3一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)內(nèi)容3三、實(shí)驗(yàn)要求3四、程序說明和程序流程圖4五、程序代碼5六、程序運(yùn)行結(jié)果及分析7七指導(dǎo)教師評(píng)議8實(shí)驗(yàn)2 進(jìn)程通信9一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)內(nèi)容9三、實(shí)驗(yàn)要求9四、程序說明和程序流程圖9五、程序代碼11七指導(dǎo)教師評(píng)議14實(shí)驗(yàn)3 存儲(chǔ)管理15一、實(shí)驗(yàn)?zāi)康?5二、實(shí)驗(yàn)內(nèi)容15三、實(shí)驗(yàn)要求15四、程序說明和程序流程圖16六、程序運(yùn)行結(jié)果及分析23七指導(dǎo)教師評(píng)議23實(shí)驗(yàn)4 文件系統(tǒng)24一、實(shí)驗(yàn)?zāi)康?4二、實(shí)驗(yàn)內(nèi)容24三、實(shí)驗(yàn)要求24四、程序說明和程序流程圖
2、24五、程序代碼26六、程序運(yùn)行結(jié)果及分析26七指導(dǎo)教師評(píng)議27實(shí)驗(yàn)1 進(jìn)程管理一、實(shí)驗(yàn)?zāi)康?. 弄清進(jìn)程和程序的區(qū)別,加深對(duì)進(jìn)程概念的理解。2. 了解并發(fā)進(jìn)程的執(zhí)行過程,進(jìn)一步認(rèn)識(shí)并發(fā)執(zhí)行的實(shí)質(zhì)。3. 掌握解決進(jìn)程互斥使用資源的方法。二、實(shí)驗(yàn)內(nèi)容1. 管道通信使用系統(tǒng)調(diào)用pipe( )建立一個(gè)管道,然后使用系統(tǒng)調(diào)用fork( )創(chuàng)建2個(gè)子進(jìn)程p1和p2。這2個(gè)子進(jìn)程分別向管道中寫入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父進(jìn)程則從管道中讀出來自兩個(gè)子進(jìn)程的信息,并顯示
3、在屏幕上。2. 軟中斷通信使用系統(tǒng)調(diào)用fork( )創(chuàng)建2個(gè)子進(jìn)程p1和p2,在父進(jìn)程中使用系統(tǒng)調(diào)用signal( )捕捉來自鍵盤上的軟中斷信號(hào)SIGINT(即按Ctrl-C),當(dāng)捕捉到軟中斷信號(hào)SIGINT后,父進(jìn)程使用系統(tǒng)調(diào)用kill( )分別向2個(gè)子進(jìn)程發(fā)出軟中斷信號(hào)SIGUSR1和SIGUSR2,子進(jìn)程捕捉到信號(hào)后分別輸出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后終止。而父進(jìn)程等待2個(gè)子進(jìn)程終止后,輸出信息“Parent process is killed!”后終止
4、。三、實(shí)驗(yàn)要求1. 根據(jù)實(shí)驗(yàn)內(nèi)容編寫C程序。2. 上機(jī)調(diào)試程序。3. 記錄并分析程序運(yùn)行結(jié)果。四、程序說明和程序流程圖實(shí)驗(yàn)1管道通信所涉及的流程圖:實(shí)驗(yàn)2軟中斷信號(hào)所涉及的流程圖:五、程序代碼/*expe1_1.c*/#include void main( ) int i, r, p1, p2, fd2; char buf50, s50; pipe(fd); /* 父進(jìn)程建立管道 */ while (p1=fork()=-1); /* 創(chuàng)建子進(jìn)程P1,失敗時(shí)循環(huán) */ if (p1=0) /* 由子進(jìn)程P1返回,執(zhí)行子進(jìn)程P1 */ lockf(fd1, 1, 0); /* 加鎖鎖定寫入端 *
5、/ sprintf(buf, Child process P1 is sending messages! n); printf(Child process P1! n); write(fd1, buf, 50); /* 把buf中的50個(gè)字符寫入管道 */ sleep(5); /* 睡眠5秒,讓父進(jìn)程讀 */ lockf(fd1, 0, 0); /* 釋放管道寫入端 */ exit(0); /* 關(guān)閉P1*/ else /* 從父進(jìn)程返回,執(zhí)行父進(jìn)程 */ while (p2=fork()=-1); /* 創(chuàng)建子進(jìn)程P2,失敗時(shí)循環(huán) */ if (p2=0) /* 從子進(jìn)程P2返回,執(zhí)行子進(jìn)程
6、P2 */ lockf(fd1, 1, 0); /* 鎖定寫入端 */ sprintf(buf, Child process P2 is sending messages! n); printf(Child process P2! n); write(fd1, buf, 50); /* 把buf中的字符寫入管道 */ sleep(5); /* 睡眠5秒,讓父進(jìn)程讀 */ lockf(fd1, 0, 0); /* 釋放管道寫入端 */ exit(0); /* 關(guān)閉P2*/ wait(0);if (r=read(fd0, s, 50)= -1) printf(cannot read pipe! n
7、); else printf(%s, s); wait(0);if (r=read(fd0, s, 50)= -1) printf(cannot read pipe! n); else printf(%s, s); exit(0); /*exp1-2.c*/#include#include#includeint p1,p2;void main() void ppdo();void p1do();void p2do();signal(SIGINT,ppdo);p1=fork();if(p1=0) signal(SIGUSR1,p1do);for(;); else p2=fork(); if(p2
8、=0) signal(SIGUSR2,p2do); for(;); wait(0); wait(0); printf(nParent process is killed!n); exit(0);void ppdo() kill(p1,SIGUSR1); kill(p2,SIGUSR2);void p1do() printf(nChild process p1 is killed by parent!n); exit(0);void p2do() printf(nChild process p2 is killed by parent!n); exit(0);六、程序運(yùn)行結(jié)果及分析實(shí)驗(yàn)1管道通信
9、運(yùn)行結(jié)果截圖實(shí)驗(yàn)1管道通信結(jié)果分析父進(jìn)程建立后,創(chuàng)建了子進(jìn)程P1,P2,然后P1,P2分別向管道中寫入字符串“Child process p1 is sending message!”和“Child process p2 is sending message!”,父進(jìn)程從管道中讀取字符串。實(shí)驗(yàn)2軟中斷通信運(yùn)行結(jié)果截圖實(shí)驗(yàn)2軟中斷通信結(jié)果分析先預(yù)設(shè)中斷信號(hào)SIGINT,再先后創(chuàng)建子進(jìn)程P1和P2,預(yù)設(shè)中斷信號(hào)SIGUSR1,SIGUER2,當(dāng)我們按下“Ctrl+C”時(shí),父進(jìn)程發(fā)出中斷信號(hào)SIGUSR1和SIGUSR2,通知子進(jìn)程P1和P2,子進(jìn)程捕捉到信號(hào)后分別輸出相應(yīng)的信息后,終止,最后輸出“
10、Parent process is killed!”后終止。實(shí)驗(yàn)后思考: 通過這次實(shí)驗(yàn),深刻地了解到了管道通信和軟中斷通信的詳細(xì)過程,深化了老師課堂上的講解,對(duì)整個(gè)過程的把握也更加清晰了。 很值得的一次學(xué)習(xí)經(jīng)歷,做完實(shí)驗(yàn),再畫流程圖,程序運(yùn)行的細(xì)節(jié)熟悉于心,了如指掌。七指導(dǎo)教師評(píng)議 成績(jī)等級(jí) 實(shí)驗(yàn)2 進(jìn)程通信一、實(shí)驗(yàn)?zāi)康?. 了解進(jìn)程間通信IPC的三種方式:消息隊(duì)列、共享內(nèi)存和信號(hào)量。2. 掌握使用消息隊(duì)列進(jìn)行進(jìn)程間通信的有關(guān)系統(tǒng)調(diào)用和編程方法。3. 掌握使用共享內(nèi)存進(jìn)行進(jìn)程間通信的有關(guān)系統(tǒng)調(diào)用和編程方法。二、實(shí)驗(yàn)內(nèi)容1. 消息隊(duì)列使用系統(tǒng)調(diào)用msgget( )、msgsnd( )、msgrc
11、v( )和msgctl( ),用消息隊(duì)列機(jī)制實(shí)現(xiàn)客戶進(jìn)程和服務(wù)器進(jìn)程間的通信??蛻暨M(jìn)程首先建立一個(gè)描述符為msgqid的消息隊(duì)列,接著向服務(wù)器進(jìn)程發(fā)送一個(gè)消息正文為自己的進(jìn)程標(biāo)識(shí)pid且類型為1的消息,然后接收來自服務(wù)器進(jìn)程的消息,并在屏幕上顯示:“Client receives a message from xxxx!”,其中“xxxx”為服務(wù)器進(jìn)程的進(jìn)程標(biāo)識(shí)。服務(wù)器進(jìn)程首先捕捉軟中斷信號(hào)(除不能捕捉的SIGKILL),若捕捉到時(shí)則調(diào)用函數(shù)cleanup( )刪除消息隊(duì)列,終止服務(wù)器進(jìn)程。否則重復(fù)下列操作:接收所有類型為1的消息,并在屏幕上顯示:“Server receives a mess
12、age from xxxx!”,其中“xxxx”為客戶進(jìn)程的進(jìn)程標(biāo)識(shí);然后服務(wù)器進(jìn)程將客戶進(jìn)程的進(jìn)程標(biāo)識(shí)作為返回消息的類型,而將自己的進(jìn)程標(biāo)識(shí)作為消息正文發(fā)送給客戶進(jìn)程。2. 共享內(nèi)存使用系統(tǒng)調(diào)用shmget( )、shmat( )和shmctl( ),用共享內(nèi)存機(jī)制實(shí)現(xiàn)進(jìn)程間的通信。其中一個(gè)進(jìn)程向共享內(nèi)存中寫入數(shù)據(jù),另一個(gè)進(jìn)程從共享內(nèi)存中讀出數(shù)據(jù)并顯示在屏幕上。三、實(shí)驗(yàn)要求1. 根據(jù)實(shí)驗(yàn)內(nèi)容編寫C程序。2. 上機(jī)調(diào)試程序。3. 記錄并分析程序運(yùn)行結(jié)果。四、程序說明和程序流程圖實(shí)驗(yàn)1消息隊(duì)列流程圖五、程序代碼實(shí)驗(yàn)1消息隊(duì)列/* msg_client.c */#include #include
13、#include #define MSGKEY 75struct msgform long mtype; char mtext256;main() struct msgform msg; int msgqid,pid,*pint; /* 文件主 同組用戶 其他用戶 rwxrwxrwx */ msgqid=msgget(MSGKEY,0777); /* rw-rw-rw- */ pid=getpid(); pint=(int*)msg.mtext; *pint=pid; msg.mtype=1; msgsnd(msgqid,&msg,sizeof(int),0); msgrcv(msgqid,&
14、msg,256,pid,0); printf(client: receive from pid %dn,*pint);/* msg_server.c */#include #include #include #define MSGKEY 75struct msgform long mtype; char mtext256;msg;int msgqid;main() int i,pid,*pint; extern cleanup(); for (i=0;i20;i+) signal(i,cleanup); msgqid=msgget(MSGKEY, 0777|IPC_CREAT); for (;
15、) msgrcv(msgqid,&msg, 256,1,0); pint=(int*)msg.mtext; pid=*pint; printf(server: receive from pid %dn,pid); msg.mtype=pid; *pint=getpid(); msgsnd(msgqid,&msg,sizeof(int),0);cleanup() msgctl(msgqid,IPC_RMID,0); exit(0);實(shí)驗(yàn)2共享內(nèi)存#include#include#include#define SHMKEY 75#define K 1024int shmid;main() int
16、i, * pint; char * addr;extern char * shmat(); shmid = shmget(SHMKEY, 8 * K, 0777); addr = shmat (shmid,0,0); pint = (int *)addr; while ( * pint=0 ) for (i=0; i256; *pint+) printf(%dn, *pint+);#include#include#include#define SHMKEY 75#define K 1024int shmid;main() int i, * pint; char * addr; extern c
17、har * shmat(); extern cleanup(); for(i=0; i20; i+) sinal (i, cleanup); shmid = shmget (SHMKEY, 16 * K, 0777|IPC_CREAT); addr = shmat (shmid,0,0); printf(addr 0x%x n, addr); pint = (int *)addr; for(i=0; i256; i+) *pint+ =i; pint = (int *)addr; *pint = 256; pause();cleanup() shmctl (shmid, IPC_RMID, 0
18、); exit(0);六、程序運(yùn)行結(jié)果及分析實(shí)驗(yàn)1消息隊(duì)列運(yùn)行結(jié)果截圖客戶端:服務(wù)器端:實(shí)驗(yàn)1消息隊(duì)列結(jié)果分析服務(wù)端程序監(jiān)聽軟中斷,建立消息隊(duì)列,循環(huán)在隊(duì)列中接收類型為1的消息,每接收一個(gè)消息向隊(duì)列中增加一個(gè)類型為客戶進(jìn)程ID的消息。當(dāng)發(fā)生軟中斷時(shí),刪除消息隊(duì)列。客戶端進(jìn)程創(chuàng)建和服務(wù)端相同的消息隊(duì)列,并向消息隊(duì)列中發(fā)送類型為1的消息,然后接收類型為客戶進(jìn)程ID的消息。實(shí)驗(yàn)后思考: 對(duì)消息隊(duì)列的運(yùn)行情況有所了解,但關(guān)于內(nèi)存共享部分尚需仔細(xì)研究。七指導(dǎo)教師評(píng)議 成績(jī)等級(jí) 實(shí)驗(yàn)3 存儲(chǔ)管理一、實(shí)驗(yàn)?zāi)康?. 了解虛擬存儲(chǔ)管理技術(shù)的原理與特點(diǎn)。2. 掌握請(qǐng)求頁式存儲(chǔ)管理的頁面置換算法。二、實(shí)驗(yàn)內(nèi)容1.
19、通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:(1) 50%的指令是順序執(zhí)行的;(2) 25%的指令均勻分布在前地址部分;(3) 25%的指令均勻分布在后地址部分。實(shí)現(xiàn)方法:(1) 在0,319的指令地址中隨機(jī)選取一起點(diǎn)s;(2) 執(zhí)行指令s;(3) 順序執(zhí)行一條指令,即執(zhí)行地址為s+1的指令;(4) 在前地址0,s中隨機(jī)選取一條地址為m的指令執(zhí)行;(5) 順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;(6) 在后地址m+2,319中隨機(jī)選取一條指令s;(7) 重復(fù)(2)(6),直到執(zhí)行320次指令。2. 將指令序列變換為頁地址流,設(shè):(1) 頁面大小為1K;(2) 用戶
20、內(nèi)存容量為432頁面(page frame);(3) 用戶虛存容量為32K(即32頁)。若10條指令為1頁,則320條指令在虛存中的存放方式為:第0頁(虛存地址0,9)第0條第9條指令;第1頁(虛存地址10,19)第10條第19條指令; 第31頁(虛存地址310,319)第310條第319條指令。3. 計(jì)算并輸出下列算法在不同內(nèi)存容量下的命中率(命中率=1-缺頁率)。(1) FIFOFirst In First Out Page Replacement Algorithm(2) LRULeast Recently Used Page Replacement Algorithm三、實(shí)驗(yàn)要求1.
21、根據(jù)實(shí)驗(yàn)內(nèi)容編寫C程序。2. 上機(jī)調(diào)試程序。3. 記錄并分析程序運(yùn)行結(jié)果。四、程序說明和程序流程圖程序說明為:1. 通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:(1) 50%的指令是順序執(zhí)行的;(2) 25%的指令均勻分布在前地址部分;(3) 25%的指令均勻分布在后地址部分。實(shí)現(xiàn)方法:(1) 在0,319的指令地址中隨機(jī)選取一起點(diǎn)s;(2) 執(zhí)行指令s;(3) 順序執(zhí)行一條指令,即執(zhí)行地址為s+1的指令;(4) 在前地址0,s中隨機(jī)選取一條地址為m的指令執(zhí)行;(5) 順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;(6) 在后地址m+2,319中隨機(jī)選取一條指令s;(7
22、) 重復(fù)(2)(6),直到執(zhí)行320次指令。2. 將指令序列變換為頁地址流,設(shè):(1) 頁面大小為1K;(2) 用戶內(nèi)存容量為432頁面(page frame);(3) 用戶虛存容量為32K(即32頁)。若10條指令為1頁,則320條指令在虛存中的存放方式為:第0頁(虛存地址0,9)第0條第9條指令;第1頁(虛存地址10,19)第10條第19條指令; 第31頁(虛存地址310,319)第310條第319條指令。3. 計(jì)算并輸出下列算法在不同內(nèi)存容量下的命中率(命中率=1-缺頁率)。(1) FIFOFirst In First Out Page Replacement Algorithm(2)
23、LRULeast Recently Used Page Replacement Algorithm流程圖:五、程序代碼#include #include / #include /* Windows環(huán)境,getpid()原型在process.h中 */#define TRUE 1#define FALSE 0#define INVALID -1#define NULL 0#define total_instruction 320/* 指令條數(shù) */#define total_vp 32/* 虛頁數(shù) */#define clear_period 50/* NRU清0周期 */typedef str
24、uct /* 頁表結(jié)構(gòu) */ int pn,pfn,counter,time;/* counter(LFU),time(LRU) */ pl_type;pl_type pltotal_vp;/*頁表 */struct pfc_struct /* 存儲(chǔ)頁面表 */ int pn,pfn; struct pfc_struct *next;typedef struct pfc_struct pfc_type;pfc_type pfctotal_vp,*freepf_head,*busypf_head,*busypf_tail;int diseffect,atotal_instruction;/* 缺
25、頁次數(shù),指令流 */int pagetotal_instruction,offsettotal_instruction;void initialize(int);void fifo(int);void lru(int);void opt(int); void lfu(int); void nur(int);void main() int s,i,j; srand(getpid()*10);/* 進(jìn)程標(biāo)識(shí)作為隨機(jī)數(shù)種子 */ s=(float)319*rand()/;/* 0319 */ / s=(float)319*rand()/32767;/* 0319 */ for (i=0; itota
26、l_instruction; i+=4) ai=s; /* s=0319 */ ai+1=ai+1; /* s+1 */ ai+2=(float)ai*rand()/;/*m=0s*/ / ai+2=(float)ai*rand()/32767;/*m=0s*/ ai+3=ai+2+1; /* m+1*/ s=(float)rand()*(317-ai+2)/+ai+2+2;/* m+2319 */ / s=(float)rand()*(317-ai+2)/32767+ai+2+2;/* m+2319 */ for (i=0;itotal_instruction;i+) pagei=ai/10
27、; offseti=ai%10; for (i=4;i=32;i+)/* 用戶內(nèi)存工作區(qū)4-32個(gè)頁面 */ printf(%2d page frames,i); fifo(i); lru(i); opt(i); lfu(i); nur(i); printf(n); void initialize(int total_pf) int i; diseffect=0; for (i=0;itotal_vp;i+) pli.pn=i;pli.pfn=INVALID; pli.counter=0;pli.time=-1; for (i=1;itotal_pf;i+) pfci-1.next=&pfci
28、;pfci-1.pfn=i-1; pfctotal_pf-1.next=NULL; pfctotal_pf-1.pfn=total_pf-1; freepf_head=&pfc0; void fifo(int total_pf) int i,j; pfc_type *p; initialize(total_pf); busypf_head=busypf_tail=NULL;/* 置忙頁面隊(duì)列為空 */ for (i=0;inext; plbusypf_head-pn.pfn=INVALID; freepf_head=busypf_head; /* 釋放忙隊(duì)列中的第1個(gè)頁面(淘汰1頁),即出隊(duì)
29、*/ freepf_head-next=NULL; busypf_head=p;/* 插入到空閑頁面鏈表 */ p=freepf_head-next; freepf_head-next=NULL; freepf_head-pn=pagei; plpagei.pfn=freepf_head-pfn; if (busypf_tail=NULL)/* 忙隊(duì)列為空時(shí),入隊(duì) */ busypf_head=busypf_tail=freepf_head; else/* 忙隊(duì)列為非空時(shí),入隊(duì) */ busypf_tail-next=freepf_head; busypf_tail=freepf_head;
30、freepf_head=p; printf( FIFO: %6.4f,1-(float)diseffect/320);void lru(int total_pf) int min,minj,i,j,present_time; initialize(total_pf);present_time=0; for (i=0;itotal_instruction;i+) if (plpagei.pfn=INVALID) diseffect+; if (freepf_head=NULL) min=32767; for (j=0;jplj.time&plj.pfn!=INVALID) min=plj.tim
31、e;minj=j; freepf_head=&pfcplminj.pfn;/* 插入空閑鏈表 */ plminj.pfn=INVALID; plminj.time=-1; freepf_head-next=NULL; plpagei.pfn=freepf_head-pfn; plpagei.time=present_time; freepf_head=freepf_head-next; else plpagei.time=present_time; present_time+; printf( LRU: %6.4f,1-(float)diseffect/320); void opt(int t
32、otal_pf) int i,j,max,maxpage,d,disttotal_vp; initialize(total_pf); for (i=0;itotal_instruction;i+) if (plpagei.pfn=INVALID) diseffect+; if (freepf_head=NULL) for (j=0;jtotal_vp;j+) if (plj.pfn!=INVALID) distj=32767; else distj=0;/* 頁在內(nèi)存中距離非0,不在內(nèi)存距離為0 */ d=1;/* 計(jì)算內(nèi)存中頁面與當(dāng)前訪問頁面的距離 */ for (j=i+1;jtotal_
33、instruction;j+) if (plpagej.pfn!=INVALID) distpagej=d; d+; max=-1;/* 淘汰距離最遠(yuǎn)的頁 */ for (j=0;jtotal_vp;j+) if (maxnext=NULL; plmaxpage.pfn=INVALID; plpagei.pfn=freepf_head-pfn; freepf_head=freepf_head-next; printf( OPT: %6.4f,1-(float)diseffect/320);void lfu(int total_pf) int i,j,min,minpage; initializ
34、e(total_pf); for (i=0;itotal_instruction;i+) if (plpagei.pfn=INVALID) diseffect+; if (freepf_head=NULL) min=32767; for (j=0;jplj.counter & plj.pfn!=INVALID) min=plj.counter;minpage=j; plj.counter=0; freepf_head=&pfcplminpage.pfn; plminpage.pfn=INVALID; freepf_head-next=NULL; plpagei.pfn=freepf_head-
35、pfn; freepf_head=freepf_head-next; else plpagei.counter+; printf( LFU: %6.4f,1-(float)diseffect/320);void nur(int total_pf) int i,j,dp,cont_flag,old_dp; initialize(total_pf); dp=0; for (i=0;itotal_instruction;i+) if (plpagei.pfn=INVALID) diseffect+; if (freepf_head=NULL) cont_flag=TRUE;old_dp=dp; wh
36、ile (cont_flag) if (pldp.counter=0&pldp.pfn!=INVALID) cont_flag=FALSE; else dp+; if (dp=total_vp) dp=0; if (dp=old_dp) for (j=0;jnext=NULL; plpagei.pfn=freepf_head-pfn; freepf_head=freepf_head-next; else plpagei.counter=1; if (i%clear_period=0) for (j=0;jtotal_vp;j+) plj.counter=0; printf( NUR: %6.4f,1-(float)diseffect/320);六、程序運(yùn)行結(jié)果及分析實(shí)驗(yàn)運(yùn)行結(jié)果截圖:實(shí)驗(yàn)結(jié)果分析:先隨機(jī)產(chǎn)生320條指令,然后轉(zhuǎn)化為頁地址流,分別執(zhí)行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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 排水系統(tǒng)施工勞務(wù)協(xié)議
- 產(chǎn)業(yè)合作發(fā)展協(xié)議
- 小學(xué)部編版語文六年級(jí)下冊(cè)第二單元《習(xí)作:寫作品梗概》說課課件(含教學(xué)反思)
- 安全防護(hù)措施采購合同
- 油漆涂料銷售合同
- 小學(xué)生欺凌預(yù)防:和諧校園氛圍與互助教育
- 手動(dòng)叉車安全使用
- 阿克蘇職業(yè)技術(shù)學(xué)院《平面形態(tài)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 阿壩職業(yè)學(xué)院《移動(dòng)設(shè)備開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 隴東學(xué)院《跨境電商》2023-2024學(xué)年第二學(xué)期期末試卷
- 建筑工程一級(jí)安全教育內(nèi)容
- 陪診員培訓(xùn)課件
- 2024上海社區(qū)工作者練習(xí)題庫參考答案
- 魯科版(五四學(xué)制)(三起)(2024)三年級(jí)下冊(cè)英語教學(xué)計(jì)劃
- 2024-2025學(xué)年江蘇省南京市鼓樓區(qū)樹人中學(xué)七年級(jí)下學(xué)期英語3月學(xué)情調(diào)研卷(原卷版+解析版)
- 陽光心理健康成長(zhǎng)(課件)-小學(xué)生主題班會(huì)
- (甘肅一診)2025年甘肅省高三月考試卷(3月)思想政治試卷(含答案)
- 高鐵隧道工程施工設(shè)計(jì)畢業(yè)論文
- 交通保安員職責(zé)與道路安全管理
- 探索宇宙奧秘:天體物理學(xué)課件
- 2025年全民國(guó)家安全教育日主題教育課件
評(píng)論
0/150
提交評(píng)論