操作系統(tǒng)課件-文件系統(tǒng).ppt
《操作系統(tǒng)課件-文件系統(tǒng).ppt》由會員分享,可在線閱讀,更多相關《操作系統(tǒng)課件-文件系統(tǒng).ppt(62頁珍藏版)》請在裝配圖網上搜索。
1 第五章文件管理 2 用戶總是把長期要保存的或暫時要保存的大量信息 組織成文件的形式存放在輔助存儲器中 成為計算機系統(tǒng)中的軟件資源 用戶希望的是能夠 按名存取 操作系統(tǒng)給我們提供了第五個功能 文件管理 主要有以下內容 5 1文件管理基本理論5 2Linux文件系統(tǒng)5 3Ext系列文件系統(tǒng)5 4虛擬文件系統(tǒng) 3 5 1文件管理基本理論 文件是具有名字的一組相關信息的有序集合 存放在外部存儲器中 組成 文件名 屬性 文件體文件名 有限長度的字符串 注意DOS Windows Linux系統(tǒng)文件名 文件屬性 包括文件類型 大小 物理位置 存取控制 建立或修改日期 文件體 4 文件分類不同的系統(tǒng)對文件的管理方式不同 按文件的性質和用途 系統(tǒng)文件 庫文件 用戶文件按文件中的數據形式 源文件 目標文件 可執(zhí)行文件按存取權限 r w x按照文件的內容 普通文件 目錄文件 特別文件 Linux系統(tǒng)中將設備也當作文件對待 5 文件系統(tǒng)是操作系統(tǒng)的一個重要組成部分 實現文件管理的一組程序和所管理的全部文件 文件與目錄的集合 以及管理文件所需要的一些數據結構的集合 文件系統(tǒng)通常以磁盤分區(qū)劃分 每個分區(qū)對應一個獨立的文件系統(tǒng) 文件系統(tǒng)管理的對象 文件 目錄 磁盤存儲空間對對象操縱和管理的軟件集合 文件管理系統(tǒng)的核心部分 文件系統(tǒng)的功能 按名存取 存儲空間管理 共享和保護等 大多是在這一層實現的 6 1文件控制塊 為了管理文件 文件系統(tǒng)為每個文件建立一個文件控制塊 FileControlBlock FCB FCB記錄了其的使用者和管理者所關心的所有信息 PCB 包括文件名 大小 存儲位置 修改和訪問時間 權限等 一個FCB就是一個文件目錄項 創(chuàng)建新文件時 建立FCB 隨著文件的操作 FCB的內容動態(tài)更新 文件被刪除時 其FCB刪除 計算機系統(tǒng)中通常存有大量的文件 系統(tǒng)須采用某種有效的形式來組織和管理這些文件 由于文件與文件的FCB一一對應 因此 管理文件就是管理文件的FCB 2目錄 文件系統(tǒng)采用目錄來組織文件 目錄是FCB的有序集合 通過目錄將所有的FCB分層分類地組織在一起 方便了文件的檢索操作 目錄本身需要長久保存的 也需以文件的形式存在 即目錄文件 內容是一組FCB列表 每個表項 目錄項 是一個文件的FCB 由于目錄本身也是文件 因此目錄的FCB也可以作為另一個目錄中的目錄項 從而構成目錄的層次關系 目錄的主要功能之一 實現文件的 按名存取 即用戶只需提供文件名就可以對文件進行各種操作 在查找目錄過程中 先將存放目錄文件的第一個盤塊中目錄調入內存然后把用戶所給定的文件名與目錄項 每個文件的FCB 中的文件名逐一比較 若未找到指定文件 便將下一個盤塊中的目錄項調入內存 很顯然 如果存放FCB的目錄文件過大 占多個磁盤塊 將會導致匹配文件名的過程要多次訪問磁盤 導致問題產生的原因就是目錄文件的每個目錄項即FCB占空間 如何改善 檢索目錄文件過程中只用到文件名 僅當找到一個目錄項時才從該目錄項中讀出該文件的物理地址 而其它一些對該文件進行描述的信息在檢索目錄時不會用到 故這些信息不需調入內存 于是 可以將文件名和文件描述信息分開 引入索引結點 將文件目錄中的每個目錄項組成改為文件名和指向該文件所對應結點 索引結點 IndexNode I節(jié)點 其中存放文件描述信息單獨形成 的指針所構成 引入I結點后 文件目錄僅由文件名及指向該文件所對應的i結點的指針所構成 目錄的主要功能之二 合理地組織文件 單級目錄 最簡單的文件目錄結構是在系統(tǒng)中建立一張目錄線性表 每個文件占一表目 由文件名和文件的說明和管理信息組成 即其FCB或文件目錄項 單級目錄能夠實現 按名存取 但存在查找速度慢 不允許重名 主要問題 不便于共享等問題 兩級目錄 系統(tǒng)設置一個主目錄 MFD 后 再為每個用戶設立一個用戶目錄 UFD MFD的每一項對應一個用戶的目錄文件 UFD每一項對應一個文件的FCB 多級目錄結構 將兩級目錄結構的層次關系加以推廣 就形成了多級目錄結構 即樹形目錄結構 系統(tǒng)中有一個根目錄 或根目錄文件 在這個目錄中可登記一般文件 也可以登記目錄文件 在每個目錄文件中可以登記一般文件 也可以登記目錄文件 現在 幾乎所有的操作系統(tǒng)都采用樹形目錄結構 3文件的組織 文件的組織有兩種 文件的邏輯結構 用戶對文件的組織方式 是指用戶思維中文件的結構 文件的物理結構 文件在存儲介質上的組織形式 主要是指磁盤上文件的結構 文件的邏輯結構記錄式文件 有結構式文件 文件是記錄的集合 每個記錄由彼此相關的域構成 記錄可按順序編號為記錄1 記錄2 又分定 不定長記錄文件 流式文件 無結構文件 是相關的有序字符的集合 在其內部不再對信息進行組織劃分 文件的長度為所含字符數 文件的物理結構一個文件存儲介質 格式化后就分成許多大小相等的單位 存儲塊 物理盤塊 在現代計算機系統(tǒng)中 一般來說 每個物理塊是一個磁盤的扇區(qū) 512字節(jié) 并給每個存儲塊有個編號 稱為物理塊號 文件的物理結構目前有三種基本結構 即連續(xù)文件結構 串聯(lián)文件結構和索引文件結構 連續(xù)文件結構 文件的數據存放在連續(xù)的物理存儲塊中 優(yōu)點 結構簡單 實現容易缺點 不利于文件動態(tài)擴充 創(chuàng)建文件時要求給出文件大小 用戶不方便 串聯(lián)文件結構 文件信息存于若干不一定連續(xù)的磁盤塊中 每個物理塊的最末一個字 或第一個字 作為鏈接字 指出后繼塊號 鏈首指針存在文件FCB中 文件的結尾塊的指針為 優(yōu)點 文件動態(tài)擴充和修改容易 圖中藍線 外存空間利用率高 缺點 順序存取效率高 隨機存取效率太低 如果訪問文件最后的內容 實際上是訪問整個文件 參考上圖 理解這句話 鏈接文件更適合于小型文件系統(tǒng) 為了克服串聯(lián)文件的存取效率太低的問題 引入文件映照技術 即把串聯(lián)文件中的鏈接字集中在一結構中 DOS WINDOWS系統(tǒng)采用 文件分配表 文件分配表 FileAllocationTable FAT 磁盤格式化后建立 用于記錄外存分配 FAT每個表項對應一個盤塊 標記為0至N 1 其中用來存放分配給文件的下一個盤塊號 放在內存中 整個系統(tǒng)一張FAT 分配給某文件的所有物理塊都在該表中標出 文件的首塊號記入FCB 顯示鏈接 引入FAT的問題 FAT需占用較大的內存空間 只有將整個FAT表調入內存才能找到對應的盤塊號 示例 若磁盤大小為1 2M 每個物理塊大小為512B 則共有2 4K個FAT表項 則 回顧存儲管理的單級頁表的問題 索引結構 不連續(xù)分配 每個文件建立一張索引表 每個表目指出文件內容與磁盤塊號的對應關系索引結構是當代計算機操作系統(tǒng)中普遍采用的結構 如UNIX系統(tǒng) LINUX系統(tǒng) 優(yōu)點 具備串聯(lián)結構所有的優(yōu)點 適合與隨機存放缺點 增加了索引的開銷 存取文件時首先要取得索引表 這樣就要增加一次訪盤操作 降低了文件訪問的速度 索引表是在建立文件時由文件管理機構自動建立的 并存放在與文件相同的文件卷 如同一磁帶或同一盤片 上 乍一看來 存取索引文件要訪問2次外存 why Infact 在訪問索引文件之前 總是首先 打開 其對應的索引表文件 把其索引表文件的一部分讀入主存 因此其后對文件的絕大多數訪問只要1次訪外 僅當更新索引表到另一部分時 才發(fā)生1次二度訪外的情況 回顧快表機制 回顧頁表地址映射 第1次訪問索引表文件 第2次根據索引得到的物理塊號再度訪問外存 索引表是在建立文件時由文件管理機構自動建立的 并存放在與文件相同的文件卷 如同一磁帶或同一盤片 上 乍一看來 存取索引文件要訪問2次外存 why Infact 在訪問索引文件之前 總是首先 打開 其對應的索引表文件 把其索引表文件的一部分讀入主存 因此其后對文件的絕大多數訪問只要1次訪外 僅當更新索引表到另一部分時 才發(fā)生1次二度訪外的情況 回顧快表機制 回顧頁表地址映射 第1次訪問索引表文件 第2次根據索引得到的物理塊號再度訪問外存 AnotherQuestion 回顧多級頁表 引入多級索引和混合索引 混合索引應用 UNIXsystem 系統(tǒng)UNIXsystem 混合索引動畫演示按文件的長度 占據數據塊的個數 分為小文件 中文件 大文件 巨文件 分別對應直接 一次間接 二次間接 三次間接的編址方式 系統(tǒng)支持的最大文件 10 256 2562 2563 512B 4文件存儲空間的管理 無論程序還是數據都是以文件形式存放在外存上 外存上文件存放的空間叫作 文件存儲空間 回顧內存空間的管理對文件存儲空間的管理工作包括 建立文件時為文件分配存儲空間 刪除文件時去配 以及修改文件時動態(tài)更新外存空間 系統(tǒng)將外存空間分成若干大小相等的物理塊 以塊 or簇 為單位來交換信息 文件存儲空間的管理 實際上就是一個空閑塊的組織和管理問題 三種常用的管理方法 空閑塊表 空閑塊鏈 位示圖 空閑塊表用空閑區(qū)表來管理文件存儲空間 做法是系統(tǒng)設置一張表格 表中的每一個表目記錄磁盤空間中的一個連續(xù)空閑盤區(qū)的信息 表目的內容至少包括 空閑塊區(qū)首塊地址 物理塊號 空白塊個數 空閑塊表適合于連續(xù)組織的文件 因為在分配文件時按文件尺寸申請一組連續(xù)的空閑塊 撤消文件時歸還這組連續(xù)的空閑塊區(qū) 與可變分區(qū)分配算法相似 回顧 可采用最先適應 最壞適應 最佳適應算法 由于空閑塊區(qū)的個數是動態(tài)改變的 導致空閑塊表目個數不能預先確定 因此可能會產生表目溢出 表較小時 或表目浪費 表較大時 空閑塊鏈把所有空閑塊的塊號用鏈表的形式連接在一起 適用于各種物理組織的文件 注意 對空閑塊鏈操作時應互斥 需要分配空白塊時從鏈首進行 所以在主存中要保存一個鏈首指針 它指向第一個空白塊 當回收時 把回收塊掛在空白塊鏈尾上 位示圖 bitmap 位示圖是外存空間的存儲映射圖 是系統(tǒng)在內存中劃分出的若干字節(jié)的集合 用來指示磁盤存儲情況 采用位示圖的具體做法是 為所要管理的磁盤設置一張位示圖 位示圖的大小 由磁盤的總塊數決定 位示圖中的每一位 bit 對應外存空間的一個物理塊 若該位為 1 表示對應塊被占用 0 表示空閑 設整個文件空間有n塊 那么可用n位構成位示圖 例 設某磁盤組共有16個柱面 每個柱面有16個磁頭尋道 每個磁道分16個扇區(qū) 整個磁盤空間的扇區(qū)數為 16 16 16 4096個若一個扇區(qū)被定義為一個存儲塊 用字長16位的存儲單元來構造位示圖 共需要256個字 分配 掃描位示圖 找到足夠的空閑塊 對應位為 0 分配 并將對應位改為 1 回收 將對應的位改為 0 即可 位示圖較小 系統(tǒng)啟動時進入內存 全部或部分 因此可實現高速的分配 NOTE 必須定時地把主存中的位示圖復制到外存保存 以防萬一文件系統(tǒng)發(fā)生故障 可以依據外存的位示圖副本修復文件系統(tǒng) UNIX系統(tǒng)系列磁盤空間管理方法 成組鏈接法UNIX系統(tǒng)采用空閑塊成組鏈接法對磁盤空間的空閑塊加以組織 每100個空閑塊劃歸1組 將各組中的盤塊號存放在其前組中的第1個空閑塊中 第1組的空閑盤塊號放入系統(tǒng)專用的超級塊 superblock 中 第1組不足100塊 文件存儲空間不會恰好為100的整數倍 所以第1組小于100 最后組99塊 若把超級塊看作是最后組的成員 則最后組也是100塊 其他各組均為100塊 Important 各組第1塊和超級塊 登記了下一組的盤塊號 對應設置一個容量為100的堆棧 另設一個棧指針指向棧0單元 棧1單元 其內保存空閑塊號 如果當前棧頂上升到棧99 那么意味著下1組有100個空閑塊被鏈接在一起 最后組第一塊 null標志 空閑塊的分配和回收通過棧指針的變化 棧0 棧99 來體現 分配 超級塊是否上鎖 是則等待 否則上鎖后轉 從棧指針指向的棧頂取得空閑塊號 若當前棧頂不是棧0單元 則轉 否則該塊是組中的第1塊 而第1塊不能直接分配 故轉 棧指針退1 置超級塊修改標記并解鎖 分配該空閑塊號給調用者 返回 把該塊內容復制到超級塊中 置超級塊修改標記并解鎖 把該塊分配給調用者 返回 回收 超級塊是否上鎖 是則等待 否則上鎖后轉 若棧未滿 棧指針 棧99 則轉 否則轉 棧指針進1 空閑塊號存入棧頂單元 置超級塊修改標記并解鎖后返回 把超級塊內的棧復制到當前回收的空閑塊中 再將該新空閑塊號填入超級塊中棧0單元 使棧指針指向棧底 置超級塊修改標記并解鎖后返回 注意 此時形成了1個新的空閑塊組 該組的第1塊正是剛回收的空閑塊 成組鏈接法 動畫演示 成組鏈接法的優(yōu)勢空閑塊成組鏈接法不占用額外空間 只是臨時借用每組的第1塊登記下一組的空閑塊號 分配與回收工作幾乎都在主存 超級塊 中進行 僅當分完1組或收回滿1組時才啟動I O通道工作 所以該方法在空間 時間開銷方面相當節(jié)省 5 2Linux文件系統(tǒng) Linux繼承了Unix文件系統(tǒng)的優(yōu)秀設計 并結合了一些現代文件系統(tǒng)的先進技術 在開放性 可擴展性和性能方面都十分出色 Linux文件系統(tǒng)的幾個主要特征 支持多種文件系統(tǒng) DOS Windows等OS只支持一種或幾種專用的文件系統(tǒng) 而Linux可以支持幾乎所有流行的文件系統(tǒng) 使得Linux可以和許多其他OS共存 允許訪問其他OS分區(qū)中的文件 樹型可掛載目錄結構 Linux采用樹型目錄 并引入分區(qū)掛載的概念 系統(tǒng)分區(qū)上的文件系統(tǒng)稱為根文件系統(tǒng) 其他所有分區(qū)的文件系統(tǒng)都要掛載 mount 到根文件系統(tǒng)的某個目錄下 文件 設備統(tǒng)一管理 Linux將設備抽象為文件 Linux使用標準的 樹型目錄結構 無論操作系統(tǒng)管理幾個磁盤分區(qū) 這樣的目錄樹只有一個 EXT系列是Linux的標準文件系統(tǒng) 系統(tǒng)把它的磁盤分區(qū)做為系統(tǒng)的根文件系統(tǒng) EXT以外的文件系統(tǒng)則安裝 mount 在某個目錄下 成為系統(tǒng)樹型結構中的一個分枝 1Linux文件系統(tǒng)的結構設計 Linux文件系統(tǒng)采用分層結構的設計 包括 磁盤I O系統(tǒng)層磁盤高速緩存磁盤文件系統(tǒng)層 也稱實際文件系統(tǒng) 虛擬文件系統(tǒng) 磁盤I O系統(tǒng)層 是文件系統(tǒng)所依賴的底層模塊 用于實現對存儲在磁盤上的文件數據的I O操作 由通用塊層 I O調度程序和設備驅動程序構成 實際文件系統(tǒng) Linux默認FS是Ext2 4 支持多種FS Linux專用 Ext2 4 JFS XFS RFS和NFS Unix sysv ufs bfs Minix minix XIA Windows或DOS FAT NTFS虛擬文件系統(tǒng) 為了屏蔽各個文件系統(tǒng)之間的差異 為用戶提供訪問文件的統(tǒng)一接口 Linux在具體的文件系統(tǒng)上增加了一個稱為虛擬文件系統(tǒng) VirtualFileSystem VFS 的抽象層 使得不同的文件系統(tǒng)按照同樣的模式呈現在用戶面前 磁盤高速緩存 回顧前述知識 5 3Ext系列文件系統(tǒng) Ext2 Extended 2 是專為Linux系統(tǒng)設計的 采用的是Unix文件系統(tǒng)的設計思想 運行穩(wěn)定 存取效率也很高 可支持最大4TB 1T 1024G 的磁盤分區(qū) 2000年以前一直是幾乎所有的Linux發(fā)行版的默認的文件系統(tǒng) Ext2的弱點在于它是一個非日志文件系統(tǒng) 所以不能在系統(tǒng)發(fā)生斷電或者其他系統(tǒng)故障時保證文件數據的完整性 Ext3 是一個基于Ext2開發(fā)的日志文件系統(tǒng) 具有健全的日志功能 可靠性很高 在非正常關機后 文件系統(tǒng)可在數十秒鐘內自行修復 Ext3容量達到32TB 單個文件最大2TB 目前Ext3已被許多Linux發(fā)行版作為默認安裝的文件系統(tǒng) Ext4 最顯著的改進是文件和文件系統(tǒng)的大小 Ext4容量達到1024PB 1P 1024T 而文件大小則可達到16TB 1Ext文件的結構 Ext文件的邏輯結構是無結構的流式文件 基于字節(jié)流的概念 使得Linux系統(tǒng)可以把目錄 設備等都當作文件來統(tǒng)一對待 Ext文件的物理結構采用易于擴展的多重索引方式 便于文件動態(tài)增長 同時也可以方便地實現順序和隨機訪問 Ext文件系統(tǒng)引入索引節(jié)點 i節(jié)點 來描述文件 Ext文件的FCB分為i節(jié)點和目錄項兩部分描述 目錄文件的各目錄項 directoryentry 僅由文件名和i節(jié)點號 指向該文件的其它屬性 構成 i節(jié)點占用一個單獨的存儲塊 包含文件說明信息 屬性 和索引表 指向磁盤塊 兩部分 i節(jié)點毀壞則整個文件不可用 Ext3文件的物理結構采用了多重索引方式 i節(jié)點中的索引表描述如右圖 索引表0 11項直接指向磁盤塊 稱為直接塊 12項是一個指針 指向一個間接索引表 間接索引表中的指針指向數據塊 稱為間接塊 同理13項 二次間接 14項 三次間接 示例 Ext2文件系統(tǒng)的默認塊大小1KB 則12K以下的小文件 不需要使用間接索引 大的文件 需要用到間接索 設每個指針占4字節(jié) 則一個間接索引表含有256個指針 對應256個間接塊 因此 大小在12K 268K的文件需要一次間接 同理 更大的文件使用二次間接甚至三次間接指針 得到最大約16GB的文件 2Ext目錄文件 同普通文件一樣 每個目錄文件對應一個目錄項 在其父目錄中 以及一個i節(jié)點 不同的是 其數據塊中存放的不是文件內容而是目錄項集合 包含了該目錄下的所有文件的目錄項 i節(jié)點號和文件名 頭兩個目錄項是 和 示例 目錄A下含有子目錄B和文件C D E 注意 文件D和E共享 3Ext文件定位 以查找Linux系統(tǒng)中 home zhuge memo文件為例 實現按名查找 5 4虛擬文件系統(tǒng) VFS 虛擬文件系統(tǒng)是Linux內核中的一個軟件層 用于給用戶空間程序提供文件系統(tǒng)接口 它也提供了內核中的一個抽象功能 允許不同的文件系統(tǒng)共存 VFS只存在于內存中 在系統(tǒng)啟動之后才建立完成 并在系統(tǒng)關閉時撤銷 VFS必須和實際文件系統(tǒng)一起才能構成一個完整的文件系統(tǒng) VFS屏蔽了各種實際文件系統(tǒng)的差異 為用戶提供了一種標準的文件操作接口 1VFS構成 VFS用C語言編寫 采用面向對象的程序設計思想 用統(tǒng)一的數據結構在內存中描述各種實際文件系統(tǒng) 包括 VFS超級塊 superblock 描述文件系統(tǒng)的基本信息 對應實際文件系統(tǒng)的超級塊 VFS目錄項 dentry 描述文件的路經分量 VFS索引節(jié)點 inode 描述文件的信息 對應文件的磁盤i節(jié)點 VFS文件 file 描述一個打開的文件 包括文件的當前使用信息 2VFS與進程接口 VFS為進程提供了訪問文件系統(tǒng)的統(tǒng)一接口 接口由fs struct和file struct結構構成 fs struct用于建立進程與文件系統(tǒng)間的聯(lián)系 主要包括文件系統(tǒng)的根目錄和當前目錄等信息 file struct用于建立進程和所有該進程打開的文件之間的聯(lián)系 3VFS緩存機制 緩存是在內存中開辟的存儲區(qū) 用于存放那些可能會重復使用的數據 提高效率 當VFS需要構造某個對象或存取磁盤數據時 先在緩存中查找 若有就直接使用 否則再啟動I O操作 傳輸數據 構造對象 VFS采用如下緩存機制 dentry inode緩存 用于緩存dentry和inode對象 頁面緩存 用于緩存文件的內容 頁面緩存 文件的inode對象將文件內容按位置映射到頁面緩存中 讀寫文件時直接訪問頁面緩存 只在必要時才啟動I O操作 完成磁盤中與緩存間的數據傳輸 4文件系統(tǒng)的操作 用戶進程使用VFS提供的一組系統(tǒng)調用來進行文件操作 VFS負責將這一組系統(tǒng)調用映射到實際文件系統(tǒng)的文件操作函數上 這是通過在VFS的超級塊 目錄項 i節(jié)點和文件結構中的操作集來實現的 這些操作集統(tǒng)一地定義了對超級塊 目錄項 i節(jié)點和文件的所有操作的接口 它們通過函數指針連接到文件系統(tǒng)的某個操作函數上 完成具體的文件操作 打開文件OPEN 根據文件的路徑名找到該文件的dentry inode和file對象 在進程的file struct結構中找到一個空閑的fd數組項 將file對象連到該表項中 返回該表項的下標 這個下標就是該打開文件的文件描述符 若文件已經打開 被其他進程打開 則其file結構已存在 此時只需找到該文件的file結構 將其連到本進程的file struct中的fd上 并將file結構中的引用計數f count加1 返回fd數組項的下標即可 關閉文件close 斷開進程與該文件之間的連接 即釋放該文件的file結構在file struct表中占用的fd 將f count減1 若為0釋放file結構 讀read 寫write文件 文件在讀 寫前必須是已經打開的 系統(tǒng)通過fd的值在進程的file struct中檢索fd數組 得到文件的file結構和i節(jié)點 根據file結構中的f mode和i節(jié)點中的i mode檢查文件的訪問權限 然后通過file結構的f op找到read 或write 操作函數 用這個函數完成數據的讀 寫 讀 寫操作的起始位置是file結構中的當前文件位置標志f pos 打開之初其值 0 讀 寫操作過程中動態(tài)更新 用lseek 設置f pos的值 ENDOFTHISCHAPTER- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 操作系統(tǒng) 課件 文件系統(tǒng)
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://m.kudomayuko.com/p-7694589.html