![組織與數(shù)據(jù)存儲系統(tǒng)其他功能實現(xiàn)_第1頁](http://file4.renrendoc.com/view11/M02/3C/28/wKhkGWW6EjyAEWU8AAC9ehIDtNg839.jpg)
![組織與數(shù)據(jù)存儲系統(tǒng)其他功能實現(xiàn)_第2頁](http://file4.renrendoc.com/view11/M02/3C/28/wKhkGWW6EjyAEWU8AAC9ehIDtNg8392.jpg)
![組織與數(shù)據(jù)存儲系統(tǒng)其他功能實現(xiàn)_第3頁](http://file4.renrendoc.com/view11/M02/3C/28/wKhkGWW6EjyAEWU8AAC9ehIDtNg8393.jpg)
![組織與數(shù)據(jù)存儲系統(tǒng)其他功能實現(xiàn)_第4頁](http://file4.renrendoc.com/view11/M02/3C/28/wKhkGWW6EjyAEWU8AAC9ehIDtNg8394.jpg)
![組織與數(shù)據(jù)存儲系統(tǒng)其他功能實現(xiàn)_第5頁](http://file4.renrendoc.com/view11/M02/3C/28/wKhkGWW6EjyAEWU8AAC9ehIDtNg8395.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
17:25:0616.1文件6.2文件目錄6.3文件組織與數(shù)據(jù)存儲6.4文件系統(tǒng)其他功能的實現(xiàn)第六章文件管理17:25:062一、文件的存儲二、文件的邏輯結(jié)構(gòu)三、文件的物理結(jié)構(gòu)6.3文件組織與數(shù)據(jù)存儲17:25:0631、卷一盤磁帶、一張光盤、一個硬盤分區(qū)或一張軟盤片都稱為一卷,卷是存儲介質(zhì)的物理單位。一個卷可以保存一個文件或多個文件,也可以一個文件保存在多個卷上。物理卷和物理設(shè)備不總是一致的。一、文件的存儲(1)17:25:0642、塊(物理記錄)塊是存儲介質(zhì)上連續(xù)信息所組成的一個區(qū)域,也叫做物理記錄。塊是主存儲器和輔助存儲設(shè)備進(jìn)行信息交換的物理單位,每次總是交換一塊或整數(shù)塊信息。不同類型的存儲介質(zhì),塊的長短常常各不相同;同一類型的存儲介質(zhì),塊的長短也可以不同。一、文件的存儲(2)17:25:0651、文件組織文件組織指文件中信息的配置和構(gòu)造方式,應(yīng)該從文件的邏輯結(jié)構(gòu)和組織及文件的物理結(jié)構(gòu)和組織兩方面考慮。二、文件的邏輯結(jié)構(gòu)(1)17:25:0662、文件的邏輯結(jié)構(gòu)文件的邏輯結(jié)構(gòu)和組織是從用戶觀點出發(fā),研究用戶概念中的信息組織方式,這是用戶能觀察到,可加以處理的數(shù)據(jù)集合。數(shù)據(jù)可獨立于物理環(huán)境構(gòu)造。相關(guān)數(shù)據(jù)的集合構(gòu)成邏輯文件。3、文件的邏輯結(jié)構(gòu)形式分兩種形式:流式文件記錄式文件二、文件的邏輯結(jié)構(gòu)(2)17:25:0674、流式文件(字節(jié)流文件)指文件內(nèi)的數(shù)據(jù)不再組成記錄,只是依次的一串信息集合,可以看成是只有一個記錄的記錄式文件。大多數(shù)現(xiàn)代操作系統(tǒng)對用戶僅僅提供流式文件,記錄式文件往往由高級語言或數(shù)據(jù)庫管理系統(tǒng)提供。二、文件的邏輯結(jié)構(gòu)(3)17:25:0685、流式文件的操作文件常按長度來讀取所需信息,也可用插入特殊字符作為分界。1)從指定的位置讀寫若干字節(jié),讀寫之后讀寫位置指針自動后移所讀字節(jié)數(shù)的距離fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);在文件fp中和buffer之間交換size×count個字節(jié)2)改變讀寫指針值fseek(文件描述符,位移量,起始點):讀寫指針置于文件位移量+起始點rewind(文件描述符):讀寫指針置于文件開頭二、文件的邏輯結(jié)構(gòu)(4)17:25:0696、記錄式文件是一種有結(jié)構(gòu)的文件,包含若干邏輯記錄,邏輯記錄是文件中按信息在邏輯上的獨立含意劃分的信息單位。邏輯記錄的概念被應(yīng)用于許多場合,特別象數(shù)據(jù)庫管理系統(tǒng)中已是必不可少的了。如單位職工工資文件、學(xué)生信息文件、儲戶信息文件等二、文件的邏輯結(jié)構(gòu)(5)17:25:06107、記錄式文件分類1)記錄式順序文件:訪問該類文件時給出文件名和記錄號2)記錄式索引順序文件:該類文件建立有索引表,表項包含記錄鍵和索引指針,記錄鍵由應(yīng)用程序指定,索引指針指向記錄。執(zhí)行讀取操作時給出文件名和記錄鍵,返回指定記錄執(zhí)行寫操作時給出文件名和記錄鍵,系統(tǒng)在所選擇的文件位置處插入記錄并建立索引表項二、文件的邏輯結(jié)構(gòu)(6)17:25:06118、成組和分解1)邏輯記錄和塊的關(guān)系(如同頁和內(nèi)存物理塊的關(guān)系)邏輯記錄是按信息在邏輯上的獨立含義劃分的單位,塊是存儲介質(zhì)上連續(xù)信息所組成的區(qū)域。一個邏輯記錄被存放到文件存儲器的存儲介質(zhì)上時,可能占用一塊或多塊,也可以一個物理塊包含多個邏輯記錄。二、文件的邏輯結(jié)構(gòu)(7)17:25:06122)記錄成組若干個記錄合并成一組,寫入一個塊叫做記錄成組,這時每塊中的邏輯記錄的個數(shù)稱塊因子。成組操作的過程:先在系統(tǒng)輸出緩沖區(qū)內(nèi)湊滿一塊后才將緩沖區(qū)內(nèi)信息寫到存儲介質(zhì)上。3)記錄分解當(dāng)存儲介質(zhì)上的一個物理塊讀進(jìn)系統(tǒng)輸入緩沖區(qū)后,把邏輯記錄從塊中分離出來的操作叫記錄的分解。記錄成組和分解處理節(jié)省存儲空間,減少I/O次數(shù)。二、文件的邏輯結(jié)構(gòu)(8)17:25:0613二、文件的邏輯結(jié)構(gòu)(9)邏輯記錄1邏輯記錄2邏輯記錄3物理記錄邏輯記錄用戶緩沖區(qū)系統(tǒng)緩沖區(qū)記錄成組和分解處理過程17:25:06149、記錄格式
格式F:定長記錄格式V:變長記錄格式S:跨塊記錄10、記錄鍵主鍵,次鍵單鍵記錄,多鍵記錄二、文件的邏輯結(jié)構(gòu)(10)17:25:0615文件和數(shù)據(jù)的邏輯結(jié)構(gòu)是面向用戶和應(yīng)用程序的。1、文件的物理結(jié)構(gòu)和組織是指邏輯文件在物理存儲空間中存放方法和組織關(guān)系。這時文件看作為物理文件,即相關(guān)物理塊的集合。文件的存儲結(jié)構(gòu)涉及:塊的劃分、記錄的排列、索引的組織、信息的搜索,其優(yōu)劣直接影響文件系統(tǒng)的性能。三、文件的物理結(jié)構(gòu)(1)17:25:06162、構(gòu)造文件物理結(jié)構(gòu)的方法1)第一類計算法設(shè)計映射算法,通過線性計算法、雜湊法等,以記錄鍵的計算結(jié)果作為對應(yīng)的物理塊地址,找到所需記錄。直接尋址文件、計算尋址文件、順序文件均屬此類。2)第二類指針法設(shè)置專門指針,指明相應(yīng)記錄的物理地址或表達(dá)各記錄之間的關(guān)聯(lián)。索引文件、索引順序文件、連接文件等均屬此類。三、文件的物理結(jié)構(gòu)(2)17:25:06173、順序文件(連續(xù)文件)一個文件中邏輯上連續(xù)的信息存放到存儲介質(zhì)的相鄰物理塊上便形成順序文件(連續(xù)文件)。順序文件是邏輯記錄順序和物理記錄順序完全一致的文件,通常,記錄按出現(xiàn)的次序被讀出或修改。FCB中保存第一個物理塊地址和文件信息塊的總塊數(shù)。一切存于磁帶上的文件都只能是順序文件,卡片機(jī)、打印機(jī)、紙帶機(jī)上的文件也屬于順序文件。存儲在磁盤上的文件也可以組織成順序文件。三、文件的物理結(jié)構(gòu)(3)17:25:0618順序文件的優(yōu)點:順序存取記錄時速度較塊。順序文件的缺點:建立文件前需要預(yù)知文件長度,修改、插入和增加文件記錄有困難,對直接存儲器作連續(xù)分配會造成空閑塊的浪費。順序文件變種緊湊順序文件:邏輯記錄連續(xù)地存儲在存儲介質(zhì)的相鄰物理塊上的文件,插入和刪除要移動大量記錄。擴(kuò)展順序文件:在文件內(nèi)設(shè)有空白區(qū)域以備預(yù)先估計的添加記錄使用。連接順序文件:文件中設(shè)置溢出區(qū),添加的記錄通過連接方法保存到溢出區(qū)中。三、文件的物理結(jié)構(gòu)(4)17:25:0619劃分順序文件:在直接存取設(shè)備上模擬順序文件的一種方法。把一個文件劃分成幾個能獨立存取的順序子文件。每個文件由數(shù)據(jù)區(qū)和索引區(qū)組成,數(shù)據(jù)區(qū)內(nèi)存放各個子文件,索引區(qū)內(nèi)存放各個子文件的索引,包括名字、地址、長度和狀態(tài)等。三、文件的物理結(jié)構(gòu)(5)17:25:06204、連接文件(串聯(lián)文件)連接文件使用連接字,又叫指針來表示文件中各個記錄之間的關(guān)系。第一塊文件信息的物理地址由文件目錄給出。每一塊的連接字指出文件下一個物理塊位置。三、文件的物理結(jié)構(gòu)(6)文件目錄項……017:25:0621連接文件(串聯(lián)文件)的優(yōu)缺點優(yōu)點不要求物理塊連續(xù),便于增、刪、改。缺點僅適宜于順序存取。三、文件的物理結(jié)構(gòu)(7)17:25:0622三、文件的物理結(jié)構(gòu)(8)1811130PTRS[6]=18、PTRS[18]=11、PTRS[11]=13、PTRS[13]=NULLFCB→6123456187891011131213NULL141516171811PTRS17:25:06235、直接文件(哈希文件)記錄的關(guān)鍵字與其地址間可通過某種方式建立對應(yīng)關(guān)系,利用這種關(guān)系實現(xiàn)存取的文件叫直接文件。技術(shù):散列法或雜湊法,以關(guān)鍵字為自變量,以物理地址為因變量構(gòu)造映射函數(shù)實現(xiàn)難點:沖突,不同的關(guān)鍵字映射到同樣的物理地址。沖突解決方法:順序探查法兩次散列法拉鏈法獨立溢出區(qū)三、文件的物理結(jié)構(gòu)(9)17:25:06246、索引文件索引結(jié)構(gòu)是實現(xiàn)非連續(xù)存儲的另一種方法,適用于數(shù)據(jù)記錄保存在隨機(jī)存取存儲設(shè)備上的文件。系統(tǒng)為每個文件建立一張索引表,每個表目包含一個記錄的鍵(或邏輯記錄號)及其記錄數(shù)據(jù)的存儲地址,這類文件稱索引文件。索引文件在文件存儲器上分兩個區(qū):索引區(qū)和數(shù)據(jù)區(qū)。FCB可存放索引表或其地址三、文件的物理結(jié)構(gòu)(10)17:25:0625三、文件的物理結(jié)構(gòu)(11)…盤塊號…文件控制塊(a)無鍵索引表塊塊塊兩種索引文件結(jié)構(gòu)示意圖…Key1記錄鍵盤塊號Key2……KeyN塊塊塊(b)有鍵索引表文件控制塊17:25:0626訪問索引文件需兩步操作:第一步查找文件索引第二步以相應(yīng)鍵登記項內(nèi)容作為地址而獲得記錄數(shù)據(jù)。索引文件的優(yōu)點:不要求物理塊連續(xù),便于直接存取,便于文件的增、刪、改。索引文件的缺點:增加了索引表的空間開銷和查找時間。三、文件的物理結(jié)構(gòu)(12)17:25:0627索引文件中的索引項分為兩類一類是稠密索引,即對每個數(shù)據(jù)記錄,在索引表里都有一個索引項。另一類是稀疏索引,它對每一組數(shù)據(jù)記錄有一索引項。索引順序文件索引順序文件與索引文件結(jié)構(gòu)類似,不同之處在于索引表不是為每個記錄建立一個表項,而是為一組記錄建立一個表項。三、文件的物理結(jié)構(gòu)(13)17:25:0628索引順序文件能象順序文件一樣進(jìn)行快速順序處理,既允許按物理存放次序(記錄出現(xiàn)的次序);也允許按邏輯順序(由記錄主鍵決定的次序)進(jìn)行處理。當(dāng)索引表很大時,索引表占的物理塊數(shù)也會很多,這就需要為索引表再建索引表,形成多級索引分配結(jié)構(gòu)。三、文件的物理結(jié)構(gòu)(14)17:25:06297、UNIX/Linux多重索引結(jié)構(gòu)UNIX/Linux采用了多重索引結(jié)構(gòu),可以同時采用一級、二級、三級索引分配結(jié)構(gòu),以滿足不同大小文件的需要。每個文件的索引表為13個索引項,每項4個字節(jié),登記一個存放文件信息的物理塊號。最前面10項直接登記存放文件信息的物理塊號,叫直接尋址。三、文件的物理結(jié)構(gòu)(15)17:25:0630如果文件大于10塊,則利用第11項指向一個物理塊,該塊中最多可放256個文件物理塊的塊號,叫做一次間接尋址。對于更大的文件還可利用第12和第13項作為二次和三次間接尋址。UNIX/Linux采用了三級索引結(jié)構(gòu)后,文件最大可達(dá)16兆個物理塊。10+256+256^2+256^3三、文件的物理結(jié)構(gòu)(16)三、文件的物理結(jié)構(gòu)(17)01234567891011120…127……0…1270…1270…127…………0…1270…1270…127…0…1270…127…0…1270…127………………………UNIX/Linux多重索引結(jié)構(gòu)17:25:0632三、文件的物理結(jié)構(gòu)(18)文件名索引節(jié)點號文件19文件26文件33文件48文件510文件長度其它屬性addr[0]addr[1]……addr[9]addr[10]addr[11]addr[12]123…n基本目錄項表索引節(jié)點表基本目錄項表索引節(jié)點表磁盤文件區(qū)…………………………三次間址17:25:0633一、文件系統(tǒng)調(diào)用的實現(xiàn)二、文件共享三、文件空間管理四、內(nèi)存映射文件五、虛擬文件系統(tǒng)6.4文件系統(tǒng)其他功能的實現(xiàn)17:25:06341、文件系統(tǒng)調(diào)用種類文件系統(tǒng)提供給用戶程序的一組系統(tǒng)調(diào)用包括:建立打開關(guān)閉撤銷讀寫控制通過這些系統(tǒng)調(diào)用用戶能獲得文件系統(tǒng)的各種服務(wù)。一、文件系統(tǒng)調(diào)用的實現(xiàn)(1)17:25:06352、打開文件表(外存目錄的緩沖)為了避免重復(fù)訪問外存查找文件,系統(tǒng)把常用和正在使用的那些文件目錄復(fù)制進(jìn)主存。系統(tǒng)為每個用戶進(jìn)程建立一張內(nèi)存打開文件表,也稱活動文件表,打開文件時,把該文件的目錄復(fù)制到打開文件表中。當(dāng)不再使用該文件時,使用“關(guān)閉”操作切斷用戶進(jìn)程和該文件目錄的聯(lián)系。同時,若該目錄已被修改過,則應(yīng)更新輔存中對應(yīng)的文件目錄。一、文件系統(tǒng)調(diào)用的實現(xiàn)(2)17:25:06363、Linux文件系統(tǒng)磁盤組織結(jié)構(gòu)
Linux文件系統(tǒng)將磁盤分為3個功能區(qū):1)超級塊:占用1#號塊,存放文件系統(tǒng)的結(jié)構(gòu)和管理信息,如記錄:inode表所占的盤塊數(shù)文件數(shù)據(jù)所占的盤塊數(shù)主存中登記的空閑塊的物理塊號主存中登記的空閑inode數(shù)主存中登記的空閑inode編號等一、文件系統(tǒng)調(diào)用的實現(xiàn)(3)17:25:06372)索引節(jié)點區(qū):2#~(k+1)#塊,存放inode表,每個文件都有一個inode,所有inode大小相同。3)數(shù)據(jù)區(qū):(k+2)#~n#為數(shù)據(jù)塊,存儲文件內(nèi)容。一、文件系統(tǒng)調(diào)用的實現(xiàn)(4)磁盤磁盤文件卷0#1#2#……………引導(dǎo)塊超級塊磁盤inode區(qū)磁盤信息區(qū):目錄塊和數(shù)據(jù)塊磁盤文件磁盤組織結(jié)構(gòu)17:25:0638一、文件系統(tǒng)調(diào)用的實現(xiàn)(5)磁盤文件卷inode文件名inodeinode文件名inode磁盤文件0#1#2#……數(shù)據(jù)塊數(shù)據(jù)塊目錄塊…數(shù)據(jù)塊數(shù)據(jù)塊目錄塊引導(dǎo)塊磁盤inode區(qū)磁盤信息區(qū):目錄塊和數(shù)據(jù)塊inode……inode…超級塊目錄項、inode和數(shù)據(jù)塊的關(guān)系17:25:06394、兩個重要數(shù)據(jù)結(jié)構(gòu)1)用戶打開文件表進(jìn)程PCB結(jié)構(gòu)中保留一個files_struct,稱為用戶打開文件表或文件描述符表。表項的序號是文件描述符fd,每項登記了系統(tǒng)打開文件表的入口指針fp。通過此系統(tǒng)打開文件表項連接到打開文件的活動inode節(jié)點。一、文件系統(tǒng)調(diào)用的實現(xiàn)(6)17:25:0640一、文件系統(tǒng)調(diào)用的實現(xiàn)(7)…………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=2讀寫位移f_offset索引節(jié)點指針f_inode=10………………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count讀寫位移f_offset索引節(jié)點指針f_inode=18…………2130用戶進(jìn)程10…21045…80255……2180用戶進(jìn)程2089用戶打開文件表用戶打開文件表系統(tǒng)打開文件表…………讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=120……讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=300…………0…1899活動inode表3010………OS……兩個進(jìn)程通過相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0641一、文件系統(tǒng)調(diào)用的實現(xiàn)(8)…………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=1讀寫位移f_offset索引節(jié)點指針f_inode=10………………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=1讀寫位移f_offset索引節(jié)點指針f_inode=10…………2130用戶進(jìn)程10…21045…80255……1280用戶進(jìn)程2089用戶打開文件表用戶打開文件表系統(tǒng)打開文件表…………讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=2物理地址i_addr[40]索引節(jié)點號i_number=120……讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=300…………0…1899活動inode表3010………OS……兩個進(jìn)程通過不相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0642一、文件系統(tǒng)調(diào)用的實現(xiàn)(9)用戶進(jìn)程1用戶進(jìn)程2用戶打開文件表用戶打開文件表系統(tǒng)打開文件表活動inode表OS兩個進(jìn)程通過不相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0643一、文件系統(tǒng)調(diào)用的實現(xiàn)(10)用戶進(jìn)程1用戶進(jìn)程2用戶打開文件表用戶打開文件表系統(tǒng)打開文件表活動inode表OS兩個進(jìn)程通過相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:06442)系統(tǒng)打開文件表為解決多用戶進(jìn)程共享文件、父子進(jìn)程共享文件而設(shè)置的數(shù)據(jù)結(jié)構(gòu)file_struct,內(nèi)存開辟了最多可登記256項的系統(tǒng)打開文件表區(qū)域。打開文件時,通過此表項把用戶打開文件表的表項與文件活動inode連接起來,實現(xiàn)數(shù)據(jù)訪問和信息共享。一、文件系統(tǒng)調(diào)用的實現(xiàn)(11)17:25:0645一、文件系統(tǒng)調(diào)用的實現(xiàn)(12)主存i_numberi_counti_numberi_count…i_addr[40]…i_numberi_count…i_addr[40]f_flagf_count…f_inode
…用戶打開文件表files_struct文件描述符fd系統(tǒng)打開文件表file_struct一個打開文件的file活動inode活動inode主存活動inode表磁盤磁盤文件卷0#1#2#……………引導(dǎo)塊超級塊磁盤inode區(qū)磁盤信息區(qū):目錄塊和數(shù)據(jù)塊磁盤文件file的指針fp用戶空間內(nèi)核空間文件系統(tǒng)內(nèi)部結(jié)構(gòu)17:25:06465、建立文件1)系統(tǒng)調(diào)用C語言格式intfd,mode;char*filenamep;fd=creat(filenamep,mode);功能:以mode規(guī)定的方式建立文件filenamep,若成功,則返回文件描述符fd一、文件系統(tǒng)調(diào)用的實現(xiàn)(13)17:25:0647參數(shù):filenamep—文件名路徑字符串指針mode—存取權(quán)限,創(chuàng)建成功后,存取權(quán)限記錄在相應(yīng)索引節(jié)點的i_mode中,fd—文件描述符,即用戶打開文件表中相應(yīng)文件表項的序號如fd=creat(“/home/home1/newfile”,0775);一、文件系統(tǒng)調(diào)用的實現(xiàn)(14)17:25:06482)建立系統(tǒng)調(diào)用的主要工作①為新文件newfile分配磁盤索引節(jié)點inode和活動索引節(jié)點inode,并把索引節(jié)點inode編號與文件分量名newfile組成新目錄項,記到目錄/home/home1中。②在新文件所對應(yīng)的活動索引節(jié)點inode中置初值,如置存取權(quán)限i_mode為0775,連接計數(shù)i_nlink置為1等。③為新文件分配用戶打開文件表項和系統(tǒng)打開文件表項,置表項初值,如f_flag置寫標(biāo)志,讀寫位移f_offset清“0”。一、文件系統(tǒng)調(diào)用的實現(xiàn)(15)17:25:0649④把用戶打開文件表項和系統(tǒng)打開文件表項及文件對應(yīng)的活動索引節(jié)點用指針連接起來,把文件描述字fd返回給調(diào)用者。一、文件系統(tǒng)調(diào)用的實現(xiàn)(16)17:25:06506、刪除文件1)刪除系統(tǒng)調(diào)用形式為:unlink(filenamep)功能:如果所有用戶不再使用文件filenamep,則刪除之;否則,使用該文件的用戶數(shù)減1參數(shù):filenamep—文件名路徑字符串指針2)刪除過程把指定文件從所在的目錄文件中除去。如果沒有連接用戶(i_link為“1”),還要把文件占用的存儲空間釋放。在執(zhí)行刪除時,必須要求用戶對該文件具有“寫”操作權(quán)。一、文件系統(tǒng)調(diào)用的實現(xiàn)(17)17:25:06517、打開文件1)調(diào)用方式
intfd,mode;char*filenamep;fd=open(filenamep,mode);功能:以mode規(guī)定的方式打開文件filenamep準(zhǔn)備操作參數(shù):filenamep—文件名路徑字符串指針mode—打開方式:讀(0)、寫(1)或讀寫(2)fd—文件描述符一、文件系統(tǒng)調(diào)用的實現(xiàn)(18)17:25:06522)打開過程若該文件未被打開,則執(zhí)行以下步驟:①檢索目錄,把它的外存索引節(jié)點復(fù)制到內(nèi)存活動索引節(jié)點表。②根據(jù)參數(shù)mode核對權(quán)限,如果非法,則這次打開失敗。③當(dāng)“打開”合法時,為文件分配用戶打開文件表項和系統(tǒng)打開文件表項,并為表項設(shè)置初值。通過指針建立這些表項與活動索引節(jié)點間的聯(lián)系。把文件描述字,即用戶打開文件表中相應(yīng)文件表項的序號返回給調(diào)用者。一、文件系統(tǒng)調(diào)用的實現(xiàn)(19)17:25:0653若該文件已經(jīng)被其它進(jìn)程打開,則不執(zhí)行步驟①,僅把活動inode中的計數(shù)器i_count加1即可。i_count反映通過不同的系統(tǒng)打開文件表項來共享同一活動inode的進(jìn)程數(shù)目,它是以后執(zhí)行文件關(guān)閉操作時,活動inode能否被釋放的依據(jù)。一、文件系統(tǒng)調(diào)用的實現(xiàn)(20)17:25:06548、關(guān)閉文件1)調(diào)用方式調(diào)用方式為:
intfd;close(fd);功能:關(guān)閉文件fd,不再操作參數(shù):fd—文件描述符一、文件系統(tǒng)調(diào)用的實現(xiàn)(21)17:25:06552)關(guān)閉過程①根據(jù)fd找到用戶打開文件表項,再找到系統(tǒng)打開文件表項。釋放用戶打開文件表項。②把對應(yīng)系統(tǒng)打開文件表項中的f_count減“1”,如果非“0”,說明還有進(jìn)程共享這一表項,不用釋放直接返回;否則釋放表項。③把活動索引節(jié)點中的i_count減“1”,若不為“0”,表明還有用戶進(jìn)程正在使用該文件,不用釋放而直接返回,否則在把該活動索引節(jié)點中的內(nèi)容復(fù)制回文件卷上的相應(yīng)磁盤索引節(jié)點中后,釋放該活動索引節(jié)點。一、文件系統(tǒng)調(diào)用的實現(xiàn)(22)17:25:0656一、文件系統(tǒng)調(diào)用的實現(xiàn)(7)…………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=2讀寫位移f_offset索引節(jié)點指針f_inode=10………………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count讀寫位移f_offset索引節(jié)點指針f_inode=18…………2130用戶進(jìn)程10…21045…80255……2180用戶進(jìn)程2089用戶打開文件表用戶打開文件表系統(tǒng)打開文件表…………讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=120……讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=300…………0…1899活動inode表3010………OS……兩個進(jìn)程通過相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0657一、文件系統(tǒng)調(diào)用的實現(xiàn)(8)…………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=1讀寫位移f_offset索引節(jié)點指針f_inode=10………………讀/寫f_falg以相同的讀寫位移共享該文件的進(jìn)程數(shù)f_count=1讀寫位移f_offset索引節(jié)點指針f_inode=10…………2130用戶進(jìn)程10…21045…80255……1280用戶進(jìn)程2089用戶打開文件表用戶打開文件表系統(tǒng)打開文件表…………讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=2物理地址i_addr[40]索引節(jié)點號i_number=120……讀/寫i_mode以不相同的讀寫位移共享該文件的進(jìn)程數(shù)i_count=1物理地址i_addr[40]索引節(jié)點號i_number=120…………0…1899活動inode表3010………OS……兩個進(jìn)程通過不相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0658f_count和i_count分別反映進(jìn)程動態(tài)地共享一個文件的兩種方式,f_count反映不同進(jìn)程通過同一個系統(tǒng)打開文件表項共享一個文件的情況,這時,不同進(jìn)程使用相同的讀寫位移指針f_offseti_count反映不同進(jìn)程通過不同系統(tǒng)打開文件表項共享一個文件的情況,這時,不同進(jìn)程使用不同的讀寫位移指針f_offset一、文件系統(tǒng)調(diào)用的實現(xiàn)(23)17:25:0659一、文件系統(tǒng)調(diào)用的實現(xiàn)(24)9、文件的讀/寫讀文件—將文件內(nèi)容加載到用戶數(shù)據(jù)區(qū)寫文件—將用戶數(shù)據(jù)區(qū)得信息寫入文件文件的讀寫位置由系統(tǒng)打開文件表中的f_offset決定17:25:0660一、文件系統(tǒng)調(diào)用的實現(xiàn)(25)1)讀文件系統(tǒng)調(diào)用形式
intnr,fd,count;charbuf[];nr=read(fd,buf,count);功能:從文件fd從讀取count個字節(jié)到內(nèi)存buf中參數(shù):fd—文件描述符buf—讀出信息應(yīng)送達(dá)的內(nèi)存地址count—欲讀出的字節(jié)數(shù)nr—實際讀出的字節(jié)數(shù),可能小于欲讀出的字節(jié)數(shù)count17:25:0661一、文件系統(tǒng)調(diào)用的實現(xiàn)(26)2)讀過程系統(tǒng)根據(jù)f_flag中的信息,檢查讀操作合法性再根據(jù)當(dāng)前位移量f_offset值,要求讀出的字節(jié)數(shù)count,及活動索引節(jié)點中i_addr指出的文件物理塊存放地址,把相應(yīng)的物理塊讀到塊設(shè)備緩沖區(qū)中然后再送到用戶主存區(qū)buf中17:25:0662一、文件系統(tǒng)調(diào)用的實現(xiàn)(27)fdfp…f_flag(r/w)f_count(1)i_mode(x)f_flag(r/w)f_count(1)f_flag(r/w)f_count(1)f_offset(0)f_inode讀操作時文件數(shù)據(jù)結(jié)構(gòu)的關(guān)系文件描述符用戶打開文件表活動inode表物理塊系統(tǒng)打開文件表i_nlink(1)i_addr(40)OS內(nèi)核空間用戶空間外存17:25:0663一、文件系統(tǒng)調(diào)用的實現(xiàn)(28)3)寫文件系統(tǒng)調(diào)用形式nw=write(fd,buf,count);功能:將用戶主存區(qū)buf中的count個字節(jié)信息寫入文件fd中,返回實際寫入的字節(jié)數(shù)nw17:25:0664一、文件系統(tǒng)調(diào)用的實現(xiàn)(29)10、文件的隨機(jī)存取系統(tǒng)調(diào)用的形式
longlseek;longoffset;intwhence,fd;fd=open(filename,mode);或者fd=creat(filename,mode);lseek(fd,offset,whence);功能:將文件fd的讀寫位置指針f_offset移動到offset和whence規(guī)定的位移處17:25:0665一、文件系統(tǒng)調(diào)用的實現(xiàn)(30)當(dāng)whence=0時,讀寫位置指針f_offset=offset當(dāng)whence=1時,讀寫位置指針f_offset=f_offset+offset17:25:0666二、文件共享(1)1、文件共享指不同用戶(進(jìn)程)共同使用同一個文件。目的:不同進(jìn)程完成共同任務(wù),節(jié)省輔存空間,減少文件復(fù)制,從而減少I/O操作次數(shù),避免多副本造成數(shù)據(jù)不一致文件共享的形式:1)靜態(tài)共享2)動態(tài)共享3)符號鏈接共享17:25:0667二、文件共享(2)2、文件的靜態(tài)共享1)靜態(tài)共享含義允許一個文件同時屬于多個目錄,但實際上文件僅有一處物理存儲,這種文件在物理上一處存儲、從多個目錄可到達(dá)該文件的“多對一關(guān)系”稱為文件鏈接特征:靜態(tài)共享的“靜態(tài)”體現(xiàn)在文件的鏈接關(guān)系與進(jìn)程是否運行無關(guān)17:25:0668二、文件共享(3)2)靜態(tài)共享的實現(xiàn)策略將不同目錄的索引結(jié)點inode號指定為同一文件的索引結(jié)點鏈接的實質(zhì)就是共享已存在文件的inode17:25:0669二、文件共享(4)3)靜態(tài)共享的實現(xiàn)文件鏈接的系統(tǒng)調(diào)用形式:
chat*oldnamep,*newnamep;link(oldnamep,newnamep);功能:將新文件newnamep與現(xiàn)存文件oldnamep鏈接17:25:0670二、文件共享(5)過程:①檢索目錄找到oldnamep所指向文件的索引節(jié)點inode編號。②再次檢索目錄找到newnamep所指文件的父目錄文件,并把已存在文件的索引節(jié)點inode編號與別名構(gòu)成一個目錄項,記入到該目錄中去。③把已存在文件索引節(jié)點inode的連接計數(shù)i_nlink加“1”。17:25:0671二、文件共享(6)B/homefei1myfile.cfei3fei2fei4fei5B/homefei1myfile.cfei3fei2fei4fei5link(“/home/fei1/myfile.c”,”/home/fei2/myfile.c”)文件鏈接17:25:0672二、文件共享(7)B/homefei1myfile.cfei3fei2fei4fei5Btestfile.c/homefei1myfile.cfei3fei2fei4fei5link(“/home/fei1/myfile.c”,”/home/fei3/fei4/testfile.c”)文件鏈接17:25:0673二、文件共享(8)4)文件鏈接的解除(及文件刪除)文件解除鏈接調(diào)用形式為:
unlink(namep)功能:將namep文件的索引節(jié)點inode的鏈接數(shù)i_nlink減“1”。若i_nlink值為“0”,則刪除該文件。刪除namep文件目錄項。解除鏈接與文件刪除功能是相同的 兩者執(zhí)行同一系統(tǒng)調(diào)用代碼。刪除文件是從文件主角度講的,解除文件連接是從共享文件的其他用戶角度講的。都要刪去目錄項,把i_nlink減“1”,不過,只有當(dāng)i_nlink減為“0”時,才真正刪除文件。17:25:0674二、文件共享(9)2、文件的動態(tài)共享1)文件動態(tài)共享的含義 是系統(tǒng)中不同的用戶進(jìn)程或同一用戶的不同進(jìn)程并發(fā)地訪問同一文件。2)文件動態(tài)共享的特征 這種共享關(guān)系只有當(dāng)用戶進(jìn)程存在時才可能出現(xiàn),一旦用戶進(jìn)程消亡,其共享關(guān)系也就自動消失。17:25:0675二、文件共享(10)3)文件動態(tài)共享的具體形式文件動態(tài)共享時,不同進(jìn)程可能會讀寫文件的同一位置或不同位置,這就涉及到讀寫指針問題。17:25:0676二、文件共享(11)共用讀寫指針的情況當(dāng)兩個程序共享同一文件且共用讀寫指針時,這兩個程序的用戶打開文件表指向系統(tǒng)打開文件表中的同一表項。這時,系統(tǒng)打開文件表表項的訪問計數(shù)f_count值等于共用一個讀寫指針訪問一個文件的進(jìn)程數(shù),即共用一個系統(tǒng)打開文件表表項的進(jìn)程數(shù)同一用戶父、子進(jìn)程協(xié)同完成任務(wù),使用同一讀/寫位移,同步地對文件進(jìn)行操作。17:25:0677二、文件共享(12)UNIX/Linux系統(tǒng)同一用戶的父進(jìn)程使用fork創(chuàng)建子進(jìn)程前,若父進(jìn)程已經(jīng)打開某文件A,則文件A在系統(tǒng)打開文件表中存在一個表項,使用fork創(chuàng)建子進(jìn)程時,父進(jìn)程PCB被復(fù)制到子進(jìn)程PCB,文件A在系統(tǒng)打開文件表中的表項也一并復(fù)制給子進(jìn)程,導(dǎo)致兩個進(jìn)程共用相同的系統(tǒng)打開文件表項,使用相同的讀寫指針17:25:0678二、文件共享(13)系統(tǒng)打開文件表活動inode表file結(jié)構(gòu)…………活動的inode駐留主存i_count=1f_offsetf_count=2f_inode使用同一位移指針的文件共享fpfp父進(jìn)程的打開文件表……
父進(jìn)程fdfd……子進(jìn)程的打開文件表fd……
子進(jìn)程非駐留主存17:25:0679二、文件共享(14)用戶進(jìn)程1用戶進(jìn)程2用戶打開文件表用戶打開文件表系統(tǒng)打開文件表活動inode表OS兩個進(jìn)程通過相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0680二、文件共享(15)讀寫指針不同的情況當(dāng)兩個程序共享同一文件但讀寫指針不同時,這兩個程序各自的用戶打開文件表指向系統(tǒng)打開文件表中的不同表項,而這兩個表項又指向內(nèi)存活動inode表中的同一表項。兩個以上用戶共享文件,每個希望獨立地讀、寫文件,這時不能只設(shè)置一個讀寫位移指針,須為每個用戶進(jìn)程分別設(shè)置一個讀、寫位移指針。位移指針應(yīng)放在每個進(jìn)程用戶打開文件表的表目中。這樣,當(dāng)一個進(jìn)程讀、寫文件,并修改位移指針時,另一個進(jìn)程的位移指針不會隨之改變,從而,使兩個進(jìn)程能獨立地訪問同一文件。17:25:0681二、文件共享(16)對于UNIX/Linux系統(tǒng),若先執(zhí)行fork創(chuàng)建子進(jìn)程后,父子進(jìn)程再打開同一文件,則在系統(tǒng)打開文件表中將產(chǎn)生指向同一個文件的兩個不同的表項,使兩個進(jìn)程以不同的讀寫位移指針訪問同一個文件。17:25:0682二、文件共享(17)fda進(jìn)程A的子進(jìn)程駐留主存活動inode表活動inode表……newfile活動的inodei_count=2
使用不同位移指針的文件共享fdafpafd……進(jìn)程B的打開文件表fdb……
進(jìn)程B非駐留主存進(jìn)程A的打開文件表……
進(jìn)程Afpb…f_offsetf_count=2f_flag(r)f_inodef_offsetf_count=1f_flag(r/w)f_inode系統(tǒng)打開文件表…進(jìn)程A的子進(jìn)程的打開文件表……fpa17:25:0683二、文件共享(18)用戶進(jìn)程1用戶進(jìn)程2用戶打開文件表用戶打開文件表系統(tǒng)打開文件表活動inode表OS兩個進(jìn)程通過不相同的系統(tǒng)打開文件表項訪問一個文件,即文件1文件1文件217:25:0684二、文件共享(19)3、文件的符號鏈接共享(類似于快捷方式)又稱軟鏈接,符號鏈接是一種只有文件名,不指向inode的文件,刪去符號鏈接,文件實體內(nèi)容依然存在符號鏈接只包含被鏈接文件的路徑名而不是它的inode號,文件所有者才具有指向inode的指針將文件名和自身的inode鏈接起來,稱為硬鏈接17:25:0685二、文件共享(20)優(yōu)點:能用于鏈接計算機(jī)系統(tǒng)中不同文件系統(tǒng)中的文件,可鏈接計算機(jī)網(wǎng)絡(luò)中不同機(jī)器上的文件,此時,僅需提供文件所在機(jī)器地址和該機(jī)器中文件的路徑名。缺點:搜索文件路徑開銷大,需要額外的空間查找存儲路徑。17:25:0686三、文件空間管理(1)輔存空間分配采用兩種辦法1)連續(xù)分配:文件存放在輔存空間連續(xù)存儲區(qū)中,在建立文件時,用戶必須給出文件大小,然后,查找到能滿足的連續(xù)存儲區(qū)供使用。17:25:0687三、文件空間管理(2)2)非連續(xù)分配:一種方法是以塊(扇區(qū))為單位,扇區(qū)不一定要連續(xù),同一文件的扇區(qū)按文件記錄的邏輯次序用鏈指針連接或位示圖指示。另一種方法是以簇為單位,簇是由若干個連續(xù)扇區(qū)組成的分配單位;實質(zhì)上是連續(xù)分配和非連續(xù)分配的結(jié)合。各個簇可以用鏈指針、索引表,位示圖來管理。17:25:0688幾種具體文件輔存空間管理方法1、字位映象表(位示圖)系統(tǒng)中每個盤塊對應(yīng)一個二進(jìn)制位,采用二進(jìn)制位來表示一個盤塊是否空閑。分配和回收時只需修改二進(jìn)制位值即可。2、空閑區(qū)表為外存上的所有空閑區(qū)建立一張空閑表,每個空閑區(qū)占一個表項,表項內(nèi)容包括空閑塊位置和連續(xù)空閑的塊數(shù)。一般用于連續(xù)分配,回收盤區(qū)時要考慮相鄰盤塊的合并問題。三、文件空間管理(3)17:25:06893、空閑塊鏈把所有空閑塊鏈接在一起,形成一個鏈表三、文件空間管理(4)17:25:06904、成組空閑塊鏈UNIX/Linux采用的一種外存管理方法,存儲空間分成512字節(jié)一塊。它將系統(tǒng)中的所有空閑盤塊分成若干組,每100個盤塊是一組,對于這些盤塊采用棧式管理方法,即分配盤塊時,從棧頂分配,相當(dāng)于空閑盤塊出棧;回收盤塊時,將盤塊加入棧頂,相當(dāng)于入棧。每組第一塊登記下一組空閑塊的盤物理塊號和空閑總數(shù)。三、文件空間管理(5)17:25:0691空閑塊成組連接法的分配舉例:若空閑盤塊組織如下:三、文件空間管理(6)17:25:0692三、文件空間管理(7)…s_nfree:50s_free[0]:s_free[1]:s_free[2]:…s_free[49]:…s_free[99]:…s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#filsys專用塊棧頂棧底棧頂棧底棧頂棧底棧頂棧底17:25:0693三、文件空間管理(8)…s_nfree:50s_free[0]:s_free[1]:s_free[2]:…s_free[49]:…s_free[99]:…s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#filsys專用塊#349#348...#300#299#298...#200#199#198...#100#99#98...#1棧頂棧底棧頂棧頂棧底棧頂棧底棧頂棧底棧頂棧底17:25:0694此時請求分配2個空閑盤塊,則349#、348#將會被分配,分配后s_nfree=48,結(jié)果如下圖所示:三、文件空間管理(9)17:25:0695三、文件空間管理(10)…s_nfree:48s_free[0]:s_free[1]:s_free[2]:…s_free[47]:s_free[48]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#348#347#filsys棧頂棧底棧頂棧底棧頂棧底棧頂棧底17:25:0696三、文件空間管理(11)…s_nfree:48s_free[0]:s_free[1]:s_free[2]:…s_free[47]:s_free[48]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#348#347#filsys#347...#300#299#298...#200#199#198...#100#99#98...#1棧頂棧底棧頂棧底棧頂棧底棧頂棧底棧頂棧底17:25:0697在此基礎(chǔ)上,若請求分配47個空閑盤塊,則347#、346#、……301#將會被依次分配,分配后s_nfree=1,結(jié)果如下圖所示:三、文件空間管理(12)17:25:0698三、文件空間管理(13)…s_nfree:1s_free[0]:s_free[1]:s_free[2]:…s_free[47]:s_free[48]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#348#347#filsys棧底=棧頂棧頂棧底棧頂棧底棧頂棧底17:25:0699三、文件空間管理(14)…s_nfree:1s_free[0]:s_free[1]:s_free[2]:…s_free[47]:s_free[48]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:…s_free[99]:s_nfree:100s_free[0]:0s_free[1]:…s_free[99]:301#349#201#299#101#199#1#99#............第一組99塊第二組100塊第三組100塊第四組50塊100#200#300#348#347#filsys#300#299#298...#200#199#198...#100#99#98...#1棧頂棧底棧底=棧頂棧頂棧底棧頂棧底棧頂棧底17:25:06100在此基礎(chǔ)上,若請求分配1個空閑盤塊,則300#將會被分配。分配時,首先將300#盤
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國六位機(jī)械計數(shù)器市場調(diào)查研究報告
- 2025年轉(zhuǎn)向中間臂支架項目可行性研究報告
- 常州2025年江蘇常州市衛(wèi)生健康委員會直屬事業(yè)單位招聘高層次緊缺專業(yè)人才269人(定期)筆試歷年參考題庫附帶答案詳解
- 2025年生化儀器項目可行性研究報告
- 成都2024年四川成都經(jīng)開區(qū)(龍泉驛區(qū))招聘教育人才11人筆試歷年參考題庫附帶答案詳解
- 2025年智能程序溫控箱項目可行性研究報告
- 2025至2031年中國噴灌機(jī)管道行業(yè)投資前景及策略咨詢研究報告
- 2025年雙色底項目可行性研究報告
- 2025至2030年中國袋裝水簡易連接器數(shù)據(jù)監(jiān)測研究報告
- 2025年X射線探測器項目可行性研究報告
- 2024-2030年中國免疫細(xì)胞存儲行業(yè)發(fā)展模式及投資戰(zhàn)略分析報告
- 家庭清潔課件教學(xué)課件
- 湖南財政經(jīng)濟(jì)學(xué)院《常微分方程》2023-2024學(xué)年第一學(xué)期期末試卷
- 2011年公務(wù)員國考《申論》真題卷及答案(地市級)
- 《籃球體前變向運球技術(shù)》教案(共三篇)
- 多元化評價體系構(gòu)建
- 部編版六年級下冊道德與法治全冊教案教學(xué)設(shè)計
- DBJ04∕T 290-2012 袖閥管注漿加固地基技術(shù)規(guī)程
- GB/T 17775-2024旅游景區(qū)質(zhì)量等級劃分
- 燈籠彩燈安裝合同范本
- 物流無人機(jī)垂直起降場選址與建設(shè)規(guī)范
評論
0/150
提交評論