版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、滁州學(xué)院課程設(shè)計報告課程名稱:計算機(jī)操作系統(tǒng)設(shè)計題目:多用戶多級目錄文件系統(tǒng)系 別:計算機(jī)科學(xué)與技術(shù)系專 業(yè):計算機(jī)科學(xué)與技術(shù)專業(yè)組 別:第二組起止日期:2010年6月26日 2010年6月27日指導(dǎo)教師:陳海寶教研室主任:楊傳健計算機(jī)科學(xué)與技術(shù)系 2010年制課程設(shè)計任務(wù)書課程設(shè)計題目多用戶多級目錄文件系統(tǒng)組長金松學(xué)號2009220060班級09系別計算機(jī)科學(xué)與技術(shù)系專業(yè)計算機(jī)科學(xué)與技術(shù)組員金松林勇波李長安姜新胡強(qiáng)劉永海何世峰指導(dǎo)教師陳海寶課程設(shè)計目的(1)掌握文件存儲空間的管理(2)理解文件的物理結(jié)構(gòu)(3)掌握目錄結(jié)構(gòu)的實現(xiàn)(4)掌握文件操作的實現(xiàn)課程設(shè)計所需環(huán)境 和工具軟件環(huán)境: Win
2、dows XP/2000/2003 、Visual C+ 6.0硬件環(huán)境:CPU:至少Pentium100以上,建議使用 P4 2.0,內(nèi)存:至少512M以上,硬盤:至少 60G硬盤空間課程設(shè)計任務(wù)要求實現(xiàn)多用戶多級目錄文件系統(tǒng)課程設(shè)計工作進(jìn)度計劃序號起止日期工作內(nèi)容分工情況12009-12-15明確組內(nèi)成員的工 作與任務(wù)姜新:概要設(shè)計,數(shù)據(jù)結(jié)構(gòu)的設(shè)計 李長安:模塊流程圖的繪制22009-12-162009-12-17查閱資料、分析 題目、概要設(shè)計胡獨: 金松: 林勇波: 劉永海: 何世峰: 模塊的a用尸陽黨求,乂仕陽剛建、打開陽懼吠夜叮 詳細(xì)設(shè)計,文件的讀,文件的寫模塊的設(shè)計查閱資料,文件的
3、關(guān)閉,刪除模塊的設(shè)計創(chuàng)建及目錄,改變當(dāng)前目錄模塊的設(shè)計系統(tǒng)運行調(diào)試,列出文件目錄,退出系統(tǒng) 殳計32009-12-18詳細(xì)設(shè)計、編碼42009-12-19調(diào)試、運行、驗 收52009-12-202009-12-22后續(xù)不斷完善修改 等工作。教研室審核意見教研室主任簽字年月日3目錄1 . 設(shè)計思想說明 12 .系統(tǒng)結(jié)構(gòu)說明 13 .數(shù)據(jù)結(jié)構(gòu)說明 13.1 開發(fā)環(huán)境 13.2 數(shù)據(jù)存儲 23.3 數(shù)據(jù)結(jié)構(gòu) 23.3.1 數(shù)據(jù)塊在內(nèi)存中的物理結(jié)構(gòu) 23.3.2 文件索引結(jié)構(gòu) 23.3.3 文件系統(tǒng)中文件元素的結(jié)構(gòu)(含文件夾和文件) 23.3.4 文件系統(tǒng)結(jié)構(gòu) 33.3.5 文件系統(tǒng)的當(dāng)前運行狀態(tài) 3
4、3.3.6 用戶結(jié)構(gòu) 44 .各主要模塊的算法流程圖 44.1 整體思路概述 44.1.1 gin ( 用戶登錄 ) 44.1.2 系統(tǒng)初始化 54.1.3 文件的創(chuàng)建: create 54.1.4 文件的打開: open 64.1.5 文件的讀:read 64.1.6 文件的寫:write 84.1.7 文件關(guān)閉:close 94.1.8 刪除文件:delete 104.1.9 創(chuàng)建目錄(建立子目錄): mkdir 124.1.10 改變當(dāng)前目錄:cd 124.1.11 列出文件目錄:dir 144.1.12 退出: logout 154.2 算法流程圖 165 .使用說明書 175.1 登
5、錄 175.2 新建目錄和列出文件目錄 175.3 改變當(dāng)前目錄 175.4 文件的創(chuàng)建 185.5 文件的打開 185.6 文件的寫 185.7 文件的讀 185.8 文件的關(guān)閉 185.9 文件的刪除 195.10 返回根目錄 195.11 退出 196 .心得體會 19參考文獻(xiàn) 1921 .設(shè)計思想說明本課程設(shè)計要求設(shè)計一個模擬的多用戶多級目錄的文件系統(tǒng)。 通過具體的文件存儲空間的管理、文件的物理結(jié)構(gòu)、目錄結(jié)構(gòu)和文件操作的實現(xiàn),加深對文件系統(tǒng)內(nèi)部功能和實現(xiàn)過程的理解。2 . 系統(tǒng)結(jié)構(gòu)說明2.1 在內(nèi)存中開辟一個虛擬磁盤空間作為文件存儲器,在其上實現(xiàn)一個多用戶多目錄的文件系統(tǒng)。2.2 文件
6、物理結(jié)構(gòu)可采用顯式鏈接或其他方法。2.3 磁盤空閑空間的管理可選擇位示圖或其他方法。如果采用位示圖來管理文件存儲空問,并采用顯式鏈接分配方式,則可以將位示圖合并到FAT中。2.4 文件目錄結(jié)構(gòu)采用多用戶多級目錄結(jié)構(gòu),每個目錄項包含文件名、物理地址、長度等信息,還可以通過目錄項實現(xiàn)對文件的讀和寫的保護(hù)。2.5 設(shè)計一個較實用的用戶界面,方便用戶使用。要求提供以下相關(guān)文件操作:2.5.1 具有 login ( 用戶登錄 )2.5.2 系統(tǒng)初始化(建文件卷、提供登錄模塊)2.5.3 文件的創(chuàng)建: create2.5.4 文件的打開: open2.5.5 文件的讀:read2.5.6 文件的寫:wri
7、te2.5.7 文件關(guān)閉:close2.5.8 刪除文件:delete2.5.9 創(chuàng)建目錄(建立子目錄): mkdir2.5.10 改變當(dāng)前目錄:cd2.5.11 列出文件目錄:dir2.5.12 退出: logout3 . 數(shù)據(jù)結(jié)構(gòu)說明3.1 開發(fā)環(huán)境Visual C+6.0下的Win32控制臺程序,C語言3.2 數(shù)據(jù)存儲在內(nèi)存中申請1M 的空間來模擬存取設(shè)備,空間劃分為三部分,第一部分用來存放位示圖,用于標(biāo)識數(shù)據(jù)塊的使用情況,第二部分放置一個文件索引的數(shù)據(jù),用于快速的查找數(shù)據(jù),第三部分放置數(shù)據(jù)信息,第三部分劃分為 512塊,每塊512B,其256K,放 置在1M空間的最末端,由第三部分的大
8、小可知,第一部分只需 64B即可,中間的部分 用來存放文件索引。其他用到的存儲單元由系統(tǒng)分配。3.3 數(shù)據(jù)結(jié)構(gòu)3/ 文件塊編號/ 文件塊的容量/ 文件塊地址/ 下一個文件塊的地址3.3.1 數(shù)據(jù)塊在內(nèi)存中的物理結(jié)構(gòu)typedef struct fbunsigned FileBlockId;unsigned BLOCK_SIZE;char *FileBlockAddr;struct fb *next; FileBlock;3.3.2 文件索引結(jié)構(gòu)typedef structunsigned Index;char FileNameNAME_LEN;char ParentNameNAME_LEN;u
9、nsigned FileBlockId;unsigned FileLevel;unsigned effect; FileIndexElement;3.3.3 文件系統(tǒng)中文件元素的結(jié)構(gòu)(含文件夾和文件)typedef struct fse/ 文件元素索引編號/文件元素名/父節(jié)點名/ 文件元素所在物理塊編號/ 文件元素所在層次,層文件元素名為一個文件元素邏輯位置/ 是否有效, 0-無效, 1-有效struct fse *parent;/ 指向自己的父親節(jié)點/ 文件元素所在層次,層文件元素名為一個文件元素的邏輯位置/ 文件元素名/ 文件元素所在物理塊編號/ 文件元素的長度/ 文件元素類型/ 文件元素
10、可供操作的權(quán)限/ 文件創(chuàng)建者/ 創(chuàng)建時間, 日期格式: MM/DD/YYHH:MI:SS/ 最后一次修改時間/ 一個文件的數(shù)據(jù)開始地址, 文件夾時該值為 NULL/ 如果是一個文件表示文件當(dāng)前的狀態(tài)unsigned FileLevel;char FileNameNAME_LEN;unsigned FileBlockId;unsigned FileElemLen;FileType Type;FileAccess Access;User Creator;char CreateTime18;char LastModTime18;char *FileData;FileStatus fileStu; F
11、SElement;3.3.4 文件系統(tǒng)結(jié)構(gòu)typedef structchar *FSStart;unsigned SuperBlockSize;BitMap bm;unsigned BLOCK_COUNT;FileBlock *head;FileIndex FI; SuperBlock;3.3.5 文件系統(tǒng)的當(dāng)前運行狀態(tài)/ 文件系統(tǒng)的起始地址/ 文件系統(tǒng)的容量/ 文件系統(tǒng)中的位示圖/ 文件系統(tǒng)中文件塊的數(shù)量/ 文件系統(tǒng)中文件塊首地址/ 文件系統(tǒng)中的文件索引typedef structUser CurrentUser;unsigned FileLevel;FSElement *CurrPare
12、nt; char *CurrentPath; CurrentStatus;/ 當(dāng)前用戶/ 用戶所在文件系統(tǒng)層/ 當(dāng)前層的父節(jié)點/ 當(dāng)前路徑3.3.6用戶結(jié)構(gòu)用戶名稱用戶類型typedef structchar *UserName;UserType ut; User;44 .各主要模塊的算法流程圖4.1 整體思路概述首先系統(tǒng)要完成初始化的任務(wù),建立一個系統(tǒng),并等待用戶登錄使用文件系統(tǒng),用 戶登錄系統(tǒng)時,系統(tǒng)對用戶的用戶名和密碼進(jìn)行驗證(允許用戶用限次的嘗試,多最多 嘗試五次),如果用戶登錄成功,則系統(tǒng)進(jìn)入命令提示符狀態(tài),等用戶輸入指令后,系 統(tǒng)得用一個解釋程序按照指定方式處理用戶請求,用戶退出后
13、,系統(tǒng)轉(zhuǎn)入登錄模塊,等 待下一位用戶的登錄。4.1.1login ( 用戶登錄)內(nèi)置9個用戶名和密碼,用來驗證登錄用戶的身份,用戶登錄成功后會初始化當(dāng)前 用戶等一系列的系統(tǒng)當(dāng)前信息,默認(rèn)用戶的類型為普通用戶,如果用戶未能通過身份驗 證,提示用戶登錄失敗,退出整個系統(tǒng)。用戶登錄流程圖4.1.2 系統(tǒng)初始化系統(tǒng)的初始化要完成文件系統(tǒng)的建立,包括以下幾部分:請求內(nèi)存、設(shè)置位示圖、 初始化文件索引、初始化文本塊鏈表、初始化系統(tǒng)的當(dāng)前狀態(tài)、創(chuàng)建一個根目錄做為系 統(tǒng)的根。4.1.3 文件的創(chuàng)建:create只支持在當(dāng)前目錄創(chuàng)建文件,根據(jù)位示圖找到一個未使用的文件塊用來存放用戶的 文件信息,根據(jù)系統(tǒng)當(dāng)前狀態(tài)
14、來構(gòu)建一個文件系統(tǒng)元素放入到找到的文件塊中,新創(chuàng)建 的文件狀態(tài)為關(guān)閉,同時更新位示圖和文件索引。文件創(chuàng)建流程圖接收創(chuàng)建文件名稱操 作 失 敗建立又件索引結(jié)點并初始化為文件分配要求的盤塊建立文件結(jié)點并初始化銷前面操作void Create(char *filename)if (strcmp(filename, "") = 0)printf(" 對不起,文件名不能為空。n");elseCreateFileElement(protect, filename, file, NULL, CS.CurrParent);printf("%slocalhost
15、 %s$”, CS.CurrentUser.UserName, CS.CurrentPath);4.1.4 文件的打開:open只支持在當(dāng)前目錄進(jìn)行操作,通過用戶給定的文件名在文件索引中搜索到文件的物 理文件塊ID,找到該文件元素后,將文件當(dāng)前狀態(tài)置為打開。打開文件流程圖void Open(char *path)char display100;for (unsigned i = 0; i < FS.FI.FICount; i+) if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName)&& FS.
16、FI.FIStarti.FileLevel = CS.FileLevel&& FS.FI.FIStarti.effect = 1&& strcmp(FS.FI.FIStarti.FileName, path) = 0) FSElement *fselem = (FSElement *)FindBlankFileBlock(FS.FI.FIStarti.FileBlockId);fselem->fileStu = opened;strcpy(display,"文件已打開完畢。n");break;if (strcmp(display, &q
17、uot;") = 0) strcpy(display,"當(dāng)前目錄下沒有您要打開的文件。n");printf("%sn", display);printf("%slocalhost %s$”, CS.CurrentUser.UserName, CS.CurrentPath); 4.1.5文件的讀:read只支持在當(dāng)前目錄進(jìn)行操作,前提是用戶已執(zhí)行文件打開的命令,否則會提示用戶 先打開文件。通過類似的查找方式,找到文件的數(shù)據(jù)部分,將數(shù)據(jù)顯示到界面。讀文件流程圖void Read(char *path)char displayBLOCK_S
18、IZE;for (unsigned i = 0; i < FS.FI.FICount; i+)if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName) && FS.FI.FIStarti.FileLevel = CS.FileLevel&& FS.FI.FIStarti.effect = 1&&strcmp(FS.FI.FIStarti.FileName, path) = 0)FSElement *fselem = (FSElement *)FindBlankFil
19、eBlock(FS.FI.FIStarti.FileBlockId); if (fselem->fileStu = closed) strcpy(display,"文件尚未打開,請先打開文件。n"); else if (!fselem->FileData | !strcmp(fselem->FileData, "") strcpy(display,"文件無內(nèi)容。n");elsestrcpy(display, fselem->FileData);fselem->fileStu = reading;break
20、;if (strcmp(display, "") = 0)strcpy(display, " 當(dāng)前目錄下沒有您要打開的文件。 n");printf("%sn", display);printf("%slocalhost %s$", CS.CurrentUser.UserName, CS.CurrentPath);4.1.6 文件的寫: write只支持在當(dāng)前目錄進(jìn)行操作,前提是用戶已執(zhí)行文件打開的命令,否則會提示用戶先打開文件。 命令成功后, 會等待用戶的輸入, 用戶輸入完畢, 使用CTRL+D, 結(jié)束輸入,系統(tǒng)會
21、讀入用戶的輸入內(nèi)容,保存到相應(yīng)的文件塊(注意,如果用戶的輸入太多,會出現(xiàn)越界或截取用戶輸入一部分的現(xiàn)象)。void Write(char *path)char displayBLOCK_SIZE;memset(display, '0', BLOCK_SIZE);for (unsigned i = 0; i < FS.FI.FICount; i+)if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName)&& FS.FI.FIStarti.FileLevel = CS.FileLeve
22、l&& FS.FI.FIStarti.effect = 1&& strcmp(FS.FI.FIStarti.FileName, path) = 0)FSElement *fselem = (FSElement *)FindBlankFileBlock(FS.FI.FIStarti.FileBlockId);if (fselem->fileStu = closed)strcpy(display,文件尚未打開,請先打開文件。n");elseprintf("n 注意:文件最大不可以超過 d字節(jié)! !按CTRL+站 束編輯。 n",
23、BLOCK_SIZE - sizeof(FSElement);char c;int i = 0;while (c = getchar() != 0x04)displayi+ = c;getchar(); / 處理回車displayi = '0'strcpy(fselem->FileData, display);unsigned len=strlen(display)<BLOCK_SIZE - sizeof(FSElement) ? strlen(display) : BLOCK_SIZE - sizeof(FSElement);strncpy(fselem->
24、FileData, display, len);fselem->fileStu = writing;strcpy(display, " 文件寫入成功。 n"); break;printf("%sn", display);printf("%slocalhost %s$", CS.CurrentUser.UserName, CS.CurrentPath);4.1.7 文件關(guān)閉: close只支持在當(dāng)前目錄進(jìn)行操作, 通過用戶給定的文件名在文件索引中搜索到文件的物理文件塊 ID ,找到該文件元素后,將文件當(dāng)前狀態(tài)置為關(guān)閉。void C
25、lose(char *path)char display100;for (unsigned i = 0; i < FS.FI.FICount; i+)if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName)&& FS.FI.FIStarti.FileLevel = CS.FileLevel&& FS.FI.FIStarti.effect = 1&& strcmp(FS.FI.FIStarti.FileName, path) = 0) FSElement *fsele
26、m = (FSElement *)FindBlankFileBlock(FS.FI.FIStarti.FileBlockId);fselem->fileStu = opened;strcpy(display, " 文件已關(guān)閉。 n");break;if (strcmp(display, "") = 0)strcpy(display, " 當(dāng)前目錄下沒有您要關(guān)閉的文件。 n");printf("%sn", display);printf("%slocalhost %s$", CS.Curre
27、ntUser.UserName, CS.CurrentPath); 4.1.8 刪除文件: delete刪除文件并不真正清理文件的物理存儲內(nèi)容,只是將文件的有效狀態(tài)更改為無效。刪除文件流程圖void Delete(char *path) char display100=""for (unsigned i = 0; i < FS.FI.FICount; i+) if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName) && FS.FI.FIStarti.FileLevel = C
28、S.FileLevel&& FS.FI.FIStarti.effect = 1 &&strcmp(FS.FI.FIStarti.FileName, path) = 0) FS.FI.FIStarti.effect = 0;/ 刪除標(biāo)記strcpy(display," 文件已刪除。n"); break;if (strcmp(display, "") = 0) strcpy(display,"當(dāng)前目錄下沒有您要刪除的文件。n"); printf("%sn", display);print
29、f("%slocalhost %s$”, CS.CurrentUser.UserName, CS.CurrentPath);4.1.9 創(chuàng)建目錄(建立子目錄): mkdir只支持在當(dāng)前目錄創(chuàng)建文件,與創(chuàng)建文件有點類似,只是文件夾在文件元素結(jié)構(gòu)中 的數(shù)據(jù)部分為空。同樣會更新位示圖和文件索引。接收創(chuàng)建目錄名稱分配結(jié)點創(chuàng)建目錄并初始化錄創(chuàng)建失敗目錄創(chuàng)建成功創(chuàng)建目錄流程圖void Mkdir(char *filename)if (strcmp(filename, "") = 0)printf(" 對不起,文件夾名不能為空。n");elseCreateF
30、ileElement(protect, filename, dir, NULL, CS.CurrParent);printf("%slocalhost %s$", CS.CurrentUser.UserName, CS.CurrentPath);4.1.10 改變當(dāng)前目錄:cd只支持進(jìn)入下一層的一個文件夾和回到父目錄,實現(xiàn)方式為通過系統(tǒng)的當(dāng)前狀態(tài), 獲取一個指向目標(biāo)文件夾的指針做為當(dāng)前的父節(jié)點,改變當(dāng)前的路徑為目標(biāo)路徑,改變 用戶當(dāng)前所在層。按指針進(jìn)入下級目錄操作成功改變當(dāng)前目錄流程圖void Cd(char *path)int splitDisplayCou = 0;/分
31、割符出現(xiàn)的次數(shù)if(strcmp(path, ".") = 0) /返回上一級目錄,即父目錄if (CS.FileLevel > 0)CS.FileLevel-;CS.CurrParent = CS.CurrParent->parent;for (unsigned i = strlen(CS.CurrentPath) - 1; i > 0; i-) if (CS.CurrentPathi = '/')splitDisplayCou+;if (splitDisplayCou = 2)/已過濾掉最后一個目錄名break;char temppat
32、h1000;strcpy(temppath, CS.CurrentPath);memset(CS.CurrentPath, ''0', 1000);strncpy(CS.CurrentPath, temppath, i+1); elsechar display100 = ""for (unsigned i = 0; i < FS.FI.FICount; i+) if(!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName)&& FS.FI.FIStarti.Fi
33、leLevel = CS.FileLevel&& FS.FI.FIStarti.effect = 1&& strcmp(FS.FI.FIStarti.FileName, path) = 0) strcpy(display, " 文件存在。 n");CS.CurrParent = (FSElement *)FindBlankFileBlock(FS.FI.FIStarti.FileBlockId);CS.FileLevel+;strcat(CS.CurrentPath, path);strcat(CS.CurrentPath, "/&
34、quot;); break;if (strcmp(display, "") = 0)/ 文件夾不存在,什么都不做printf(" 當(dāng)前目錄下沒有您要進(jìn)入的文件夾。 n"); printf("%slocalhost %s$", CS.CurrentUser.UserName, CS.CurrentPath);4.1.11 列出文件目錄: dir只支持在當(dāng)前目錄進(jìn)行操作, 根據(jù)文件元素的名稱文件元素所在層父節(jié)點可以 唯一的標(biāo)識一個文件元素的關(guān)系在文件索引中搜索出當(dāng)前層的所有文件元素。void Dir(char *path)char dis
35、play1000;memset(display, '0', 1000);/ 查找顯示內(nèi)容for (unsigned i = 0; i < FS.FI.FICount; i+)if (!strcmp(FS.FI.FIStarti.ParentName, CS.CurrParent->FileName)&& FS.FI.FIStarti.FileLevel = CS.FileLevel&& FS.FI.FIStarti.effect = 1)strcat(display, FS.FI.FIStarti.FileName);strcat(d
36、isplay, "tt");printf("%sn", display);printf("%slocalhost %s$", CS.CurrentUser.UserName, CS.CurrentPath); 4.1.12 退出: logout用戶請求退出時,跳出命令處理,提示用戶退出系統(tǒng),轉(zhuǎn)入到登錄模塊等待下一個用戶的登錄。144.2算法流程圖16NI/' 程序入口點程序初始化1 O含分配內(nèi)存空間2 .初始化位示圖3 .初始化文件系統(tǒng)索引4 .初始化文本塊5 .初始化系統(tǒng)的運行狀態(tài)6 .創(chuàng)建一個根目錄運行命令交互模塊,處理用
37、戶的各種指令提示用戶登錄失敗告知用戶系統(tǒng)初始化失敗清理資源,退出系統(tǒng)算法流程圖5 .使用說明書5.1 登錄三 *C: Docu*ent s and Sett ings.Ad*inist rat內(nèi)置設(shè)了 useU到user8八個普通用戶和1個超級用戶root,密碼與用戶名相同。登錄時 如果輸入用戶名和密碼錯誤次數(shù)多于 8次,則退出程序。輸入密碼時采用了一種不回顯 的方式,雖然屏幕上沒有顯示輸入的密碼,其實密碼已經(jīng)輸入了系統(tǒng),這樣做可以提高 系統(tǒng)的安全性?,F(xiàn)在用超級用戶root登錄后出現(xiàn)如下界面:/表示根目錄,$后面可以輸 入命令。lo<J in i'Oo t passv?o t'd"rootSlocalliot /$圖5.15.2 新建目錄和列出文件目錄由于第一次啟動系統(tǒng),故根目錄下沒有任何東西,這點可以通過輸入命令dir來驗證,故為了演示,先建立一個目錄 hhh,在$后輸入命令,mkdir hhh ,按回車,然后再用命令dir查看根目錄下信息,此時有一個文件 hhh,如下:rooteiocalhostZJSdii-21mkdir hh>i / JSdirErootPlocalhct Croat I? localhost hhhL rootPlocalhost圖5.25.3 改變當(dāng)前目錄系統(tǒng)啟動后,默認(rèn)路徑為根目錄/,此時若要進(jìn)入剛
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:教育現(xiàn)代化視域下我國學(xué)校體育數(shù)字化評估監(jiān)測體系構(gòu)建研究
- 2025版放射性物質(zhì)運輸安全責(zé)任書3篇
- 二零二五年快遞行業(yè)包裝回收利用合同范本3篇
- 2025版教育培訓(xùn)外協(xié)合同協(xié)議書3篇
- 二零二五不銹鋼罐體生產(chǎn)質(zhì)量管理體系認(rèn)證合同3篇
- 2024版汽車修理工勞動合同模板格式
- 2025年度特色民宿租賃運營管理合同3篇
- 2025年度個人收入證明專業(yè)審核與制作合同3篇
- 二零二五年度醫(yī)院門衛(wèi)醫(yī)療服務(wù)合同
- 送法進(jìn)企業(yè):2025年度總工會合作合同2篇
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 人教版初中語文2022-2024年三年中考真題匯編-學(xué)生版-專題08 古詩詞名篇名句默寫
- 2024-2025學(xué)年人教版(2024)七年級(上)數(shù)學(xué)寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- 醫(yī)療行業(yè)軟件系統(tǒng)應(yīng)急預(yù)案
- 使用錯誤評估報告(可用性工程)模版
- 《精密板料矯平機(jī) 第2部分:技術(shù)規(guī)范》
- 2024光伏發(fā)電工程交流匯流箱技術(shù)規(guī)范
- 旅游活動碳排放管理評價指標(biāo)體系構(gòu)建及實證研究
- 2022年全國職業(yè)院校技能大賽-電氣安裝與維修賽項規(guī)程
- 小學(xué)德育養(yǎng)成教育工作分層實施方案
評論
0/150
提交評論