




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實用標準文案計算機 學院 計算機科學與技術 專業(yè)_班學號_姓名教師評定實驗題目 主存空間的分配和回收一、實驗目的熟悉主存的分配與回收。 理解在不同的存儲管理方式下,如何實現(xiàn)主存空間的分配與回收。掌握動態(tài)分區(qū)分配方式中的數(shù)據結構和分配算法及動態(tài)分區(qū)存儲管理方式及其實現(xiàn)過 程。二、實驗內容和要求主存的分配和回收的實現(xiàn)是與主存儲器的管理方式有關的。所謂分配,就是解決多道作業(yè)或多進程如何共享主存空間的問題。所謂回收,就是當作業(yè)運行完成時將作業(yè)或進程所占的主存空間歸還給系統(tǒng)。可變分區(qū)管理是指在處理作業(yè)過程中建立分區(qū),使分區(qū)大小正好適合作業(yè)的需求,并且分區(qū)個數(shù)是可以調整的。當要裝入一個作業(yè)時,根據作業(yè)需要
2、的主存量查看是否有足夠的空 閑空間,若有,則按需要量分割一個分區(qū)分配給該作業(yè);若無,則作業(yè)不能裝入,作業(yè)等待。隨著作業(yè)的裝入、完成, 主存空間被分成許多大大小小的分區(qū),有的分區(qū)被作業(yè)占用,而有的分區(qū)是空閑的。實驗要求使用可變分區(qū)存儲管理方式,分區(qū)分配中所用的數(shù)據結構采用空閑分區(qū)表和空閑分區(qū)鏈來進行,分區(qū)分配中所用的算法采用首次適應算法、最佳適應算法、最差適應算法三種算法來實現(xiàn)主存的分配與回收。同時,要求設計一個實用友好的用戶界面,并顯示分配與回收的過程。同時要求設計一個實用友好的用戶界面,并顯示分配與回收的過程。三、實驗主要儀器設備和材料實驗環(huán)境硬件環(huán)境:舊M-PC或兼容機軟件環(huán)境:VC+ 6
3、.0四、實驗原理及設計分析某系統(tǒng)采用可變分區(qū)存儲管理,在系統(tǒng)運行當然開始,假設初始狀態(tài)下,可用的內存空間為640KB,存儲器區(qū)被分為操作系統(tǒng)分區(qū)(40KB)和可給用戶的空間區(qū)(600KB)。(作業(yè)1申請130KR 作業(yè)2申請60KB作業(yè)3申請100KB、作業(yè)2釋放60KB、作業(yè)4申請200KB、作業(yè)3釋放100KR 作業(yè)1釋放130KB、作業(yè)5申請140KB、 作業(yè)6申請60KB、作業(yè)7申請50KB)當作業(yè)1進入內存后,分給作業(yè) 1 (130KB),隨著作業(yè)1、2、3的進入,分別分配 60KR 100KB,經過一段時間的運行后,作業(yè) 2運行完畢,釋放所占內存。此時,作業(yè) 4進入系統(tǒng), 要求分配
4、200KB內存。作業(yè)3、1運行完畢,釋放所占內存。此時又有作業(yè) 5申請140KB, 作業(yè)6申請60KB,作業(yè)7申請50KR為它們進行主存分配和回收。1、采用可變分區(qū)存儲管理,使用空閑分區(qū)鏈實現(xiàn)主存分配和回收。空閑分區(qū)鏈:使用鏈指針把所有的空閑分區(qū)鏈成一條鏈,為了實現(xiàn)對空閑分區(qū)的分配和鏈接,在每個分區(qū)的起始部分設置狀態(tài)位、分區(qū)的大小和鏈接各個分區(qū)的前向指針,由狀態(tài)位指示該分區(qū)是否分配出去了;同時,在分區(qū)尾部還設置有一后向指針,用來鏈接后面的分區(qū);分區(qū)中間部分是用來存放作業(yè)的空閑內存空間,當該分區(qū)分配出去后,狀態(tài)位就由“0”置為“1”。設置一個內存空閑分區(qū)鏈,內存空間分區(qū)通過空閑分區(qū)鏈來管理,在進
5、行內存分配時, 系統(tǒng)優(yōu)先使用空閑低端的空間。設計一個空閑分區(qū)說明鏈,設計一個某時刻主存空間占用情況表,作為主存當前使用基礎。初始化空間區(qū)和已分配區(qū)說明鏈的值,設計作業(yè)申請隊列以及作業(yè)完成后釋放順序,實現(xiàn)主存的分配和回收。 要求每次分配和回收后顯示出空閑內存分區(qū)鏈的情況。把空閑區(qū)說明鏈的變化情況以及各作業(yè)的申請、釋放情況顯示打印出來。2.采用可變分區(qū)存儲管理,分別采用首次適應算法、最佳適應算法和最壞適應算法實現(xiàn) 主存分配和回收。3、主存空間分配(1)首次適應算法在該算法中,把主存中所有空閑區(qū)按其起始地址遞增的次序排列。在為作業(yè)分配 存儲空間時,從上次找到的空閑分區(qū)的下一個空閑分區(qū)開始查找,直到找
6、到第一個能 滿足要求的空閑區(qū),從中劃出與請求的大小相等的存儲空間分配給作業(yè),余下的空閑 區(qū)仍留在空閑區(qū)鏈中。(2)最佳適應算法在該算法中,把主存中所有空閑區(qū)按其起始地址遞增的次序排列。在為作業(yè)分配 存儲空間時,從上次找到的空閑分區(qū)的下一個空閑分區(qū)開始查找,直到找到一個能滿 足要求的空閑區(qū)且該空閑區(qū)的大小比其他滿足要求的空閑區(qū)都小,從中劃出與請求的 大小相等的存儲空間分配給作業(yè),余下的空閑區(qū)仍留在空閑區(qū)鏈中 (3)最壞適應算法在該算法中,把主存中所有空閑區(qū)按其起始地址遞增的次序排列。在為作業(yè)分配 存儲空間時,從上次找到的空閑分區(qū)的下一個空閑分區(qū)開始查找,直到找到一個能滿 足要求的空閑區(qū)且該空閑區(qū)
7、的大小比其他滿足要求的空閑區(qū)都大,從中劃出與請求的 大小相等的存儲空間分配給作業(yè),余下的空閑區(qū)仍留在空閑區(qū)鏈中。4、主存空間回收當一個作業(yè)執(zhí)行完成撤離時,作業(yè)所占的分區(qū)應該歸還給系統(tǒng)。 歸還的分區(qū)如果與其 它空閑區(qū)相鄰,則應合成一個較大的空閑區(qū), 登記在空閑區(qū)說明鏈中,此時,相鄰空閑區(qū)的 合并問題,要求考慮四種情況:(1) 釋放區(qū)下鄰空閑區(qū)(低地址鄰接)(2) 釋放區(qū)上鄰空閑區(qū)(高地址鄰接)(3) 釋放區(qū)上下都與空閑區(qū)鄰接(4) 釋放區(qū)上下鄰都與空閑區(qū)不鄰接五、程序流程圖main函數(shù)里的流程圖精彩文檔分配空間里的流程圖回收空間里的流程圖六、相關數(shù)據結構及關鍵函數(shù)說明本程序采用了一個struct
8、 free_table數(shù)據結構,里面包含分區(qū)序號( num)、起始地址(address)、分區(qū)長度(length)和分區(qū)狀態(tài)(state)。還用了線性表的雙性鏈表存儲結構 (struct Node),里面包含前區(qū)指針(prior)和后繼指針(next)。一開始定義一條(含有 first和end) 的鏈,用開始指針和尾指針開創(chuàng)空間鏈表。然后分別按三種算法進行分配和回收。在該程序中關鍵函數(shù)有,sort ()、allocation ()、recovery ()、和 First_fit ()、Best_fit()、Worst_fit ();其中sort ()函數(shù)是用來整理分區(qū)序號的,如在刪序號3時,她
9、與前面序號2相連在一起了,然后序號 2中的長度總滿足申請的內存大小,就會在序號2中分配,然后序號在2的基礎上加1, 一直加,加到與原本序號3的下一個序號也就是 4相等,這時sort ()就開始有明顯的工作了;allocation ()是分配空間的,也是過渡到三個算法中的,當三個算法中滿足或者不滿足分配請求,都會又返回值給allocation () ; recovery ()是用來回收內存的,里面包含了四種情況相連結果,即釋放區(qū)上與空閑區(qū)鄰接、釋放區(qū)下與空閑區(qū)鄰接、釋放區(qū)上下都與空閑區(qū)鄰接、釋放區(qū)上下都與空閑區(qū)不鄰接這四種情況的結果。七、源代碼#include<stdio.h>#in
10、clude<stdlib.h>#define OK 1/完成#define ERROR 0 / 出錯typedef int Status;typedef struct free_table/定義一個空閑區(qū)說明表結構 int num; 分區(qū)序號long address; 起始地址long length;/ 分區(qū)大小int state;分區(qū)狀態(tài)ElemType;typedef struct Node/線性表的雙向鏈表存儲結構 ElemType data;struct Node *prior; / 前趨指針struct Node *next; 后繼指針Node,*LinkList;Lin
11、kList first; / 頭結點LinkList end;/尾結點int flag;/記錄要刪除的分區(qū)序號Status Initblock()開創(chuàng)帶頭結點的內存空間鏈表 first=(LinkList)malloc(sizeof(Node);end=(LinkList)malloc(sizeof(Node);first->prior=NULL;first->next=end;end->prior=first;end->next=NULL;end->data.num=1;end->data.address=40;end->data.length=60
12、0;end->data.state=0;return OK; void sort()/分區(qū)序號重新排序Node *p=first->next,*q;q=p->next;for(;p!=NULL;p=p->next)for(q=p->next;q;q=q->next)if(p->data.num>=q->data.num)q->data.num+=1;顯示主存分配情況void show() int flag=0;用來記錄分區(qū)序號Node *p=first;p->data.num=0;p->data.address=0;p-&
13、gt;data.length=40;p->data.state=1;sort();printf("ntt »主存空間分配情況« n");printf("*nn");printf("分區(qū)序號t起始地址t分區(qū)大小t分區(qū)狀態(tài)nn"); while(p)printf("%dtt%dtt%d",p->data.num,p->data.address,p->data.length);if(p->data.state=0) printf("皿 空閑 nn");
14、else printf("皿已分配 nn");p=p->next;printf("*nn");首次適應算法Status First_fit(int request)為申請作業(yè)開辟新空間且初始化Node *p=first->next;LinkList temp=(LinkList)malloc(sizeof(Node);temp->data.length=request;temp->data.state=1;p->data.num=1;while(p)if(p->data.state=0)&&(p->
15、;data.length=request)/有大小恰好合適的空閑塊p->data.state=1;return OK;break;else if(p->data.state=0) && (p->data.length>request)/有空閑塊能滿足需求且有剩余temp->prior=p->prior;temp->next=p;temp->data.address=p->data.address;temp->data.num=p->data.num;p->prior->next=temp;p->
16、prior=temp;p->data.address=temp->data.address+temp->data.length;p->data.length-=request;p->data.num+=1;return OK;break;p=p->next;return ERROR;最佳適應算法Status Best_fit(int request)int ch; 記錄最小剩余空間Node *p=first;Node *q=NULL; 記錄最佳插入位置LinkList temp=(LinkList)malloc(sizeof(Node);temp->d
17、ata.length=request;temp->data.state=1;p->data.num=1;while(p) 初始化最小空間和最佳位置if(p->data.state=0) && (p->data.length>=request)if(q=NULL)q=p;ch=p->data.length-request;else if(q->data.length > p->data.length)q=p;ch=p->data.length-request;p=p->next;if(q=NULL) return
18、ERROR;/ 沒有找到空閑塊else if(q->data.length=request)q->data.state=1;return OK;elsetemp->prior=q->prior;temp->next=q;temp->data.address=q->data.address;temp->data.num=q->data.num;q->prior->next=temp;q->prior=temp;q->data.address+=request;q->data.length=ch;q->dat
19、a.num+=1;return OK;return OK;最差適應算法Status Worst_fit(int request)int ch; 記錄最大剩余空間Node *p=first->next;Node *q=NULL; 記錄最佳插入位置LinkList temp=(LinkList)malloc(sizeof(Node);temp->data.length=request;temp->data.state=1;p->data.num=1;while(p) 初始化最大空間和最佳位置if(p->data.state=0 && (p->da
20、ta.length>=request) if(q=NULL) q=p;ch=p->data.length-request;else if(q->data.length < p->data.length)q=p;ch=p->data.length-request;p=p->next;if(q=NULL) return ERROR;/ 沒有找到空閑塊else if(q->data.length=request)q->data.length=1;return OK;elsetemp->prior=q->prior;temp->n
21、ext=q;temp->data.address=q->data.address;temp->data.num=q->data.num;q->prior->next=temp;q->prior=temp;q->data.address+=request;q->data.length=ch;q->data.num+=1;return OK;return OK;/分配主存Status allocation(int a)int request;/申請內存大小printf("請輸入申請分配的主存大小(單位:KB):");s
22、canf("%d",&request);if(request<0 |request=0)printf("分配大小不合適,請重試!");return ERROR;switch(a)case 1: 默認首次適應算法if(First_fit(request)=OK) printf("t*分配成功!*");else printf("t* 內存不足,分配失?。?*");return OK;break;case 2: 選擇最佳適應算法if(Best_fit(request)=OK) printf("t*
23、分配成功!*");else printf("t* 內存不足,分配失敗! *");return OK;break;case 3: 選擇最差適應算法if(Worst_fit(request)=OK) printf("t*分配成功! *");else printf("t* 內存不足,分配失??!*");return OK;break;Status deal1(Node *p)/ 處理回收空間Node *q=first;for(;q!=NULL;q=q->next)if(q=p)if(q->prior->data.s
24、tate=0&&q->next->data.state!=0) q->prior->data.length+=q->data.length;q->prior->next=q->next;q->next->prior=q->prior;q=q->prior;q->data.state=0;q->data.num=flag-1;if(q->prior->data.state!=0&&q->next->data.state=0)q->data.length
25、+=q->next->data.length;q->next=q->next->next;q->next->next->prior=q;q->data.state=0;q->data.num=flag;if(q->prior->data.state=0&&q->next->data.state=0)q->prior->data.length+=q->data.length;q->prior->next=q->next;q->next->prior=
26、q->prior;q=q->prior;q->data.state=0;q->data.num=flag-1;if(q->prior->data.state!=0&&q->next->data.state!=0)q->data.state=0;return OK;Status deal2(Node *p)/ 處理回收空間Node *q=first;for(;q!=NULL;q=q->next)if(q=p)if(q->prior->data.state=0&&q->next->d
27、ata.state!=0)q->prior->data.length+=q->data.length;q->prior->next=q->next;q->next->prior=q->prior;q=p->prior;q->data.state=0;q->data.num=flag-1;)if(q->prior->data.state!=0&&q->next->data.state=0)q->data.state=0;)if(q->prior->data.state
28、=0&&q->next->data.state=0)q->prior->data.length+=q->data.length;q->prior->next=q->next;q->next->prior=q->prior;q=q->prior;q->data.state=0;q->data.num=flag-1;)if(q->prior->data.state!=0&&q->next->data.state!=0)q->data.state=0;)r
29、eturn OK;)/主存回收Status recovery(int flag)Node *p=first;for(;p!=NULL;p=p->next)if(p->data.num=flag)if(p->prior=first)if(p->next!=end)/當前P指向的下一個不是最后一個時if(p->next->data.state=0)與后面的空閑塊相連p->data.length+=p->next->data.length;p->next->next->prior=p;p->next=p->next-
30、>next;p->data.state=0;p->data.num=flag;else p->data.state=0;if(p->next=end)/當前P指向的下一個是最后一個時p->data.state=0;/ 結束 if(p->prior=block_first)的情況else if(p->prior!=first)if(p->next!=end)deal1(p);elsedeal2(p);/ 結束 if(p->prior!=block_first)的情況結束 if(p->data.num=flag)的情況printf(
31、"t* 回收成功 *");return OK;/主函數(shù)void main()int i;/操作選擇標記int a;算法選擇標記 printf(,*I*n");printf("tt用以下三種方法實現(xiàn)主存空間的分配n");printf("t(1)首次適應算法t(2)最佳適應算法t(3)最差適應算法n");I*n");printf("n");printf("請輸入所使用的內存分配算法:");scanf("%d",&a);while(a<1|a>
32、;3)printf("輸入錯誤,請重新輸入所使用的內存分配算法:n");scanf("%d",&a);switch(a)case 1:printf("nt* 使用首次適應算法:*n");break;case 2:printf("nt* 使用最佳適應算法:*n");break; case 3:printf("nt* 使用最壞適應算法:*n");break; Initblock();/開創(chuàng)空間表while(1)show();printf("t1:分配內存t2:回收內存t0:退出n&
33、quot;);printf("請輸入您白操作:");scanf("%d",&i);if(i=1)allocation(a);/ 分配內存 else if(i=2)/ 內存回收printf("請輸入您要釋放的分區(qū)號:"); scanf("%d",&flag);recovery(flag);else if(i=0) printf("n 退出程序 n");break; 退出else 輸入操作有誤printf("輸入有誤,請重試!"); continue;八、執(zhí)行結果
34、和結果分析初始化首次適應算法:清輸入所使用的內存分配算法:工*使用首次適應算法:*主存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配140600空閑0 :退出當作業(yè)1、2、3順利分配內存空間后:1:%掣內存2=回收內存的攝信1信分屯己的正左大小單位工HBf時*吩配成功! *至存空間分配情況M:MXK:KM:ME>EXME>EM:ME>EXMEX<>XXM:X<M:<XM:>tM 球 XX 球 XX 球 XX 速 XXltXKMMiXltXXaCXXKXXJt分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)Hg40已分配14B130已分配2170G3已
35、分配3230100已分配-4330310空閑XKMMEKXMEXMMEXXMEXMMEXMXMXXKXXJOEXXaCXXXXXatXXJEXiMaCXiMitNiMJfXWXiMJfXiMJE回收序號2里面的內存:2=回收內存0:退出曦存MEXXMEXXMEXXMEXXXKK 睡 KKXKKitKKXXKitHKitXKItMiKitMiKICMiXICMiXatMiXatMiXMMiXatMiXat分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)040已分配140130已分配217065空閑3230100已分配433W310空閑XKKMEmMEXKMEXJKMEJitKMEXJKaiEXJKaiEXKai
36、EmaiEXKKXKaCXKKXXaCKXJCXiWiiWiWXiMaiEXXK分配作業(yè)4:王行空間分配情沉分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配14日130已分配217060空閑3230100已分配43302B0已分配5536110空閑已內存回收內存分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)已分配已分配已分配JiW*王存空間分配情況回收序號3里面的內存(與上鄰序號 2相連了)回收序號1里的內存(與下鄰序號 2相連了)請己內存 2:回收內存 0:退出I薔分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配143290空閑4330200已分配553H110空閑繼續(xù)分配(會發(fā)現(xiàn)總是按順序查找滿足要
37、求的第一個空閑塊,一旦發(fā)現(xiàn)就會分配)2:回收內存 0=退出大小 < 單位;KBX1的*分配成功!*噎存空間分配情況藕潞雌施分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)回040已分配140140已分配2180150空閑433H200已分配5530110空閑1 :箕鼻內存2=回收內存0=退出需入甯蓍舞酉頡玉本大小單位= «B>:60酉己成功!""""生存空間分配情況g分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)M&已分配14014。已分配218060已分配32459M空閑433R200己分配5530110空閑1;方喧己內存2;回收內存0:圈翦簞甯患W商
38、 3 套大小 < 單位= KB> = 50酉己成功!"""">王存空間分配情況退出分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配140140已分配2180fa0己分配324050已分配429043空閑5330200已分配6530110空閑初始化最佳適應算法:請輸入所使用的內存分配算法;2*使用最佳適應算法*主存空間分配情況產區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)040已分配140S00空閑小色翩己內存 2;回收內存 0:退出 僵需工國請溫市點存大單位;KB二L*配成功! *王存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)W0已分配140130已
39、分配217060已分配3230100已分配4330310空閑1:分配內存2:回收內存 0:退出您的操伯2恩要釋汆聯(lián)笈屋號;2*回收成功*全存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)040已分配4013M已分配1706日空閑2301刖已分配33031H空閑,一二允配內存2:回收內存質退出扁人您要釋成的雞號回收成功* 王存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配140290空閑4330200已分配b530110空閑繼續(xù)分配(會發(fā)現(xiàn)總是查找滿足要求的空閑塊且其比其他空閑塊長度小,一旦發(fā)現(xiàn)就會分 配):1=維a內存2:回收內存 0:退出請領人蟹的噪有L 清輸人苗請芬熙的四J大小單
40、位二HB): 140*配成功! * 王存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配140140已分配2180150空閑4330200已分配5530110空閑、,:殺己內存2:回收內存0=退出胃鸚嘴曾*酉說金大小單位麗:60*71配成功! * 王存空間分配情況分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)3040已分配140140已分配218015W空閑4330200已分配55306目已分配b59050空閑WH±iiUUHjiUWHjiUUHjiUWHjiUUHjiUWHjiUUHjiUWHdiUUHjiUWHdiUUHjiUWHdiWUHjiUUHdiWUHjiUUHdiUUHji
41、UUHdiUUN單位口乂切! *王存空間分配情況0:退出分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)日040已分配140140已分配21髓150空閑4330260已分配553060已分配65905目已分配初始化最壞適應算法:請輸入所使用的內存分配算法:3用最壞適應算法:*«* MH舞鴛就空間分配,而巳內存 2:回收內存 0=退出 :1分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)U04M已分配140130已分配217W6購已分配3230100已分配4330310空閑額入份曲翻I己內存2=回收內存0:退出睡耳M X一的益筌號:2回收成功*王存空間分配情況主存空間分配情況HKIMKXlilCIHMKKMEHXHK
42、iMMiKiMMEMEiMMMiltMKiMMiHif Mi JCM MiM:iMMM:«:!<«:HMHK MH MIMI9區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配140608空閑M H XU X K X M: MEN K KMHMHMHMHM: XML X MtMX HJtJC KOtH XXX KMX MX 芭 K MM MKK M XM M M: X K KM M X JC *分區(qū)序號起始地址分區(qū)大小分區(qū)狀態(tài)0040已分配|40130已分配21706??臻e3230100已分配4333310空閑MKNXKJtXXMJKNHKKMNMMXKKMKMJtMHXM
43、KXMMItXMMNKMNJitJKKHJCNJCMJCXMJCJCMJCKK0:退出繼續(xù)分配(會發(fā)現(xiàn)總是查找滿足要求的空閑塊且其比其他空閑塊長度小,一旦發(fā)現(xiàn)就會分 配):2:回收內存1: 己內存造裝不婚的凰辰4修輸人:愚要釋汆的分三號,工*回收成功王存空間分配情況分區(qū)序號起史時也址分區(qū)大小分區(qū)狀態(tài)0040已分配140290空閑433H200已分配553M110空閑1*«rlF 2=回收內存 0=退出存大小單位:KB:140f 功! *王存空間分配情況分區(qū)序號|起始地址分區(qū)大小分區(qū)狀態(tài)040已分配40140已分配180空閑33D200已分配53g1.1R空閑1:分配內存2=回收內存 0:退出請領入罐的探程:1、請輸人$情芬配的主在人小單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學家長會新學期班主任發(fā)言稿范文
- 冀教版三年級科學上冊教案設計計劃
- 電信基站建設危險性較大的分部分項工程清單及安全管理措施
- 車間生產安全技術發(fā)展規(guī)劃及安全技術措施計劃
- 2025年健康管理師(中級)健康管理技能鑒定實操試卷詳解
- 2025年高壓電工考試題庫:高壓繼電保護原理試題與電氣設備維修技術
- 2025年春季煙花爆竹安全作業(yè)操作證考試試卷(安全操作規(guī)范與安全操作技能培訓與標準)
- 2025年雅思考試閱讀專項模擬試卷:社會問題與解決方案
- 鋼叉叉擊技術課件
- 金銀花幼兒課件
- 【正版授權】 ISO 2903:2016 ISO metric trapezoidal screw threads - Tolerances
- 萬科物業(yè)服務工作手冊
- 人教版小學英語單詞表(完整版)
- 共享工作室租賃合同
- DL-T 1476-2023 電力安全工器具預防性試驗規(guī)程
- 無人機航空測繪與后期制作 課件 第二十二課時 ContextCapture傾斜攝影測量數(shù)據處理流程-空三加密
- 2024招投標法培訓
- 溧陽市安息堂規(guī)劃建設方案
- 學校準軍事化管理投標方案(技術方案)
- 2024年國家電網招聘之金融類題庫【易錯題】
- 2023年-2024年鐵道運輸行業(yè)-鐵路信號工競賽理論考試題庫附答案
評論
0/150
提交評論