版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第六章文件管理1第六章文件管理26.1文件6.2目錄6.3文件系統(tǒng)的空間管理
6.4文件系統(tǒng)的可靠性6.5
虛擬文件系統(tǒng)6.6文件系統(tǒng)的類型6.7文件系統(tǒng)實例
文件系統(tǒng)負(fù)責(zé)文件的存儲、檢索、共享與保護(hù),以及文件存儲空間的組織與管理、分配與回收。本章將從文件、文件目錄管理、文件的共享與保護(hù)、文件存儲空間管理、文件分配,以及UNIX、Linux和Windows操作系統(tǒng)的文件系統(tǒng)實例等方面進(jìn)行講述。6.1文件6.1.1
文件命名6.1.2文件類型6.1.3文件屬性6.1.4
文件的存取方法6.1.5文件操作
6.1.6文件的邏輯結(jié)構(gòu)36.1.1文件命名1、文件是一組邏輯上相互關(guān)聯(lián)的信息的集合,是計算機系統(tǒng)中信息的一種組織結(jié)構(gòu)
如:一個C語言源程序、I/O設(shè)備上傳輸?shù)男畔?、文件命名規(guī)則:一般由文件名和擴展名組成46.1.2文件類型普通文件和目錄文件普通文件存儲文件內(nèi)容信息,可分為ASCII文件和二進(jìn)制文件對普通文件類型進(jìn)一步細(xì)化,可通過文件擴展名來區(qū)分文件類型56.1.3文件屬性文件屬性用于標(biāo)識和描述文件,如文件名、文件創(chuàng)建時間、文件長度、文件的物理地址、存取權(quán)限等信息用戶對文件的存取權(quán)限:保護(hù)、口令、創(chuàng)建者和所有者4個屬性與文件保護(hù)有關(guān)查找關(guān)鍵字所需信息:記錄長度、關(guān)鍵字位置和關(guān)鍵字長度時間域:文件的創(chuàng)建時間、最近存取時間以及最近修改時間長度域:文件當(dāng)前的大小66.1.4文件的存取方法文件存取方法是研究存儲空間上物理文件的訪問方法順序存取方法嚴(yán)格按照數(shù)據(jù)記錄的排列順序依次存取可用于順序存取設(shè)備(如磁帶),又可用于直接存儲設(shè)備(如磁盤)直接存取方法用戶隨意讀寫文件的任意一條記錄適用于直接存取設(shè)備索引存取方法索引存取方法建立在直接存取方法之上,需要創(chuàng)建文件索引76.1.5文件操作8
文件系統(tǒng)為用戶提供了一系列文件操作接口,典型的文件操作如下:創(chuàng)建刪除打開關(guān)閉讀寫6.1.6文件的邏輯結(jié)構(gòu)邏輯文件從結(jié)構(gòu)上分成二種形式:一種是無結(jié)構(gòu)的流式文件,是指對文件內(nèi)信息不再劃分單位,它是依次地一串字符流構(gòu)成的文件;另一種是有結(jié)構(gòu)的記錄式文件,是用戶把文件內(nèi)的信息按邏輯上獨立的含義劃分信息單位,每個單位稱為一個邏輯記錄(簡稱記錄)選取文件的邏輯結(jié)構(gòu)應(yīng)遵循下述原則
修改時,盡量減少對已存儲好信息的變動。操作時,盡可能快地查找到需要的記錄或信息應(yīng)使文件信息占據(jù)最小的存儲空間便于用戶進(jìn)行操作96.1.6文件的邏輯結(jié)構(gòu)記錄式文件常用的組織方式有:堆文件、順序文件、索引順序文件、索引文件和哈希文件(直接文件)
。堆文件對于多條記錄大小和結(jié)果不同,可采用堆(pile)文件來組織
按照記錄到達(dá)的時間順序組織的記錄之間用界定符區(qū)分訪問只能順序進(jìn)行順序文件
順序(sequential)文件是最常用的文件組織形式
每條有一個關(guān)鍵域,記錄格式相同、長度相同優(yōu)點是順序存取速度快,適用于順序存取和成批處理多條記錄的場合對查詢或更新較多情況,順序文件將表現(xiàn)出較差的性能解決辦法:日志文件或鏈接文件106.1.6文件的邏輯結(jié)構(gòu)索引順序文件
按照記錄的關(guān)鍵域的順序組織的關(guān)鍵特性文件索引溢出文件溢出文件用于添加新紀(jì)錄,類似于順序文件中的日志文件主文件中的每條記錄包含一個附加指針域,該指針用來指向溢出文件的某一位置116.1.6文件的邏輯結(jié)構(gòu)索引文件
按關(guān)鍵字建立的索引表為主索引表(或稱完全索引)按其他屬性建立的索引表為輔助索引表(或稱部分索引)索引文件支持隨機直接訪問,多用于對信息處理及時性要求較高的場合直接文件
直接文件也稱為哈希文件或散列文件,是用散列技術(shù)組織成的文件直接文件使用基于關(guān)鍵字的散列直接文件中的記錄通常是成組存放的若干條記錄組成一個存儲單位,稱之為桶溢出桶、基桶接文件具有隨機存取、記錄不需排序、插入刪除方便、存取速度快、不需要索引區(qū)和節(jié)省存儲空間等優(yōu)點直接文件不能順序存取126.2目錄13目錄是由文件說明索引組成的用于文件檢索的特殊文件。文件目錄的內(nèi)容主要是文件訪問的控制信息(不包括文件內(nèi)容)。對文件目錄管理的要求:實現(xiàn)“按名存取”。提高對文件目錄的檢索速度共享文件允許文件重名
6.2.1文件目錄內(nèi)容
6.2.2文件目錄結(jié)構(gòu)
6.2.1文件目錄內(nèi)容
14從用戶的角度來說,文件目錄在文件名與文件自身之間提供一種映射。文件控制塊(FileControllingBlock,F(xiàn)CB):用于描述文件和控制文件信息的數(shù)據(jù)結(jié)構(gòu)每一文件有一個與之對應(yīng)的文件控制塊
1)文件控制塊基本信息:文件名、文件類型、文件組織文件的地址信息:卷、起始地址、文件使用大小、文件分配大小訪問控制信息:文件的所有者、訪問信息、許可的行為標(biāo)記使用信息:建立日期、上一次讀日期、上一次讀用戶名上一次修改用戶名上一次備份日期當(dāng)前文件活動狀態(tài)6.2.1文件目錄內(nèi)容
152)索引結(jié)點FCB可以進(jìn)一步被劃分為文件名和除文件名之外的其他信息部分在文件目錄表中僅放文件名和與之對應(yīng)的索引結(jié)點位置信息將除文件名之外的其他信息放在索引結(jié)點中每一文件對應(yīng)一個索引結(jié)點應(yīng)用:UNIX和Linux6.2.2文件目錄結(jié)構(gòu)
16目錄結(jié)構(gòu)討論目錄的組織結(jié)構(gòu),設(shè)計目標(biāo)是提高檢索效率。單級目錄:整個目錄組織是一個線性結(jié)構(gòu),系統(tǒng)中的所有文件都建立在一張目錄表中。它主要用于單用戶操作系統(tǒng)。它具有如下的特點:結(jié)構(gòu)簡單,使用方便,易于實現(xiàn);局限重名問題搜索效率低難于實現(xiàn)文件共享6.2.2文件目錄結(jié)構(gòu)
17兩級目錄:在根目錄下,每個用戶對應(yīng)一個目錄(第二級目錄);在用戶目錄下是該用戶的文件,而不再有下級目錄。適用于多用戶系統(tǒng),各用戶可有自己的專用目錄。兩級目錄結(jié)構(gòu)與單級目錄結(jié)構(gòu)相比具有以下優(yōu)點解決了不同用戶之間的重名問題提高了檢索速度允許不同用戶之間的文件共享6.2.2文件目錄結(jié)構(gòu)
18多級目錄:或稱為樹型目錄結(jié)構(gòu)(TreeStructuredDirectory,TSD)。在文件數(shù)目較多時,便于系統(tǒng)和用戶將文件分散管理。適用于較大的文件系統(tǒng)管理。目錄級別太多時,會增加路徑檢索時間。樹型多級目錄的優(yōu)點:較好地反映現(xiàn)實世界中具有層次關(guān)系的數(shù)據(jù)集合和較確切地反映系統(tǒng)內(nèi)部文件的分支結(jié)構(gòu);不同文件可以重名,只要它們不是在同一末端的子目錄中;易于規(guī)定不同層次或子樹中文件的不同存取權(quán)限便于文件的保護(hù)、保密和共享等。196.2.2文件目錄結(jié)構(gòu)
目錄文件:一個目錄的目錄項組成的文件。目錄名:可以修改。目錄樹:中間結(jié)點是目錄,葉子結(jié)點是目錄或文件。目錄的上下級關(guān)系:當(dāng)前目錄(currentdirectory,workingdirectory)、父目錄(parentdirectory)、子目錄(subdirectory)、根目錄(rootdirectory)等;查找一個文件是根據(jù)該文件的路徑完成的。文件的路徑分為絕對路徑和相對路徑。絕對路徑(absolutepath)。從根目錄到任何數(shù)據(jù)文件或目錄文件之間,只存在一條通路相對路徑(relativepath)。從當(dāng)前目錄開始直到數(shù)據(jù)文件為止所構(gòu)成的路徑稱為相對路徑
6.2.2文件目錄結(jié)構(gòu)
20216.2.2文件目錄結(jié)構(gòu)
無環(huán)圖目錄結(jié)構(gòu):樹型目錄結(jié)構(gòu)限制了文件和目錄的共享,通過將樹型目錄結(jié)構(gòu)改進(jìn)為無環(huán)圖(acyclicgraph)可克服這一局限。無環(huán)目錄結(jié)構(gòu)比樹型目錄結(jié)構(gòu)更加靈活,但也更加復(fù)雜?,F(xiàn)在一個文件可能有多個絕對路徑名會出現(xiàn)不同文件名表示同一文件的現(xiàn)象在文件查找、文件數(shù)量的統(tǒng)計、備份和刪除等方面與樹型目錄結(jié)構(gòu)相比有其特殊性。在文件或目錄的刪除上需要注意以下兩方面:(1)當(dāng)共享文件或目錄被刪除后出現(xiàn)懸空或指向其他文件(被釋放的磁盤空間被分配給其他文件)問題時。采用與訪問其他非法文件名或目錄名一樣處理的方法來解決。(2)刪除共享文件或目錄的另一種處理辦法是:保留被刪除的共享文件或目錄直到刪除所有共享指針為止。需要為每個共享文件或目錄保留一個引用列表,當(dāng)刪除共享文件或目錄時,僅刪除引用表中對應(yīng)的目錄項,直到引用列表空時才刪除文件或目錄本身226.2.2文件目錄結(jié)構(gòu)
236.2.2文件目錄結(jié)構(gòu)
通用圖目錄結(jié)構(gòu):在無環(huán)圖目錄結(jié)構(gòu)中,進(jìn)一步允許子目錄對上層目錄的引用,就產(chǎn)生了通用圖目錄結(jié)構(gòu)。通用圖目錄結(jié)構(gòu)的主要優(yōu)點:可用簡單的算法來遍歷圖并確定是否存在文件引用。在使用時面臨的難點有:(1)由于圖中存在環(huán),在搜索某個子目錄時要避免無窮地循環(huán)搜索。這個問題可以通過限制訪問目錄的次數(shù)來確定。(2)在判斷一個文件是否可刪除時,由于存在文件的自我引用,所以不能簡單地通過引用計數(shù)是否為0來判斷是否可被刪除。246.2.2文件目錄結(jié)構(gòu)
6.2.3文件共享與保護(hù)
25
文件共享
-文件共享是指一個文件被若干用戶或進(jìn)程共同使用。避免了系統(tǒng)復(fù)制文件的開銷,并節(jié)省文件占用的存儲空間。
文件保護(hù)
-文件系統(tǒng)必須提供安全可靠的保護(hù)與保密措施,以防止文件信息被有意或無意的破壞或偷竊。
文件共享
26
1.利用符號鏈接實現(xiàn)共享
2.基于索引結(jié)點的共享方式
3.利用基本文件目錄實現(xiàn)文件共享實現(xiàn)文件共享的常用方法
文件共享
27符號鏈接(symboliclinking):采用無環(huán)圖目錄結(jié)構(gòu)。在要共享的子目錄中創(chuàng)建一個LINK類型的新文件。在新文件中寫入被鏈接文件路徑名,以實現(xiàn)目錄與文件的鏈接只有文件主才擁有指向其索引結(jié)點的指針共享該文件的其他用戶,只有該文件的路徑名,而沒有指向索引結(jié)點的指針不會發(fā)生在文件主刪除共享文件后留下懸空指針的問題類似于Windows系統(tǒng)中的快捷方式優(yōu)點:能夠用于鏈接計算機網(wǎng)絡(luò)上的任何地點中的文件缺點:時間、空間開銷較大1.利用符號鏈接實現(xiàn)共享
文件共享
281.利用符號鏈接實現(xiàn)共享
文件共享
292.基于索引節(jié)點的共享方式思想:將文件中諸如文件的物理地址及其文件屬性等信息,不放在文件目錄表目中,而是放在索引節(jié)點中。在文件目錄中只設(shè)置文件名及其指向相應(yīng)索引節(jié)點的指針。在索引結(jié)點中有一個鏈接計數(shù)器,表示鏈接到索引結(jié)點的用戶數(shù)量30
文件共享
2.基于索引節(jié)點的共享方式刪除共享文件時可能會出現(xiàn)指針懸空的問題:只有文件主才可刪除共享文件,但保留索引結(jié)點,并使鏈接計數(shù)器減1當(dāng)鏈接計數(shù)器為0時,刪除索引結(jié)點基于索引結(jié)點的共享方式也稱為硬鏈接共享方式,與符號鏈接方式本質(zhì)區(qū)別不能實現(xiàn)跨文件系統(tǒng)和跨設(shè)備的共享,特別是不能基于網(wǎng)絡(luò)的共享。因為不同設(shè)備上有各自的文件系統(tǒng),每一文件系統(tǒng)下有自己的文件目錄和索引結(jié)點表,而文件的目錄僅與自身的索引結(jié)點表關(guān)聯(lián),因此,基于索引結(jié)點的共享方式不能實現(xiàn)跨文件系統(tǒng)的共享。
文件共享
31利用基本文件目錄實現(xiàn)文件共享:利用把目錄表目進(jìn)行分解的辦法來加快檢索速度,同時也便于實施文件的共享目錄分解:就是把一個目錄表目分解為兩部分:基本文件目錄(BFD)部分與符號文件目錄(SFD)部分。
3.利用基本文件目錄實現(xiàn)文件共享
文件共享
323.利用基本文件目錄實現(xiàn)文件共享6.3文件系統(tǒng)的空間管理33
文件存儲空間管理的數(shù)據(jù)結(jié)構(gòu)通常稱為磁盤分配表(diskallocationtable),分配的基本單位是簇。文件系統(tǒng)可靠性包括檢錯和差錯恢復(fù)??臻e空間的管理方法有:1.空閑表法2.空閑鏈表法
3.位示圖(bitmap)4.鏈接索引表法
6.3文件系統(tǒng)的空間管理341.空閑表法空閑區(qū):存儲介質(zhì)中一個連續(xù)的未分配區(qū)域。
系統(tǒng)為存儲介質(zhì)上的所有空閑區(qū)建立一張空閑表,每一個空閑區(qū)對應(yīng)表中的一個表目。表目的內(nèi)容包括:空閑區(qū)第一個盤塊號、該空閑區(qū)的盤塊總數(shù)等信息。將所有空閑區(qū)按第一盤塊號的大小排列。
分配算法與內(nèi)存分配類似。6.3文件系統(tǒng)的空間管理351.空閑表法空閑區(qū)分配:掃描各表目的空閑塊總數(shù)滿足要求?NY實際=請求?設(shè)為空表目Y多余的塊號留在原表目中
N刪除文件:-掃描空閑表,尋找一個空表目,將文件所釋放的第一個盤塊號及其占用的盤塊數(shù)填入該表目中。6.3文件系統(tǒng)的空間管理361.空閑表法總結(jié):適用于連續(xù)分配文件,管理方法簡單,但當(dāng)空閑區(qū)過多時,將大大影響使用效率。6.3文件系統(tǒng)的空間管理372.空閑鏈表法空閑鏈表法是將所有的空閑區(qū)拉成一條空閑鏈。根據(jù)構(gòu)成鏈的基本元素的不同,可分為:空閑盤塊鏈-空閑盤塊鏈?zhǔn)侵笇⒋疟P上所有空閑區(qū),以盤塊為基本元素拉成一條鏈。
空閑區(qū)鏈-空閑區(qū)鏈?zhǔn)侵笇⒋疟P上所有的空閑區(qū)(每個空閑區(qū)可能包含若干個盤塊)拉成一條鏈。
優(yōu)點:分配與回收一個盤塊的過程非常簡單;缺點:空閑盤塊鏈可能很長,影響效率。
優(yōu)點:空閑區(qū)鏈較短;缺點:分配與回收的過程較復(fù)雜。386.3文件系統(tǒng)的空間管理3.位示圖(bitmap)每一位表示一個盤塊,取值0和1分別表示空閑和占用。在文件使用期間存放在內(nèi)存中,使用方便、速度較快。分配步驟:1.位示圖中找到一個其值為“0”的二進(jìn)制位。2.計算盤塊號為b=n*(I-1)+J,(I為行,J為列)。注:B為相對塊號,實際中盤塊號為:(柱面號,磁頭號,塊號)3.令map[I,J]=1.回收步驟:1.將盤塊號b變換成相應(yīng)的行號I和列號J
:
I=(b-1)divn+1;
J=(b-1)modn+1。2.令map[I,J]=0
396.3文件系統(tǒng)的空間管理3.位示圖(bitmap)6.3文件系統(tǒng)的空間管理404.鏈接索引表法基本思想:使用若干個空閑盤塊作為索引表塊,來指出存儲空間中所有空閑盤塊。
分配:-系統(tǒng)從鏈表頭的索引表塊(如圖6-17中的A索引塊)的尾部開始分配?;厥眨海到y(tǒng)將釋放的空閑塊添加到索引鏈表頭指出的索引表塊的空閑表目中(鏈表中只有頭指針指出的索引表塊是不滿的,其他索引表塊全是滿的)。6.3文件分配41文件分配:也叫文件的物理組織,即文件在文件存儲空間上的存儲結(jié)構(gòu)。
文件分配的優(yōu)劣主要取決于:采用靜態(tài)分配(預(yù)分配)還是動態(tài)分配。分區(qū)大小應(yīng)該是多少。文件空間的管理。
文件分配方法。
靜態(tài)分配是指創(chuàng)建一個文件時就給文件一次性分配所需的最大文件存儲空間;
動態(tài)分配是指隨文件動態(tài)增長動態(tài)分配所需的文件存儲空間。6.3文件分配42如何才能有效地利用文件存儲空間、如何提高對文件的訪問速度是文件存儲空間分配時要考慮的主要問題。
主要的文件分配方法:連續(xù)分配鏈接分配索引鏈接分配課堂練習(xí)6.3文件分配43連續(xù)分配是指在創(chuàng)建文件時,給文件分配一組連續(xù)的物理盤塊,使用靜態(tài)分配策略。所形成的物理文件為順序文件。
連續(xù)分配優(yōu)點:
-比較簡單,容易實現(xiàn);-順序訪問速度快,性能好(支持直接存取,即檢索一個塊也是非常容易。)缺點:-必須在文件創(chuàng)建時就知道文件的最大長度。-造成磁盤碎片
6.3文件分配44鏈接分配是指為每個文件構(gòu)造磁盤塊的鏈接表,每個塊的第一個字用于指向下一塊的指針,塊的其它部分存放數(shù)據(jù),由此形成的物理文件稱為鏈接文件。鏈接分配分類:隱式鏈接顯式鏈接6.3文件分配45在文件目錄的每個目錄表目中,都須含有指向鏈接文件的第一盤塊和文件長度(或最后一個盤塊的指針)
鏈接分配-隱式鏈接缺點:只適應(yīng)順序訪問,對隨機訪問效率很差。此外,其可靠性也較差。-為了提高檢索速度和減小指針?biāo)加玫拇鎯臻g,可以將幾個盤塊組成一個簇。6.3文件分配46顯式鏈接是指把用于鏈接文件的各物理地址指針,顯式地放在內(nèi)存的一張鏈接表中。該表在整個磁盤中僅設(shè)置一張。鏈接分配-顯式鏈接優(yōu)點:不會形成磁盤碎片。缺點:
隨機存取卻相當(dāng)緩慢;另外,每個磁盤塊存儲數(shù)據(jù)的字節(jié)數(shù)不再是2的冪,降低了系統(tǒng)的運行效率。6.3文件分配47索引分配是為了解決連續(xù)分配和鏈接分配的問題而產(chǎn)生的。索引鏈接分配是文件邏輯組織中索引組織的物理實現(xiàn)。索引鏈接分配分類:
1.一級索引鏈接分配
2.多級索引鏈接分配
-適合于大的文件
6.3文件分配48思想:為每個文件分配一個索引塊(表),把分配給該文件的所有盤塊號,都記錄到該索引塊中,因而該索引塊就是一個含有許多盤塊號的數(shù)組。在建立一個文件時,必須在該文件的目錄表目中,填上指向該索引塊的指針。
索引鏈接分配-一級缺點:當(dāng)文件較小時,索引塊大部分空間未被使用上,造成索引塊的利用率低。6.3文件分配思想:對大文件來說,分配給文件的索引塊數(shù)量較多,各索引塊之間也必須用鏈接指針鏈接起來,當(dāng)檢索第I塊時,需將該文件的所有索引塊讀入內(nèi)存,然后進(jìn)行檢索。UNIX系統(tǒng)在此基礎(chǔ)上采用索引結(jié)點,即用i-結(jié)點的方法來解決文件的存儲,具體細(xì)節(jié)見6.6.4節(jié)49索引鏈接分配-多級506.3文件分配文件F由200條記錄組成,記錄從1開始編號,用戶打開文件后,欲將內(nèi)存中的一條記錄插入文件F中,作為其第30條記錄。請回答下列問題,并說明理由。1)若文件系統(tǒng)采用連續(xù)分配方式,每個磁盤塊存放一條記錄,文件F的存儲區(qū)域前后均有足夠的空閑磁盤空間,則要完成上述操作最少要訪問多少次磁盤塊?F的文件控制塊內(nèi)容會有哪些改變?2)若文件系統(tǒng)采用鏈接分配方式,每個磁盤塊存放一條記錄和一個鏈接指針,則要完成上述操作最少要訪問多少次磁盤塊?若每個磁盤塊大小為1KB,其中4個字節(jié)存放鏈接指針,則該文件系統(tǒng)支持的文件最大長度是多少?課堂練習(xí)516.3文件分配【解】1)向前移動文件的前29條記錄,每條記錄讀寫各1次,騰出一個磁盤塊空間,將該記錄插入到此磁盤塊作為第30條記錄,故最少要訪問磁盤塊的次數(shù)=29*2+1=59。F的文件控制塊內(nèi)容中文件的起始地址和文件長度需要修改2)采用鏈接分配方式需要讀取前29條記錄鏈接指針,修改第29條記錄的鏈接指針并寫盤,第30條記錄與鏈接指針一起寫入一個磁盤塊,這樣完成上述操作最少要訪問磁盤塊的次數(shù)=29+1+1=31該文件系統(tǒng)支持的文件最大長度是:(1024-4)*232B=4080GB課堂練習(xí)6.4文件系統(tǒng)的可靠性52主要目標(biāo):實現(xiàn)文件的保密性、完整性和可用性。
具體的實現(xiàn)技術(shù):用戶認(rèn)證:使用加密的口令、物理身份鑒別等技術(shù)。文件保護(hù)機制:使用保護(hù)域、存取矩陣(如存取控制表、權(quán)能表等)等技術(shù)。數(shù)據(jù)備份:包括全量備份和增量備份等。在第八章里面講6.4文件系統(tǒng)的可靠性53
在文件的保護(hù)技術(shù)中,另外還有一個重要的內(nèi)容是有關(guān)文件系統(tǒng)的一致性問題。解決不一致問題的方法是進(jìn)行一致性檢查。包括:1.塊的一致性檢查:
-建立兩張表。每張表中,每塊對應(yīng)一個計數(shù)器,初始值設(shè)為0。第一張表的計數(shù)器記錄了每塊在文件中出現(xiàn)的次數(shù);第二張表的計數(shù)器記錄了每塊在空閑塊鏈表(或空閑塊位圖)中出現(xiàn)的次數(shù)。文件系統(tǒng)的一致性維護(hù)磁盤塊讀入內(nèi)存,修改后再寫盤,當(dāng)寫盤過程中系統(tǒng)崩潰,會出現(xiàn)不一致問題546.4文件系統(tǒng)的可靠性文件系統(tǒng)的一致性維護(hù)6.4文件系統(tǒng)的可靠性552。文件的一致性檢查:一張計數(shù)器表,每個計數(shù)器對應(yīng)于一個文件的i-節(jié)點。檢驗程序從根目錄開始,沿著目錄樹遞歸下降,檢查文件系統(tǒng)中的每個目錄。對每個目錄中的文件,其i-節(jié)點對應(yīng)的計數(shù)器加1。若i-節(jié)點對應(yīng)的計數(shù)器與i-節(jié)點內(nèi)的共享文件鏈接數(shù)相同,則一致,否則不一致。文件系統(tǒng)的一致性維護(hù)6.5虛擬文件系統(tǒng)56Linux重要的特征之一就是支持多種文件系統(tǒng),從而使多種文件管理系統(tǒng)和文件結(jié)構(gòu)共存。為了支持多種文件系統(tǒng)和文件結(jié)構(gòu),Linux采用了虛擬文件系統(tǒng)(VirtualFileSystem,VFS)。
6.5虛擬文件系統(tǒng)57
VFS在Linux內(nèi)核中扮演的角色如圖6-28所示。當(dāng)進(jìn)程發(fā)起一個面向文件的系統(tǒng)調(diào)用時,內(nèi)核調(diào)用VFS中的一個函數(shù)。586.5虛擬文件系統(tǒng)VFS提供以下功能:?記錄可用的文件系統(tǒng)類型;?將文件系統(tǒng)與對應(yīng)的存儲設(shè)備聯(lián)系起來;?處理面向文件的通用操作;?涉及具體文件系統(tǒng)的操作時,把它們映射到相關(guān)的具體文件系統(tǒng)。VFS由下列四個對象類型組成:超級塊(superblock)對象:代表一個文件系統(tǒng)。存放已安裝的文件系統(tǒng)的信息索引節(jié)點(inode)對象:代表一個文件。存放一個具體文件的所有信息目錄項(dentry)對象:代表路徑中的一個組成部分。存放目錄項與對應(yīng)文件進(jìn)行鏈接的信息。文件(file)對象:代表由進(jìn)程已打開的一個文件。存放已打開的文件與進(jìn)程的交互信息,這些信息僅當(dāng)進(jìn)程訪問文件期間才存于內(nèi)存中
596.5虛擬文件系統(tǒng)1超級塊(superblock)對象超級塊描述了特定文件系統(tǒng)的信息,并存儲在磁盤上的一個特定的扇區(qū)中每個特定文件系統(tǒng),都有各自的超級塊,如Ext2超級塊當(dāng)內(nèi)核對一個特定文件系統(tǒng)進(jìn)行初始化和注冊時,系統(tǒng)在內(nèi)存為其分配一個超級塊,并從磁盤讀取特定文件系統(tǒng)超級塊中的信息填充進(jìn)來,這是VFS超級塊超級對象由許多數(shù)據(jù)項組成:Device:文件系統(tǒng)所在的塊設(shè)備標(biāo)識信息;Inodepointers:索引結(jié)點指針指向文件系統(tǒng)中已安裝索引結(jié)點的第一個索引結(jié)點。而coveredinode指針指向此文件系統(tǒng)安裝目錄的inode。根文件系統(tǒng)的VFS超級塊不包含covered指針;Blocksize:文件系統(tǒng)基本塊的大小(以字節(jié)為單位);Superblockoperations:指向此文件系統(tǒng)一組超級塊操作例程的指針。這些例程被VFS用來讀寫inode和超級塊;FileSystemtype:指向已安裝文件系統(tǒng)的file_system_type結(jié)構(gòu)的指針;FileSystemspecific:指向文件系統(tǒng)所需信息的指針606.5虛擬文件系統(tǒng)2索引結(jié)點對象一個索引結(jié)點(inode)與一個文件相關(guān)聯(lián)。包含關(guān)聯(lián)文件的除了文件的文件名和文件數(shù)據(jù)內(nèi)容之外的所有信息文件名可以更改,但索引節(jié)點對文件是唯一的,且隨文件的存在而存在。索引結(jié)點信息可以從磁盤索引節(jié)點中直接讀入VFS的inode對象中在磁盤上的inode稱為靜態(tài)節(jié)點,讀入內(nèi)存VFS的inode稱為動態(tài)節(jié)點。每個VFSinode包含下列域:
device:索引結(jié)點所在的塊設(shè)備標(biāo)識信息;
inodenumber:文件系統(tǒng)中唯一的inode號。
mode:表示此VFSinode的存取權(quán)限;
userids:所有者的標(biāo)識符;
times:VFSinode創(chuàng)建、修改和寫入時間;
blocksize:文件塊的大小(以字節(jié)為單位);
inodeoperations:指向一組例程地址的指針。
count:使用此VFSinode的系統(tǒng)部件數(shù)。
lock:用來對某個VFSinode加鎖,如用于讀取文件系統(tǒng)時;
dirty:VFSinode是否已經(jīng)被修改過,如果是則底層文件系統(tǒng)需要更新。616.5虛擬文件系統(tǒng)3目錄項對象目錄項(directoryentry,dentry)對象是路徑上的一個特定成分,該成分或為目錄名或為文件名,為文件和目錄的訪問提供方便。例如,在路徑/bin/vi中,VFS為根目錄/、bin和vi分別創(chuàng)建了3個目錄項對象,前兩個是目錄文件,后一個是普通文件。引入dentry的主要目的是對目錄進(jìn)行緩沖,加快對文件的快速定位,改進(jìn)文件系統(tǒng)效率。dentry結(jié)構(gòu)代表邏輯意義上的文件,描述文件的邏輯屬性,它在磁盤上并沒有對應(yīng)的映像;而inode結(jié)構(gòu)代表物理意義上的文件,記錄文件的物理屬性,它在磁盤上有對應(yīng)的映像。一個有效的dentry結(jié)構(gòu)必定對應(yīng)一個inode結(jié)構(gòu)一個inode可能對應(yīng)多個dentry結(jié)構(gòu),也就是說,一個文件可以有多個文件名或路徑名,626.5虛擬文件系統(tǒng)4文件對象文件對象代表一個進(jìn)程所打開的一個文件文件對象包含如下一些數(shù)據(jù)項: 與該文件相關(guān)聯(lián)的目錄對象; 包含該文件的文件系統(tǒng); 文件對象使用計數(shù)器; 用戶ID; 用戶組ID; 文件指針,即文件中下一次操作發(fā)生的當(dāng)前位置。636.5虛擬文件系統(tǒng)5主要的數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系646.5虛擬文件系統(tǒng)6Linux文件系統(tǒng)的安裝和管理同其他操作系統(tǒng)一樣,Linux支持多個物理硬盤,每個物理磁盤可以劃分為一個或多個磁盤分區(qū),在每個磁盤分區(qū)上就可以建立一個文件系統(tǒng)。一個文件系統(tǒng)在物理數(shù)據(jù)組織上一般劃分成引導(dǎo)塊、超級塊、inode區(qū)以及數(shù)據(jù)區(qū)。引導(dǎo)塊位于文件系統(tǒng)開頭,通常為一個扇區(qū),存放引導(dǎo)程序、用于讀入并啟動操作系統(tǒng)。超級塊記錄文件系統(tǒng)的管理信息,因此不同的文件系統(tǒng)對應(yīng)的超級塊中存儲的信息也不相同。inode區(qū)用于登記每個文件的目錄項,第一個inode是該文件系統(tǒng)的根節(jié)點。數(shù)據(jù)區(qū)則存放文件數(shù)據(jù)或一些管理數(shù)據(jù)。一個安裝好的Linux操作系統(tǒng)究竟支持幾種不同類型的文件系統(tǒng),是通過文件系統(tǒng)類型注冊鏈表來描述的,VFS以鏈表形式管理已注冊的文件系統(tǒng)。向系統(tǒng)注冊文件系統(tǒng)類型有兩種途徑,一是在編譯操作系統(tǒng)內(nèi)核時確定,并在系統(tǒng)初始化時通過函數(shù)調(diào)用向注冊表登記;另一種是把文件系統(tǒng)當(dāng)作一個模塊,通過kerneld或insmod命令在裝入該文件系統(tǒng)模塊時向注冊表登記它的類型。6.6文件系統(tǒng)的類型65文件系統(tǒng)按類型可分成以下四種:磁盤文件系統(tǒng)
:是一種設(shè)計用來利用數(shù)據(jù)存儲設(shè)備來保存計算機文件的文件系統(tǒng),如:FAT、exFAT、NTFS、ext3、ext4等。閃存文件系統(tǒng)
:是一種設(shè)計用來在閃存上儲存文件的文件系統(tǒng)。偽文件系統(tǒng)
:啟動時動態(tài)生成的文件系統(tǒng),包含有關(guān)當(dāng)前正在運行的內(nèi)核的許多信息、配置和日志。網(wǎng)絡(luò)文件系統(tǒng):NFS,(NetworkFileSystem)是一種將遠(yuǎn)程主機上的分區(qū)(目錄)經(jīng)網(wǎng)絡(luò)掛載到本地系統(tǒng)的一種機制,是一種分布式文件系統(tǒng)。6.7文件管理實例:UNIX文件管理66UNIX操作系統(tǒng)可由多個可以動態(tài)安裝及拆卸的文件系統(tǒng)組成。UNIX文件系統(tǒng)主要分為兩大類:根文件系統(tǒng)和附加文件系統(tǒng)。
(1)UNIX文件類型(2)UNIX文件系統(tǒng)存儲結(jié)構(gòu)(3)目錄與索引結(jié)點(4)文件分配(5)文件系統(tǒng)的打開與讀寫(1)UNIX文件類型67在UNIX中文件共分為六種:普通文件(ordinaryfile):文本文件和二進(jìn)制文件目錄文件(directory)特殊文件(specialfile):設(shè)備文件,在/dev目錄下有名管道文件鏈接文件:硬鏈接,基于索引結(jié)點的共享符號鏈接文件(symboliclinks):包含被鏈接文件的路徑名(2)UNIX文件系統(tǒng)存儲結(jié)構(gòu)UNIX文件系統(tǒng)結(jié)構(gòu)的組成元素是引導(dǎo)塊
(Bootblock,0#塊):存儲了引導(dǎo)或初啟操作系統(tǒng)的引導(dǎo)代碼。超級塊(Superblock,1#塊):用來描述文件系統(tǒng)的狀態(tài)。如指出文件系統(tǒng)的大小、有關(guān)空閑塊分配和回收用的堆棧等。索引結(jié)點表(Inodetable,2#~K#塊):用來存放文件說明信息。UNIX系統(tǒng)把一個文件的說明信息稱為i結(jié)點或索引結(jié)點。索引結(jié)點表的大小由系統(tǒng)管理人員在進(jìn)行系統(tǒng)配置時指定。數(shù)據(jù)塊(Datablock,K+1#塊之后)用來存放文件數(shù)據(jù),包括目錄文件數(shù)據(jù)68(3)
目錄與索引結(jié)點69
UNIX文件系統(tǒng)具有如圖6-23所示的樹型層次結(jié)構(gòu)(3)
目錄與索引結(jié)點70為了減少檢索文件訪問的物理塊數(shù),UNIX把目錄中的文件名和其它文件說明信息分開,把除文件名之外的其它文件屬性信息組成文件控制塊,稱為索引結(jié)點(i-node)。一個目錄是一個包含文件名列表和指向相關(guān)索引結(jié)點指針的文件
索引結(jié)點存放在物理存儲器的索引結(jié)點表中,從1開始順序編號,記為i-no(4)
文件分配71文件分配是以塊為單位,采用動態(tài)分配方式進(jìn)行分配。UNIX采用多級索引分配方法,即基于索引結(jié)點的分配方法。文件數(shù)據(jù)塊的直接索引指針和間接索引的部分指針保存在索引結(jié)點表中72(4)
文件分配73(4)
文件分配文件系統(tǒng)的存儲分配和回收包括索引結(jié)點和磁盤塊的分配和回收。系統(tǒng)將有關(guān)空閑索引結(jié)點和空閑磁盤塊的信息保存在超級塊(如圖6-22)中。超級塊包括以下等方面內(nèi)容:文件系統(tǒng)的大??;文件系統(tǒng)中的空閑塊數(shù)目;可用的空閑塊表;空閑塊表中的下一個空閑塊的下標(biāo);索引結(jié)點表的大小;空閑索引結(jié)點數(shù)目;空閑索引結(jié)點表;空閑索引結(jié)點表中下一個空閑索引結(jié)點的下標(biāo);空閑塊表的鎖字段和空閑索引結(jié)點表的鎖字段;用來指示超級塊已被修改的標(biāo)志。74(4)
文件分配當(dāng)安裝一個文件系統(tǒng)時,核心要將超級塊讀入內(nèi)存中當(dāng)創(chuàng)建一個新文件時,核心要為該文件分配一個索引結(jié)點當(dāng)進(jìn)程寫文件信息時,核心要從文件系統(tǒng)中分配空閑磁盤塊,把它作為直接或間接數(shù)據(jù)塊UNIX系統(tǒng)按成組鏈接法來組織空閑磁盤塊,如圖6-17所示分配一個空閑磁盤塊時,就把超級塊中的空閑塊號表中的下一個空閑塊分配出去?;厥找淮疟P塊時,分未滿和已滿兩者情況處理。這種方案有以下幾點好處:(1)索引結(jié)點大小固定,并且相對比較小,因而可以在主存中保留比較長的時間。(2)小文件可以通過很少的間接訪問,或不通過間接訪問,從而減少了處理時間和磁盤訪問時間。(3)理論上,文件大小對所有的應(yīng)用程序來說都是足夠的。(5)文件系統(tǒng)的打開與讀寫75進(jìn)程對文件的操作都是通過系統(tǒng)調(diào)用完成的。有關(guān)文件操作的系統(tǒng)調(diào)用所涉及到的主要數(shù)據(jù)結(jié)構(gòu)有:用戶打開文件表、系統(tǒng)打開文件表和內(nèi)存索引結(jié)點表766.7文件管理實例:Windows文件管理(NTFS)NTFS(NewTechnologyFileSystem)是WindowsNT操作環(huán)境和WindowsNT高級服務(wù)器網(wǎng)絡(luò)操作系統(tǒng)環(huán)境的文件系統(tǒng)
。
NTFS取代了文件分配表(FAT)文件系統(tǒng)。(1)NTFS的主要特性(2)NTFS卷和文件結(jié)構(gòu)(3)NTFS的可恢復(fù)性
776.7文件管理實例:Windows文件管理(NTFS)(1)NTFS的主要特性可恢復(fù)性安全性大磁盤和大文件多數(shù)據(jù)流日志壓縮和加密硬鏈接和符號鏈接通用索引功能
786.7文件管理實例:Windows文件管理(NTFS)(2)NTFS卷和文件結(jié)構(gòu)扇區(qū)(sector):磁盤上最小的物理單位簇(cluster):一個或多個連續(xù)的扇區(qū)(磁盤上彼此緊挨著)
卷(volume):磁盤上的邏輯分區(qū)。一個卷包含文件系統(tǒng)信息、一組文件及卷中剩余的可以分配給文件的未分配空間796.7文件管理實例:Windows文件管理(NTFS)(2)NTFS卷和文件結(jié)構(gòu)NTFS卷布局分區(qū)引導(dǎo)扇區(qū):包含卷的布局信息、文件系統(tǒng)的結(jié)構(gòu)以及引導(dǎo)啟動信息和代碼主文件表:包含關(guān)于在這個NTFS卷中所有文件和文件目錄的信息以及關(guān)于可用的未分配空間的信息。每一行描述了該卷中的一個文件或文件夾。系統(tǒng)文件:MFT2、日志文件、簇的位映像、屬性定義表。806.7文件管理實例:Windows文件管理(NTFS)(3)NTFS的可恢復(fù)性支持可恢復(fù)性的重要組成I/O管理日志文件服務(wù)高速緩存管理器:通過延遲寫和延遲提交技術(shù)優(yōu)化磁盤I/O虛存管理器為確定可恢復(fù)性,需要以下四個步驟(1)調(diào)用日志文件系統(tǒng),在高速緩存內(nèi)的日志文件中記錄任何修改卷結(jié)構(gòu)的事務(wù)(2)NTFS修改這個卷(在高速緩存中);(3)高速緩存管理器調(diào)用日志文件系統(tǒng),提示它刷新磁盤中的日志文件;(4)如果日志文件在磁盤上的更新是安全的,則高速緩存管理器把該卷的變化刷新到磁盤中。第7章輸入/輸出管理本章目標(biāo)掌握I/O管理的基本原理、算法及處理機制能夠識別I/O管理功能實現(xiàn)的關(guān)鍵環(huán)節(jié)和影響因素能夠認(rèn)識到I/O管理功能實現(xiàn)有多種方案可選擇,能夠通過文獻(xiàn)研究,在多種方案中,尋求一種更合適的解決方案能夠遵循系統(tǒng)化的基本要求,確定解決I/O管理的設(shè)計目標(biāo)和技術(shù)方案能夠運用所學(xué)知識解決I/O管理設(shè)計與實現(xiàn)問題,能在設(shè)計實現(xiàn)中體現(xiàn)創(chuàng)新意識能夠?qū)嶒灲Y(jié)果進(jìn)行輸入條件關(guān)聯(lián)分析和解釋,并能綜合應(yīng)用場景和技術(shù)需求,得出結(jié)論的有效性第7章輸入/輸出管理
7.1I/O管理概述
7.2
I/O控制方式
7.3
I/O緩沖
7.4
設(shè)備驅(qū)動程序
7.5
設(shè)備分配
7.6
磁盤存儲器的管理
7.7
時鐘管理和電源管理
7.8
輸入/輸出管理實例通常將處理器和主存以外的設(shè)備稱為外部設(shè)備(或I/O設(shè)備)。I/O設(shè)備種類繁多,操作系統(tǒng)必須提供相應(yīng)的設(shè)備管理程序,簡單、方便、高效、統(tǒng)一使用各類設(shè)備。7.1I/O
管理概述7.1.1I/O管理目標(biāo)與功能
7.1.2I/O系統(tǒng)組成7.1.1
I/O管理目標(biāo)與功能I/O子系統(tǒng)概述I/O子系統(tǒng)指對設(shè)備進(jìn)行管理的那部分操作系統(tǒng)。I/O管理目標(biāo)為用戶提供方便、統(tǒng)一的界面。提高資源的利用率。I/O管理功能設(shè)備控制設(shè)備分配與回收。其它功能建立統(tǒng)一的獨立于I/O設(shè)備的應(yīng)用接口;完成設(shè)備驅(qū)動程序,實現(xiàn)真正的I/O操作;處理I/O設(shè)備的中斷處理;管理I/O緩沖區(qū);實現(xiàn)設(shè)備的虛擬性和獨立性
7.1.2
I/O系統(tǒng)組成5.1.2I/O子系統(tǒng)設(shè)計目標(biāo)I/O設(shè)備
設(shè)備控制器
通道
I/O統(tǒng)一接口7.1.2
I/O系統(tǒng)組成5.1.2I/O子系統(tǒng)設(shè)計目標(biāo)系統(tǒng)組成I/O設(shè)備:用于完成數(shù)據(jù)的輸入與輸出;控制器:用于控制對應(yīng)的I/O設(shè)備;通路:用于數(shù)據(jù)傳輸(總線型或通道型)
;應(yīng)用接口:為不同設(shè)備的使用提供統(tǒng)一的接口。7.1.2
I/O系統(tǒng)組成5.1.2I/O子系統(tǒng)設(shè)計目標(biāo)系統(tǒng)總線主機(CPU、存儲器)磁盤控制器磁盤顯示器控制器顯示器其它控制器其它設(shè)備存儲器通道A控制器A設(shè)備1設(shè)備2設(shè)備3設(shè)備4通道B控制器B總線型系統(tǒng)通道型系統(tǒng)7.1.2
I/O系統(tǒng)組成5.1.2I/O子系統(tǒng)設(shè)計目標(biāo)關(guān)鍵技術(shù)I/O調(diào)度技術(shù):緩沖區(qū)管理技術(shù)。設(shè)備分配與回收技術(shù)。虛擬設(shè)備技術(shù)。
I/O設(shè)備
按設(shè)備的從屬關(guān)系分類:系統(tǒng)設(shè)備:如鍵盤,顯示器等,OS安裝時就進(jìn)行管理。用戶設(shè)備:如網(wǎng)卡,掃描儀,打印機等,用戶安裝驅(qū)動程序。按設(shè)備的共享屬性分類:共享設(shè)備:同一時間段允許多個進(jìn)程使用。如硬盤,光盤等。獨占設(shè)備:同一時間段只許一個進(jìn)程使用。如鍵盤,打印機等。虛擬設(shè)備:將獨占設(shè)備轉(zhuǎn)化為共享設(shè)備。按傳輸速率分類:低速設(shè)備:傳輸率:幾個B-幾百B/S。如鍵盤,鼠標(biāo)。中速設(shè)備:傳輸率:幾個KB-幾十KB/S。如打印機。高速設(shè)備:傳輸率:幾十KB-幾個MB/S。如磁盤、光盤機。按信息交換單位分類:字符設(shè)備:以字符為單位組織處理信息。如打印機。塊設(shè)備:以數(shù)據(jù)塊為單位組織處理信息。如磁盤,光盤。I/O設(shè)備的分類
設(shè)備控制器1.設(shè)備控制器的功能接收和識別命令數(shù)據(jù)交換獲取設(shè)備的狀態(tài)地址識別2.設(shè)備控制器的組成設(shè)備控制器與處理機的接口I/O控制邏輯設(shè)備控制器與設(shè)備的接口
通道1.什么是通道通道指專門用來處理輸入/輸出工作的處理器(簡稱I/O處理器)。2.通道的種類字節(jié)多路通道數(shù)據(jù)選擇通道數(shù)組多路通道3.通道程序操作碼內(nèi)存地址傳送字節(jié)數(shù)特征位
I/O統(tǒng)一接口設(shè)備硬件級設(shè)備驅(qū)動程序……設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序接口邏輯I/O系統(tǒng)調(diào)用接口內(nèi)核內(nèi)核級用戶級用戶進(jìn)程庫函數(shù)用戶進(jìn)程7.2I/O控制方式7.2.1程序直接控制方式7.2.2中斷控制方式7.2.3DMA控制方式7.2.4通道控制方式程序直接控制方式:用詢問指令測試設(shè)備狀態(tài),決定主存與設(shè)備交換一個字。早期計算機采用之。
優(yōu)點:工作過程簡單
缺點:CPU的利用率很低
7.2.1
程序直接控制方式中斷控制方式:I/O正常/異常結(jié)束中斷CPU要求處理。I/O操作直接由CPU控制。優(yōu)點:提高了CPU的利用率,并且支持CPU與設(shè)備的并行工作。
缺點:數(shù)據(jù)傳輸中,中斷發(fā)生次數(shù)較多,耗費大量CPU時間。7.2.2
中斷控制方式直接存儲器存?。―MA)控制方式
在外圍設(shè)備和內(nèi)存之間開辟直接的數(shù)據(jù)交換通路。該方法一般用于塊設(shè)備的數(shù)據(jù)傳輸。
優(yōu)點:不用CPU干預(yù),減輕了CPU的負(fù)擔(dān);
I/O數(shù)據(jù)傳送速度大大提高;
特點:1)數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊2)傳輸數(shù)據(jù)直接從設(shè)備送入內(nèi)存或相反3)數(shù)據(jù)傳輸在DMA控制器控制下完成4)硬件線路比較復(fù)雜7.2.3DMA控制方式DMA控制器的組成主機與DMA控制器的接口
DMA控制器與塊設(shè)備的接口
I/O控制邏輯主機與控制器的接口由四類寄存器實現(xiàn)。命令/狀態(tài)寄存器內(nèi)存地址寄存器數(shù)據(jù)寄存器數(shù)據(jù)計數(shù)器DirectMemoryAccess(DMA)OperationofaDMAtransferDMA工作過程參數(shù)準(zhǔn)備階段DMA工作階段中斷處理階段交換數(shù)據(jù)的字節(jié)數(shù),主存地址,輔存地址,交換類型等DMA發(fā)傳輸請求,CPU應(yīng)答,DMA控制器接管對總線的控制,主存尋址,啟動數(shù)據(jù)傳輸利用中斷向CPU報告DMA操作結(jié)束7.2.4
通道方式和輸入輸出處理器DMA輸入輸出控制方法只解決了外存與主存的快速數(shù)據(jù)傳輸,CPU的效率不高,為提高CPU與I/O設(shè)備的并行性,引入了通道結(jié)構(gòu)。通道
獨立于CPU的專門用來處理輸入輸出控制的處理器(簡稱I/O處理器),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。有自己的通道指令,指令受CPU啟動,操作結(jié)束向CPU發(fā)中斷信號。舉例:通道方式下的數(shù)據(jù)輸入過程:1)CPU發(fā)啟動指令,指明I/O操作,設(shè)備號和對應(yīng)通道。2)通道接收CPU指令,讀出內(nèi)存中的通道指令,執(zhí)行通道程序,控制設(shè)備將數(shù)據(jù)傳輸?shù)街付▋?nèi)存區(qū)域。3)數(shù)據(jù)傳輸結(jié)束后,向CPU發(fā)中斷請求,CPU轉(zhuǎn)中斷處理程序。通道控制方式與DMA方式的比較相似處:都以內(nèi)存為中心,實現(xiàn)設(shè)備和內(nèi)存直接交換數(shù)據(jù)。不同處:
1)DMA方式中,數(shù)據(jù)傳輸方向,內(nèi)存始址,數(shù)據(jù)塊長度都由CPU控制;通道方式中,這些由通道控制。2)通道控制方式可以做到一個通道控制多臺設(shè)備與內(nèi)存進(jìn)行數(shù)據(jù)交換,DMA方式時每臺設(shè)備至少有一個DMA控制器。2.通道的類型字節(jié)多路通道選擇通道數(shù)組多路通道以字節(jié)為單位分時傳送以成組方式傳送分時傳輸一個數(shù)據(jù)塊主要用于低速或中速設(shè)備主要用于高速設(shè)備用于中速設(shè)備分時并行操作通道利用率低傳輸速率高,通道利用率高3.通道程序
1)通道程序:由通道命令按照一定的控制要求組織起來的,它規(guī)定I/O設(shè)備所應(yīng)執(zhí)行的操作及順序。2)通道命令(CCW):規(guī)定了對設(shè)備操作的指令。包含信息:l
操作碼:規(guī)定了指令所執(zhí)行的操作,有數(shù)據(jù)傳輸類、通道轉(zhuǎn)移類、設(shè)備控制類三類。l
內(nèi)存地址:標(biāo)明了數(shù)據(jù)送入內(nèi)存或從內(nèi)存取出時的內(nèi)存首址。l
傳送字節(jié)數(shù):表明本指令所要讀或?qū)懙淖止?jié)數(shù)。l
特征位:程序結(jié)束位、記錄結(jié)束標(biāo)志位。3)通道程序的組織形成通道程序放在主存;將通道程序的首地址送入通道地址字(CAW)。即通知通道;通道程序在執(zhí)行過程中也把信息匯集在主存的另一個固定單元中,該單元稱為通道狀態(tài)字CSW;CSW指出包括下一條通道命令的主存地址、通道及與之相連的控制器和設(shè)備的狀態(tài),以及數(shù)據(jù)傳輸?shù)那闆r。4)一次的I/O執(zhí)行過程(1)根據(jù)要求組織好通道程序,且把通道程序的首地址放在通道地址字中。(2)CPU執(zhí)行“啟動I/O”指令啟動通道工作,通道逐條執(zhí)行通道命令,控制設(shè)備實現(xiàn)輸入輸出操作。(3)通道完成輸入輸出操作后,向CPU報告執(zhí)行情況,CPU處理來自通道的信息。7.3I/O緩沖7.3.1單緩沖
7.3.2雙緩沖
7.3.3循環(huán)緩沖
7.3.4緩沖池
7.3.5緩沖的作用
緩沖技術(shù)是為了緩解快速的主機和慢速的I/O設(shè)備速度不相匹配的矛盾。引入緩沖的主要原因:緩解CPU與I/O設(shè)備間速度不匹配的矛盾,提高CPU與I/O設(shè)備之間的并行性減少對CPU的中斷頻率,放寬對中斷響應(yīng)時間的限制7.3.1
單緩沖在內(nèi)存開辟一個緩沖區(qū)預(yù)輸入或緩輸出減少對磁盤的操作優(yōu)點:緩解設(shè)備與處理機的處理速度矛盾缺點:設(shè)備和設(shè)備之間不能通過單緩沖達(dá)到并行操作傳輸傳輸操作系統(tǒng)用戶進(jìn)程I/O設(shè)備7.3.2
雙緩沖兩個系統(tǒng)緩沖區(qū)一個用于緩沖輸入、一個用于緩沖輸出或者兩個都用于輸入或輸出優(yōu)點:提高了CPU與設(shè)備,設(shè)備與設(shè)備之間的并行性缺點:難以滿足多進(jìn)程和多設(shè)備之間并行操作的需要傳輸傳輸操作系統(tǒng)用戶進(jìn)程I/O設(shè)備7.3.3
循環(huán)緩沖多個緩沖區(qū)形成循環(huán)緩沖鏈一部分用于緩沖輸入、一部分用于緩沖輸出優(yōu)點:提高了CPU與設(shè)備及設(shè)備與設(shè)備之間的并行能力缺點:消耗大量的內(nèi)存空間,并且利用率也不高傳輸傳輸操作系統(tǒng)用戶進(jìn)程I/O設(shè)備緩沖區(qū)1……緩沖區(qū)n7.3.4
緩沖池緩沖池:把多個緩沖區(qū)連接起來統(tǒng)一管理,既可用于輸入又可用于輸出的緩沖結(jié)構(gòu)。1.緩沖池結(jié)構(gòu)每個緩沖區(qū)由兩部分組成:緩沖區(qū)首部和緩沖體。三種隊列:空白緩沖隊列em:隊首指針為F(em)和隊尾指針為L(em)輸入緩沖隊列in:隊首指針為F(in)和隊尾指針為L(in)輸出緩沖隊列out:隊首指針為F(out
)和隊尾指針為L(out
)7.3.4
緩沖池工作緩沖狀態(tài):收容輸入緩沖區(qū)(hin)、提取輸入緩沖區(qū)(sin)、收容輸出緩沖區(qū)(hout)、提取輸出緩沖區(qū)(sout)。收容輸入提取輸入緩沖池用戶進(jìn)程輸入設(shè)備hinsoutsinhout收容輸出提取輸出輸出設(shè)備輸入緩沖隊列in輸出緩沖隊列out空白緩沖隊列em7.3.4
緩沖池2.管理(1)take_buf(type):取出一個緩沖區(qū)(2)add_buf(type,number):插入緩沖區(qū)(3)get_buf(type,number):申請緩沖區(qū)(4)put_buf(type,work_buf):放入相應(yīng)緩沖區(qū)3.工作過程(1)收容輸入。(2)收容輸出。(3)提取輸入。(4)提取輸出。7.3.5
緩沖的作用緩沖是用來平滑I/O需求峰值的一種技術(shù)。提高操作系統(tǒng)效率和單個進(jìn)程性能的一種方法7.4設(shè)備驅(qū)動程序1設(shè)備驅(qū)動程序的模式2設(shè)備驅(qū)動程序的功能3設(shè)備驅(qū)動程序的特點4設(shè)備驅(qū)動程序的處理過程1設(shè)備驅(qū)動程序的模式設(shè)備驅(qū)動程序(DeviceDriver):控制設(shè)備直接進(jìn)行各種操作的內(nèi)核模塊。特點:與設(shè)備類型一一對應(yīng),設(shè)備不同,驅(qū)動程序也不相同;一個設(shè)備驅(qū)動程序也可控制一種給定類型的多種設(shè)備。好處:方便用戶操作使用物理設(shè)備,降低操作系統(tǒng)設(shè)計復(fù)雜性。驅(qū)動程序的兩種實現(xiàn)模式:(1)驅(qū)動程序作為內(nèi)核過程操作系統(tǒng)中使用的主要模式。
優(yōu)點:便于實現(xiàn)I/O子系統(tǒng)的層次模型,將其作為特殊文件處理,提供統(tǒng)一的界面,管理和使用。(2)驅(qū)動程序作為獨立的進(jìn)程(I/O進(jìn)程)
缺點:不便于I/O子系統(tǒng)的層次實現(xiàn);系統(tǒng)開銷大;不能將其與文件統(tǒng)一地處理2設(shè)備驅(qū)動程序的功能將接收到的上層軟件的抽象要求轉(zhuǎn)換為具體要求。檢查用戶I/O請求的合法性,了解I/O設(shè)備狀態(tài),傳遞參數(shù),設(shè)置設(shè)備工作方式。發(fā)出I/O命令,啟動設(shè)備,完成指定I/O操作。
及時響應(yīng)處理控制器或通道發(fā)出的中斷請求。對有通道的系統(tǒng),根據(jù)用戶I/O請求,自動構(gòu)成通道程序。3設(shè)備驅(qū)動程序的特點設(shè)備驅(qū)動程序是請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信程序。設(shè)備驅(qū)動程序與I/O設(shè)備的特性緊密相關(guān)。設(shè)備驅(qū)動程序與I/O控制方式緊密相關(guān)。設(shè)備驅(qū)動程序與硬件緊密相關(guān)。4設(shè)備驅(qū)動程序的處理過程設(shè)備驅(qū)動程序所做的工作:l
執(zhí)行進(jìn)程提出的I/O請求。l完成I/O后要用中斷向CPU報告完成情況,并準(zhǔn)備好執(zhí)行下一個請求。l
按某種優(yōu)化策略維護(hù)I/O請求隊列,以優(yōu)化系統(tǒng)性能。4設(shè)備驅(qū)動程序的處理過程執(zhí)行I/O請求的驅(qū)動程序一般處理過程:1)將用戶及上層軟件對設(shè)備控制器的抽象要求轉(zhuǎn)為具體要求;(相對地址物理地址)2)檢查I/O請求的合法性;3)讀出和檢查設(shè)備的狀態(tài);4)傳送必要的參數(shù)(如傳送字節(jié)數(shù)、主存始址送入相應(yīng)的控制寄存器);5)設(shè)置工作方式;6)啟動I/O設(shè)備;(向命令寄存器發(fā)控制命令)7.5設(shè)備分配7.5.1設(shè)備分配原則與分配方式
7.5.2設(shè)備分配時應(yīng)該考慮的因素
7.5.3設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)7.5.4I/O設(shè)備分配的基本流程7.5.5SPOOLing技術(shù)7.5.1
設(shè)備分配原則與分配方式
1.設(shè)備分配原則提高設(shè)備利用率并避免死鎖方便用戶使用設(shè)備2.設(shè)備分配方式靜態(tài)分配動態(tài)分配7.5.2
設(shè)備分配時應(yīng)考慮的因素1.I/O設(shè)備的固有屬性獨占設(shè)備的分配共享設(shè)備分配虛擬設(shè)備分配
2.I/O設(shè)備的分配算法(1)先來先服務(wù)(2)優(yōu)先級高者優(yōu)先
3.設(shè)備分配的安全性⑴安全分配方式⑵不安全分配方式
4.設(shè)備無關(guān)性將用戶程序和具體物理設(shè)備隔離開來,即實現(xiàn)設(shè)備無關(guān)性(獨立性)
邏輯設(shè)備與物理設(shè)備好處:設(shè)備分配時的靈活性易于實現(xiàn)I/O重定向獨占設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu):
設(shè)備控制表(DCT)
系統(tǒng)為每一個設(shè)備都設(shè)置一張設(shè)備控制表,用于記錄本設(shè)備的情況。包括:設(shè)備標(biāo)識符,設(shè)備類型,設(shè)備狀態(tài),重執(zhí)行次數(shù)或時間,控制器控制表指針,設(shè)備隊列指針。
控制器控制表(COCT)和通道控制表(CHCT)
每個控制器設(shè)置一張控制器控制表,每個通道配有一張通道控制表。COCT包括控制器標(biāo)識符,控制器狀態(tài),與控制器連接的通道表指針,控制器隊列隊首,隊尾指針。
CHCT包括通道標(biāo)識符,通道狀態(tài),與通道連接的控制器表指針,
通道隊列隊首,隊尾指針。
系統(tǒng)設(shè)備表(SDT)
記錄系統(tǒng)中所有設(shè)備信息,每個設(shè)備占一個表目。包括設(shè)備類型,標(biāo)識符,DCT和設(shè)備驅(qū)動程序的地址。7.5.3
設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)SDT、DCT、COCT和CHCT的關(guān)系SDT表目1…表目i設(shè)備類型設(shè)備標(biāo)識獲得設(shè)備的進(jìn)程DCT指針…DCT設(shè)備類型設(shè)備標(biāo)識設(shè)備忙/閑標(biāo)識COCT指針設(shè)備等待隊首設(shè)備等待隊尾…COCT控制器標(biāo)識控制忙/閑標(biāo)識CHCT指針控制器等待隊首控制器等待隊尾…CHCT通道標(biāo)識通道忙/閑標(biāo)識通道等待隊首通道等待隊尾…分配步驟:1)分配設(shè)備。查找系統(tǒng)設(shè)備表,若找到好的空設(shè)備,并滿足安全性要求,則將該空設(shè)備分配給請求進(jìn)程,然后轉(zhuǎn)分配控制器,若不能分配,將進(jìn)程PCB插入設(shè)備的等待隊列。2)分配控制器。在DCT中查找與該設(shè)備連接的COCT,檢查控制器是否空閑,若空閑,則將控制器分配給請求進(jìn)程,然后轉(zhuǎn)分配通道,否則請求進(jìn)程PCB進(jìn)入該控制器的等待隊列。
3)分配通道。在COCT中查找與該控制器連接的CHCT,檢查通道是否空閑,若是空閑,則將通道分配給該請求進(jìn)程,然后啟動I/O設(shè)備進(jìn)行數(shù)據(jù)傳送,否則該進(jìn)程PCB進(jìn)入該通道的等待隊列上。
7.5.4
設(shè)備分配的基本流程7.5.5
Spooling技術(shù)問題的提出:系統(tǒng)中獨占設(shè)備數(shù)目有限,不能滿足多進(jìn)程的需要設(shè)備的靜態(tài)分配可導(dǎo)致等待進(jìn)程被阻塞獨占設(shè)備的利用率不高為此現(xiàn)代操作系統(tǒng)提供虛擬設(shè)備來解決這些問題。1.什么是SPOOLing脫機工作模式7.5.5
Spooling技術(shù)1.什么是SPOOLing假脫機操作SPOOLing(SimultancausPeriphernalOperationOn-Line)技術(shù)在一臺共享設(shè)備(如高速、大容量的磁盤設(shè)備)上模擬若干臺獨占設(shè)備的操作,使每一臺獨占設(shè)備成為若干臺可并行操作的虛擬設(shè)備,即把獨占設(shè)備變成邏輯上的共享設(shè)備,從而提高了設(shè)備利用率和系統(tǒng)的效率,這種技術(shù)被稱為虛擬設(shè)備技術(shù)。實現(xiàn)這種技術(shù)的硬件和軟件系統(tǒng)被稱為Spooling(simultaneousperipheraloperationonline)系統(tǒng),或稱為假脫機系統(tǒng)。使用Spooling技術(shù)所提供的設(shè)備就稱為虛擬設(shè)備。7.5.5
Spooling技術(shù)2.SPOOLing的組成(1)輸入井和輸出井(2)輸入緩沖區(qū)和輸出緩沖區(qū)(3)輸入進(jìn)程和輸出進(jìn)程3.SPOOLing系統(tǒng)的工作原理磁盤輸入設(shè)備輸入緩沖區(qū)輸出緩沖區(qū)輸出設(shè)備輸入井輸出井輸入進(jìn)程輸出進(jìn)程7.5.5
Spooling技術(shù)4.SPOOLing系統(tǒng)的特點(1)提高了I/O速度(2)將獨占設(shè)備改造為共享設(shè)備(3)實現(xiàn)了虛擬設(shè)備的功能7.6
磁盤調(diào)度7.6.0
概述7.6.1
磁盤性能參數(shù)7.6.2
磁盤調(diào)度7.6.3
磁盤陣列概述磁盤數(shù)據(jù)的組織磁盤每面上一系列記錄信息的同心圓稱為磁道,磁道間有空隙,把它們從0開始由外向內(nèi)順序編號。不同盤面上具有相同編號的磁道形成一個個柱面。每個磁道一般都劃分若干個相等的扇形弧段,每個弧段稱為一個扇區(qū)或物理紀(jì)錄,各扇區(qū)實際物理長度不同。每個扇區(qū)對應(yīng)的磁道弧長雖然不一,但存儲的信息量是相同的。每個扇區(qū)一般包括兩個字段:標(biāo)識符字段和數(shù)據(jù)字段。每個物理記錄參數(shù):柱面號,磁頭號和扇區(qū)號。概述2.磁盤的類型固定頭磁盤
活動頭磁盤柱面號
磁頭號扇區(qū)號
7.6.1磁盤性能參數(shù)
尋道時間:活動磁頭將讀、寫磁頭移動到相應(yīng)的磁道所花費的時間。
旋轉(zhuǎn)時間:讀、寫定位于某一磁道的扇區(qū)所需要的時間。
傳送時間:數(shù)據(jù)寫入磁盤,或從此磁盤讀出的時間。磁盤I/O請求服務(wù)的時間為以上三部分之和,其中尋道時間所花費的時間最長。7.6.2磁盤調(diào)度
先來先服務(wù)算法
最短尋道時間優(yōu)先算法
掃描算法
循環(huán)掃描法
對隊列多步掃描法
磁盤調(diào)度包括“移動調(diào)度”和“旋轉(zhuǎn)調(diào)度”,分別針對減少尋道時間和旋轉(zhuǎn)時間。我們主要介紹“移動調(diào)度”,即根據(jù)用戶作業(yè)發(fā)出的磁盤I/O請求的柱面位置,來決定請求執(zhí)行順序的調(diào)度。其目的是盡可能的減少移動臂的移動距離。常用的算法有以下幾種:先來先服務(wù)算法
(First-Come-First-Served,FCFS)
根據(jù)進(jìn)程請求訪問磁盤的先后順序進(jìn)行調(diào)度,而不管進(jìn)程的優(yōu)先級。
舉例
優(yōu)點:公平,處理簡單,每個進(jìn)程的請求都會得到處理。
缺點:未對尋道進(jìn)行優(yōu)化,致使平均尋道時間可能較長。舉例:一個磁盤請求序列的磁道號為55,58,39,18,90,160,150,38,184。假定開始時,磁頭位于100號磁道。184160150905855393818磁頭移動方向磁頭總移動量=(100-55)+(58-55)+(58-39)+(39-18)+(90-18)+(160-90)+(160-150)+(150-38)+(184-38)=498平均尋道時間=498/9=55.3最短尋道時間優(yōu)先算法
(Shortest-Seek-Time-First,SSTF)
以申請者要求磁頭移動距離大小作為優(yōu)先的因素,磁道距離磁頭當(dāng)前位置愈近者優(yōu)先。
舉例
優(yōu)點:平均等待時間得到改善,可以獲得較好的尋道性能。
缺點:對用戶進(jìn)程請求的響應(yīng)機會不是均等的,可能導(dǎo)致某些進(jìn)程發(fā)生“餓死”現(xiàn)象。舉例:一個磁盤請求序列的磁道號為55,58,39,18,90,160,150,38,184。假定開始時,磁頭位于100號磁道。184160150905855393818磁頭總移動量=(100-90)+(90-58)+(58-55)+(55-39)+(39-38)+(38-18)+(150-18)+(160-150)+(184-160)=248平均尋道時間=248/9=27.5磁頭移動方向掃描算法
(SCAN,又稱電梯調(diào)度)
不僅考慮申請者要求磁頭移動方向,又考慮要求磁頭移動距離,而且首先是方向一致,其次才是距離最短。
舉例
優(yōu)點:避免了饑餓現(xiàn)象。
缺點:優(yōu)待了中間磁道的請求(因為被服務(wù)者無方向需求),有“磁臂粘著”現(xiàn)象。舉例:一個磁盤請求序列的磁道號為55,58,39,18,90,160,150,38,184。假定開始時,磁頭位于100號磁道。184160150905855393818磁頭移動方向磁頭總移動量=(150-100)+(160-150)+(184-160)+(184-90)+(90-58)+(58-55)+(55-39)+(39-38)+(38-18)=260平均尋道時間=260/9=28.9循環(huán)掃描法
(C-SCAN)規(guī)定磁頭單向移動。將各磁道視作一個環(huán)形緩沖區(qū)結(jié)構(gòu),最大磁道號和最小磁道號構(gòu)成循環(huán)。
舉例
優(yōu)點:等待時間較均衡。
缺點:有“磁臂粘著”現(xiàn)象。舉例:一個磁盤請求序列的磁道號為55,58,39,18,90,160,150,38,184。假定開始時,磁頭位于100號磁道。184160150905855393818磁頭移動方向磁頭總移動量=(150-100)+(160-150)+(184-160)+(184-18)+(38-18)+(39-38)+(55-39)+(58-55)+(90-58)=322平均尋道時間=322/9=35.8思想:把磁盤請求隊列分成長度為N的子隊列;按FCFS策略依次處理這些子隊列,而每處理一個隊列,又是用SCAN策略;在處理某一個隊列時,新請求必須添加到其他某個隊列中。
好處:可避免出現(xiàn)“磁臂粘著”現(xiàn)象。
多隊列多步掃描(N-STEP-SCAN)策略
旋轉(zhuǎn)調(diào)度當(dāng)同一柱面有多個記錄塊的I/O請求時,對該柱面的服務(wù)應(yīng)考慮旋轉(zhuǎn)優(yōu)化調(diào)度。如設(shè)每個磁道有9個記錄塊,當(dāng)前I/O請求:(10,1,8),(10,0,5),(10,0,2),(10,1,1)旋轉(zhuǎn)優(yōu)化調(diào)度:按次序:(10,1,1),(10,0,2),(10,0,5),(10,1,8)來響應(yīng)這些I/O請求,在磁盤旋轉(zhuǎn)一周,即可完成這些I/O。若按I/O請求次序響應(yīng):(10,1,8),(10,0,5),(10,0,2),(10,1,1),磁盤應(yīng)旋轉(zhuǎn)2.5周才可完成這些I/O。7.7時鐘管理和電源管理7.7.1時鐘管理1)時鐘硬件簡單的時鐘被連接到110V或220V的電源線上,每個電壓周期產(chǎn)生一個中斷,來計時。另一種類型的時鐘由三個部件構(gòu)成:晶體振蕩器、計數(shù)器和存儲寄存器。大多數(shù)計算機具有一個由電池供電的備份時鐘。對于一個連入網(wǎng)絡(luò)的系統(tǒng)可以從遠(yuǎn)程主機獲取當(dāng)前時間。7.7時鐘管理和電源管理時鐘軟件涉及時間的其他所有工作都必須由軟件—時鐘驅(qū)動程序完成。通常用于:1)維護(hù)日常時間;2)防止進(jìn)程超時運行;3)CPU的使用情況記賬;4)處理用戶進(jìn)程提出的報警系統(tǒng)調(diào)用;5)為系統(tǒng)本身的各個部分提供監(jiān)視定時器;6)完成概要剖析、監(jiān)視和統(tǒng)計信息收集。軟定時器:是可編程時鐘,可以設(shè)置它以程序需要的任何速率引發(fā)定時器中斷。7.7時鐘管理和電源管理7.7.2電源管理目的是實現(xiàn)更好的節(jié)能與環(huán)保。1)硬件問題大多數(shù)計算機廠商對于電源節(jié)約采取的一般措施是將CPU、內(nèi)存以及I/O設(shè)備設(shè)計成具有多種狀態(tài):工作、睡眠、休眠和關(guān)閉。某些計算機具有兩個甚至三個電源按鈕來實現(xiàn)不同狀態(tài)下的節(jié)能。
7.7時鐘管理和電源管理2)操作系統(tǒng)問題
操作系統(tǒng)必須考慮若干問題來有效管理電源。必須決定關(guān)閉什么設(shè)備、何時關(guān)閉以及以什么狀態(tài)關(guān)閉。采用智能算法或啟發(fā)式方法做決定更好。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版(2024)一年級數(shù)學(xué)上冊期末復(fù)習(xí)專項拔高卷(含答案)
- 河南省許昌市育才學(xué)校2025-2026學(xué)年七年級上學(xué)期期末歷史試卷(含答案)
- 化工企業(yè)消防培訓(xùn)
- 2026年石化行業(yè)策略報告:上游油價觸底、下游供給側(cè)優(yōu)化加速產(chǎn)業(yè)鏈有望迎來共振周期
- 鋼網(wǎng)架結(jié)構(gòu)安裝技術(shù)要點
- 鋼結(jié)構(gòu)工程技術(shù)(35個)
- 2026山東聊城市市屬事業(yè)單位招聘初級綜合類崗位人員87人考試備考試題及答案解析
- 2026廣東廣州市中山大學(xué)腫瘤防治中心中心鼻咽科陳秋燕教授課題組自聘技術(shù)員招聘2人備考考試題庫及答案解析
- 三明林校2025-2026學(xué)年第二學(xué)期外聘教師招聘備考考試題庫及答案解析
- 2026新疆烏市第126中學(xué)慈湖初中部急聘初中物理老師備考考試試題及答案解析
- 2026年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試必刷測試卷附答案
- 新版二年級道德與法治《我們都是中國人》教學(xué)設(shè)計(2課時)
- XX企業(yè)核心優(yōu)勢與戰(zhàn)略發(fā)展
- 2025年中國低氘水行業(yè)市場全景分析及前景機遇研判報告
- 管道區(qū)段長管理辦法
- 2025年江西公務(wù)員考試(財經(jīng)管理)測試題及答案
- CRT-YS4690消防控制室圖形顯示裝置使用說明書-營口賽福德
- 植筋工程施工驗收記錄表范例
- 2025至2030年中國冷凍食品行業(yè)市場調(diào)研及行業(yè)投資策略研究報告
- 壓空罐安全知識培訓(xùn)課件
- 2025年江蘇南京市建鄴區(qū)招聘第一批購崗人員5人筆試模擬試題及答案詳解1套
評論
0/150
提交評論