1. 程式人生 > >作業系統 學習筆記4-檔案管理

作業系統 學習筆記4-檔案管理

第四章 檔案管理

4.1檔案系統基礎

4.1.1檔案的概念

計算機以程序為基本單位進行資源的排程和分配;而在使用者進行的輸入、輸出中,則以檔案為基本單位。大多數應用程式的輸入都是通過檔案來實現的,其輸出也都儲存在檔案中,以便資訊的長期儲存及將來的訪問。當用戶將檔案用於應用程式的輸入、輸出時,還希望可以訪問檔案、修改檔案和儲存檔案等,實現對檔案的維護管理,這就需要系統提供一個檔案管理系統。

使用者通過檔案系統建立檔案,提供應用程式的輸入輸出,對資源進行管理。首先了解檔案的結構,我們通過自底向上的方式來定義。

1)資料項:資料項是檔案系統中最低階的資料組織形式。

2)記錄:記錄是一組相關的資料項集合,用於描述一個物件在某方面的屬性。

3)檔案:檔案是指由建立者所定義的一組相關資訊的集合,可分為有結構檔案和無結構檔案兩種。在有結構檔案中,檔案由一組相似記錄組成,如報考某學校的所有考生的報考資訊記錄;而無結構檔案則被看成是一個字元流,比如一個二進位制檔案或字元檔案。

檔案的屬性:所有檔案的資訊都儲存在目錄結構中,而目錄結構也儲存在外存上。檔案資訊當需要時再調入記憶體。通常,目錄條目包括檔名稱及其唯一標示符,而標示符定位其他屬性的資訊。

4.1.2檔案的基本操作

檔案屬於抽象資料型別。作業系統提供系統呼叫,對檔案進行建立、寫、讀、定位和截斷。

建立檔案:建立檔案有兩個必要步驟。一是在檔案系統中為檔案找到空間;二是在目錄中為新檔案建立條目。此目錄條目記錄檔名稱、在檔案系統中的位置以及其他可能的資訊。

寫檔案:為了寫檔案,執行一個系統呼叫,指明檔名稱和要寫入檔案的內容。對於給定檔名稱,系統搜尋目錄以查詢檔案位置。系統必須為該檔案維護一個寫位置的指標。每當發生寫操作,便更新寫指標。

讀檔案:為了讀檔案,執行一個系統呼叫,指明檔名稱和要讀入檔案塊的記憶體位置。同樣,需要搜尋目錄以找到相關目錄項,系統維護一個讀位置的指標。每當發生讀操作時,更新讀指標。一個程序通常只對一個檔案讀或寫,所以當前操作位置可作為每個程序當前檔案位置指標。由於讀和寫操作都是用同一指標,節省了空間也降低了系統複雜度。

檔案重定位:(檔案定址)按某條件搜尋目錄,將當前檔案位置設為給定值,並且不會讀寫檔案。

刪除檔案:搜尋到給定名稱的檔案並釋放空間,找到相關目錄並予以刪除。

階段檔案:允許檔案所有屬性不變,並刪除檔案內容,即將其長度設為0並釋放其空間。

這六個基本操作可以組成執行其他檔案操作。例如,一個檔案的複製,可以建立新檔案;從舊檔案讀出並寫入到新檔案。

4.1.3檔案的開啟與關閉

因為許多檔案操作都涉及為給定檔案搜尋相關目錄條目,許多系統要求在首次使用檔案時,有系統呼叫open。作業系統維護一個包含所有開啟檔案資訊的表(開啟檔案表,open-filetable)。當需要一個檔案操作時,可通過該表的一個索引指定檔案,就省略了搜尋環節。當檔案不再使用時,程序可以關閉它,作業系統從開啟檔案表中刪除這一個條目。

4.1.4檔案的邏輯結構

檔案的邏輯結構是從使用者觀點出發看到的檔案的組織形式。檔案的物理結構是從實現觀點出發,又稱為檔案的儲存結構,是指檔案在外存上的儲存組織形式。檔案的邏輯結構與儲存介質特徵無關,但檔案的物理結構與儲存介質的特性有很大關係。

按邏輯結構,檔案有無結構檔案和有結構檔案兩種型別:

1無結構檔案:(流式檔案)

無機構檔案是最簡單的檔案組織形式。無結構檔案將資料按順序組織成記錄並積累儲存,它是有序相關資訊項的集合,以位元組(byte)為單位,對基本資訊單位操作不多的檔案比較適於採用字元流的無結構方式,如源程式檔案、目的碼檔案等。

2有結構檔案(記錄式檔案)

有結構檔案按記錄的組織形式可以分為:

1順序檔案。

記錄是定長的且按關鍵字順序排列。可以順序儲存或以連結串列形勢儲存,在訪問時需要順序搜尋檔案。順序檔案有以下兩種結構:

第一種是串結構,各記錄之間的順序與關鍵字無關。通常的辦法是由時間來決定,即按存入時間的先後排列,最先存入的記錄作為第一個記錄,其次存入的為第二個記錄,以此類推。

第二種是順序結構,指檔案中所有記錄按關鍵字順序排列。

在對記錄進行批量操作時,即每次要讀或寫一大批記錄,對順序檔案的效率是所有邏輯檔案中最高的;此外,也只有順序檔案才能儲存在磁帶上,並能有效的工作。但順序檔案對查詢、修改、增加或刪除單個記錄的操作比較困難。

2索引檔案

對於可變長記錄的檔案只能順序查詢,系統開銷較大,為此可以建立一張索引表以加快檢索速度,索引表本身是順序檔案。在記錄很多或是訪問要求高的檔案中,需要引入索引以提供有效的訪問,實際中,通過索引可以成百上千倍的提高訪問速度。

3索引順序表

索引順序表是順序和索引兩種組織形式的結合。索引順序檔案將順序檔案中所有記錄分為若干個組,為順序檔案建立一張索引表,在索引表中為每組中的第一個記錄建立一個索引項,其中含有該記錄的關鍵字值和指向該記錄的指標。

4)直接檔案或雜湊檔案(雜湊檔案,Hash File)

給定記錄的鍵值或通過Hash函式轉換的鍵值直接決定記錄的實體地址。這種對映結構不同於順序檔案或索引檔案,沒有順序的特性。雜湊檔案有很高的存取速度,但是會引起衝突,即不同關鍵字的雜湊函式值相同。

4.1.5目錄結構

與檔案管理系統和檔案集合相關聯的是檔案目錄,它包含有檔案的資訊,包括屬性、位置和所有權等,目錄存取的效率直接影響到系統的效能,所以要提高對目錄的檢索速度;在共享系統中,目錄還需要提供用於控制訪問檔案的資訊。此外,檔案允許重名也是使用者的合理和必然要求,目錄管理通過樹形結構來解決和實現。

(1)檔案控制塊和索引點

同進程管理一樣,為實現目錄管理,作業系統中引入了檔案控制塊的資料結構。

1)檔案控制塊。

檔案控制塊(FCB)是用來存放控制檔案需要的各種資訊的資料結構,以實現“按名存取”。FCB的有序集合稱為檔案目錄,一個FCB就是一個檔案目錄項。為了建立一個新檔案,系統將分配一個FCB並存放在檔案目錄中,稱為目錄項。

FCB主要包含以下資訊:基本資訊,存取控制資訊,使用資訊。

2)索引節點

在檢索目錄檔案的過程中,只用到了檔名,僅當找到一個目錄項(查詢檔名與目錄項中檔名匹配)時,才需要從該目錄項中獨處該檔案的實體地址。也就是說,在檢索目錄時,檔案的其他描述資訊不會用到,也不許調入記憶體。

一個FCB的大小時64B,盤塊大小是1KB,則在每個盤塊中可以存放16個FCB。而在UNIX系統中一個目錄僅佔16B,其中14B是檔名,2B是i節點指標。在1KB的盤塊中可存放64個目錄項。這樣可是查詢檔案時平均啟動磁碟次數減少到原來的1/4,大大節省了系統開銷。

(2)目錄結構

在理解一個檔案系統的需求前,我們首先來了考慮在目錄這個層次上所需要執行的操作,這有助於後面檔案系統的整體理解。

搜尋:當用戶使用一個檔案時,需要搜尋目錄,已找到該檔案的對應目錄項。

建立檔案:當建立一個新檔案時,需要在目錄中增加一個目錄項。

刪除檔案:當刪除一個檔案時,需要在目錄中刪除相應的目錄項。

顯示目錄:使用者可以請求顯示目錄的內容,如顯示該使用者目錄中的所有檔案及屬性。

修改目錄:某些檔案屬性儲存在目錄中,因而這些屬性的變化需要改變相應的目錄項。

操作時,考慮一下集中目錄結構:

1)單級目錄結構。

整個檔案系統只建立一張目錄表,每個檔案佔一個目錄項。

單級目錄結構實現了按名存取,但是存在查詢速度慢、檔案不允許重名、不便於檔案共享等缺點,而且對於多使用者的作業系統顯然是不適用的。

2)兩級目錄結構

單級目錄很容易造成檔名稱的混淆,可以考慮採用兩級方案,將檔案目錄分成主檔案目錄MFD和使用者檔案目錄UFD兩級。

主檔案目錄項紀錄使用者名稱及相應使用者檔案所在的儲存位置。使用者檔案目錄項記錄該使用者檔案的FCB資訊。當某使用者與對其檔案進行訪問時,只需要搜尋該使用者對應的UFD,這即解決了不同使用者檔案的重名問題,也在一定程度上保證了檔案的安全。但是兩級結構對於使用者結構內部結構沒有任何幫助。使用者如果需要在某個任務上進行合作和訪問那其他檔案時便會產生很多問題。

3)多級目錄結構

也成為樹形目錄結構。使用者要訪問某個檔案時用檔案的路徑名標識檔案,檔案路徑名是一個字串,由從根目錄出發到所找檔案的通路商的所有目錄名與資料檔名用分隔符/連線起來而成。從根目錄出發的路徑稱為絕對路徑。當層次較多時,每次從根目錄查詢浪費時間,於是加入了當前目錄,程序對各檔案的訪問都是相對於當前目錄進行的。當用戶要訪問某個檔案時,使用相對路徑標識檔案,相對路徑由從當前目錄出發到所找檔案通路上所有目錄名與資料檔名用分隔符/連結而成。

樹形目錄結構可以很方便的對檔案進行分類,層次結構清晰,也能夠更有效地進行檔案的管理和保護。但是,在屬性目錄中查詢一個檔案,需要按路徑名主機訪問中間節點,這就增加了磁碟訪問次數,無疑將影響查詢速度。

4)無環圖目錄結構

樹形目錄結構可便於實現檔案分類,但不便於實現檔案共享,為此在樹形目錄結構的基礎上增加了一些指向同一節點的有向邊,使整個目錄成為一個有向無環圖。

引入無環圖目錄結構是為了實現檔案共享,使的系統的管理變得更加複雜。

4.1.6檔案共享

檔案共享使多個使用者程序共享同一份檔案,系統中只需保留該檔案的一份副本。如果系統不能提供共享功能,那麼每個需要該檔案的使用者都要有各自的副本,會造成對儲存空間的極大浪費。

隨著計算機技術的發展,檔案共享的範圍已由單機系統發展到多機系統,進而通過網路擴充套件到全球。這些檔案的分享是通過分散式檔案系統、遠端檔案系統、分散式資訊系統實現的。這些系統允許多個客戶通過c/s模型共享網路中的伺服器檔案。

現代常用的兩種檔案共享方法有:

1基於索引節點的共享方式(硬連結)

在樹形結構的目錄中,當有兩個或多個使用者要共享一個子目錄或檔案時,必須將共享檔案或子目錄連線到兩個或多個使用者的目錄中,才能方便的找到該檔案。

在這種共享方式中引用索引節點,即諸如檔案的實體地址及其他的檔案屬性等資訊,不再放在目錄項中,而是放在索引節點中。在檔案目錄中只設置檔名及指向相應索引節點的指標。在索引節點中還應有一個連線計數count,用於表示連線到本索引節點上的使用者目錄項的數目。當count=2時,表示有兩個使用者目錄項連線到本檔案上,或者說是有兩個使用者共享此檔案。

2利用符號鏈實現檔案共享(軟連線)

在利用符號鏈方式實現檔案共享時,只有檔案的擁有者才擁有指向其索引節點的指標。而共享該檔案的其他使用者則只有該檔案的路徑名,並不擁有指向其索引節點的指標。這樣,也就不會發生在檔案主刪除一個共享檔案後留下一個懸空指標的情況。當檔案的擁有者把一個共享檔案刪除後,其他使用者通過符號鏈去訪問它時,會出現訪問失敗,於是再將符號鏈刪除,此時不會產生任何影響。此處我們要注意一個問題:當一個檔案刪除,而在使用其符號連結之前,另一個具有同樣名稱的檔案被建立了。

上述兩種連線方式都存在一個共同的問題,即每個共享檔案都有幾個檔名。換言之,每增加一條連結,就增加一個檔名。這實質上就是每個使用者都是用自己的路徑名去訪問共享檔案。當我們試圖去遍歷整個檔案系統時,將會多次遍歷到該共享檔案。

硬連結和軟連結都是檔案系統中的靜態共享方法,在檔案系統中還存在著另外的共享需求,及兩個程序同時對同一個檔案進行操作。這樣的共享可以稱為動態共享。

5、檔案保護

為了防止檔案共享可能會導致檔案被破壞或未經核準的使用者修改檔案,檔案系統必須控制使用者對檔案的存取,即解決對檔案的讀、寫、執行的許可問題。為此,必須在檔案系統中建立相應的檔案保護機制。

檔案保護通過口令保護、加密保護和訪問控制等方式實現。其中,口令保護和加密保護是為了方式使用者檔案被他人存取或盜取,而訪問控制則用於控制使用者對檔案的訪問方式。

1訪問型別

對檔案的保護可以從限制對檔案的訪問型別中出發。可加以控制的訪問型別主要有以下幾種:讀:,寫,執行,新增,刪除,列表清單。

這些高層的功能可以通過系統程式呼叫低層系統呼叫來實現。保護可以只在底層提供。例如,複製檔案可利用一系列的請求來完成。這樣,具有讀訪問使用者同時也具有複製和列印的許可權了。

2訪問控制

解決訪問控制最常用的方法是根據使用者身份進行控制。而實現基於身份訪問的最為普通的方法是為每個檔案和目錄增加一個訪問控制列表(Access-Control List,ACL),以規定每個使用者名稱及其所允許訪問的型別。

這種方法的優點是可以使用複雜的訪問方法。其缺點是長度無法預期並且可能導致複雜的空間管理,使用精簡的訪問列表可以解決這個問題。

精簡的訪問列表採用擁有者、組合其他三種使用者型別。1)擁有者:建立檔案的使用者。2)組:一組需要共享檔案且具有類似訪問的使用者。3)其他:系統內的所有其他使用者。這樣只需用三個域列出訪問表中這三類使用者的訪問權相即可。

口令和密碼是另外兩種訪問控制方法。

口令指使用者在建立一個檔案時提供一個口令,系統為其建立FCB時附上相應的口令,同時告訴允許共享該檔案的其他使用者。使用者請求訪問時必須提供相應的口令。這種方法時間和空間的開銷不多,缺點是口令直接存在系統內部,不夠安全。

密碼紙使用者對檔案進行加密,檔案被訪問時需要使用金鑰。這種方法保密性強,節省了儲存空間,不過編碼和譯碼要花費一定時間。

口令和密碼都是仿製使用者檔案被他人存取或盜取,並沒有控制使用者對檔案的訪問型別。

注意兩個問題:

1)現代作業系統常用的檔案保護方法,是將訪問控制列表與使用者、組和其他成員訪問控制方案一起組合使用。

2)對於多級目錄結構而言,不僅需要保護單個檔案,而且還需要保護子目錄內的檔案,即需要提供目錄保護機制。目錄操作與檔案操作並不相同,因此需要不同的保護機制。

4.2檔案系統實現

4.2.1檔案系統層次結構

現代作業系統有多種檔案系統型別,因此檔案系統的層次結構也不盡相同。

1使用者呼叫介面

檔案系統為使用者提供與檔案及目錄有關的呼叫,如新建、開啟、讀寫、關閉、刪除檔案,建立、刪除目錄等。此層由若干程式模組組成,每一模組對應一條系統呼叫,使用者發出系統呼叫時,控制即轉入相應的模組。

2檔案目錄系統

檔案目錄系統的主要功能是管理檔案目錄。

3存取控制驗證

實現檔案保護主要由該級軟體完成,它把使用者的訪問要求與FCB中指示的訪問控制權限進行比較,以確認訪問的合法性。

4邏輯檔案系統與檔案資訊緩衝區

邏輯檔案系統與檔案資訊緩衝區的主要功能是根據檔案的邏輯結構將使用者要讀寫的邏輯記錄轉換成檔案的邏輯結構內的相應塊號。

5物理檔案系統

物理檔案系統的主要功能是把邏輯記錄所在的相對塊號轉換成實際的實體地址。

6分配模組

分配模組的主要功能是管理輔存空間,即2負責分配輔存空閒空間和回收輔存空間。

7裝置管理程式模組

裝置管理程式模組的主要功能是分配裝置、分配裝置讀寫緩衝區、磁碟排程、啟動裝置、處理裝置中斷、釋放裝置讀寫緩衝區、釋放裝置等。

4.2.2目錄實現

在讀檔案前,必須先開啟檔案。開啟檔案時,作業系統利用路徑名找到相應目錄項,目錄項中提供了查詢檔案磁碟塊所需要的資訊,目錄實現的基本方法有線性列表和雜湊表兩種方法。

(1)線性列表

最簡單的目錄實現方法是使用儲存檔名和資料塊指標的線性表。

(2)雜湊表

雜湊表根據檔名得到一個值,並返回一個指向線性列表中元素的指標。這種方法的有點事查詢非常迅速,插入和刪除也較簡單,不過需要一些預備措施來避免衝突。最大的困難是雜湊表長度固定以及雜湊函式對錶長的依賴性。

目錄查詢必須通過在磁碟上反覆搜尋完成,需要不斷的進行I/O操作,開銷較大。所以如前面所述,為了減少I/O操作,把當前使用的檔案目錄複製到記憶體,以後要使用該檔案時只要在記憶體中操作,從而見底了磁碟操作次數。

4.3檔案實現

4.3.1檔案分配方式

檔案分配對應於檔案的物理結構,是指如何為檔案分配磁碟塊。常用的磁碟空間分配方式有三種:連續分配、連結分配和索引分配。

1)連續分配。

連續分配方法要求每個檔案在磁碟上佔有一組連續的塊。磁碟地址定義了磁碟上的一個線性排序。這種排序使作業訪問磁碟時需要的尋道數和尋道時間最小。

檔案的連續分配可以用第一塊的磁碟地址和連續塊的數量來定義。一個檔案的目錄條目包括開始塊的地址和該檔案所分配區域的長度。

連續分配支援順序訪問和直接訪問。其優點是實現簡單、存取速度快。缺點在於,檔案長度不宜動態增加,因為一個檔案末尾後的盤塊可能已經分配給其他檔案,一旦需要增加,就需要大量移動盤塊。此外,反覆增刪檔案後會產生外部碎片(與記憶體管理分配方式中的碎片相似),並且很難確定一個檔案需要的空間大小,因而只適用於長度固定的檔案。

2)連結分配(離散分配)

連結分配解決了連續分配的碎片和檔案大小問題。採用連結分配,每個檔案對應一個磁碟塊的連結串列;磁碟塊分佈在磁碟的任何地方,除最後一個盤塊外,每個盤塊都有指向下一個盤塊的指標,這些指標對使用者是透明的。目錄包括檔案第一塊的指標和最後一塊的指標。

連結分配方式沒有外部碎片,空閒空間列表上的任何塊都可以用來滿足請求。建立檔案時並不需要說明檔案大小。只要有空閒塊檔案就可以增大,也無需合併磁碟空間。

連結分配的缺點在於無法直接訪問盤塊,只能通過指標順序訪問檔案,以及盤塊指標消耗了一定的儲存空間。連結分配方式的穩定性也是一個問題。

3)索引分配

連線分配解決了連續分配的外部碎片和檔案大小管理的問題。但是,連結分配不能有效支援直接訪問(FAT除外)。

每個檔案都有其索引塊,這是一個磁碟塊地址的陣列。訪問檔案需要兩次訪問外存——首先要讀取索引塊的內容,然後在訪問具體的磁碟塊,因而降低了檔案的存取速度。為了解決這一問題,通常將檔案的索引塊讀入記憶體的緩衝區,以加快檔案的訪問速度。

4.3.2檔案儲存管理

1檔案儲存管理空間的劃分與初始化。

一個檔案儲存在一個檔案卷中。檔案卷可以是物理盤的一部分,也可以是整個物理盤,支援超大型檔案的檔案卷也可以是有多個物理盤組成。

在一個檔案卷中,檔案資料資訊的空間(檔案區)和存放檔案控制資訊FCB的空間(目錄區)是分離的。由於存在很多種類的檔案表示和存放格式,所以現代作業系統中一般都有很多不同的檔案管理模組,通過他們可以訪問不同格式的邏輯卷中的檔案。邏輯卷在提供檔案服務前,必須由對應的檔案程式進行初始化,劃分好目錄區和檔案區,建立空閒空間管理表格及存放邏輯卷資訊的超級塊。

檔案儲存裝置的管理實質上是對空閒塊的組織和管理,它包括空閒塊的組織,分配與回收等問題。

4.3、磁碟組織與管理

1、磁碟的結構

磁碟是由表面塗有磁性物質的金屬或塑料構成的圓形碟片,通過一個稱為磁頭的到體系安全從磁碟中存取資料。由於扇區按固定圓心角劃分,所以密度從最外道向裡道增加,磁碟的儲存能力受限於最內道的最大記錄密度。

磁碟地址用“柱面號-盤面號-扇區號(或塊號)”來表示。

2、磁碟排程演算法

目前常用的磁碟排程演算法有以下幾種:

1)先來先服務(FCFS)演算法

根據程序請求訪問磁碟的先後順序進行排程處理,這是一種最簡單的排程演算法。這種演算法的優點是具有公平性。如果只有少量程序需要訪問,且大部分請求都是訪問簇聚的檔案扇區,則會達到較好的效能;但如果有大量程序競爭使用磁碟,那麼這種演算法在效能上往往低於隨即排程。所以,實際磁碟排程中考慮一些更為複雜的排程演算法。

2)最短尋找時間優先(SSTF)演算法

SSTF選擇排程處理的磁軌是與當前磁頭所在磁軌距離最近的磁軌,一是每次的尋找時間最短。當然,總是選擇最小尋找時間並不能保證平均尋找時間最小,但是能提供比FCFS演算法更好的效能。這種演算法會產生飢餓現象。

3)掃描(SCAN)演算法又稱為電梯演算法

SCAN演算法在磁頭當前移動方向上選擇與當前磁頭所在磁軌距離最近的請求作為下一次服務的物件。由於磁頭移動規律與電梯執行相似,故又稱為電梯排程演算法。SCAN演算法對最掃描過的區域不公平,因此,他在訪問區域性性方面不如FCFS演算法和SSTF演算法好。

4)迴圈掃描(C-SCAN)演算法

在掃面演算法的基礎上規定磁頭單向移動來提供服務,回返時直接快速移動至起始端而不服務任何請求。由於SCAN演算法偏向於處理那些接近最裡或最外的磁軌的訪問請求,所以使用改進型的C-SCAN演算法來避免這個問題。

採用scan演算法和c-scan演算法時磁頭總是嚴格地遵循從盤面的一端到另一端,顯然在實際使用時還可以改進,即磁頭移動只需要到達最遠端的一個請求即可返回,不需要到達磁碟端點這種形式的SCAN演算法和C-SCAN演算法成為LOOK和C-LOOK排程。這是因為它們在朝一個給定方向移動前會檢視是否有請求。

對比以上幾種磁碟排程演算法,FCFS演算法太簡單,效能較差,僅在請求佇列長度接近於1時才較為理想;SSTF演算法較為通用和自然;SCAN演算法和C-SCAN演算法在磁碟負載較大時比較佔優勢。

除了減少尋找時間外,減少延遲時間也是提高磁碟傳輸效率的重要因素。

3、磁碟的管理

1磁碟初始化

一個新的磁碟只是一個含有磁性記錄材料的空白盤。在磁碟能儲存資料之前,它必須分成扇區以便磁碟控制器能進行讀和寫的操作,這個過程稱為低階格式化(物理分割槽)。低階格式化為磁碟的每個扇區採用特別的資料結構。

為了使用磁碟儲存檔案。作業系統還需要將自己的資料結構記錄在磁碟上:第一步將磁碟分為一個或多個柱面組成分割槽;低而不對物理分割槽進行邏輯格式化,作業系統將出師的檔案系統資料結構儲存在磁碟上,這些資料結構包括空閒和已分配的空間以及一個初始為空的目錄。

2引導塊

計算機啟動時需要執行一個初始化程式(自舉程式),它初始化CPU、暫存器、裝置控制器和記憶體等。

自舉程式通常儲存在ROM中,為了避免改變自舉程式碼需要改變ROM硬體的問題,故指在ROM中保留很小的自舉裝入程式,將完整功能的自舉程式儲存在磁碟的啟動塊上,啟動塊位於磁碟的固定位。擁有啟動分割槽的磁碟稱為啟動磁碟或者系統磁碟。

3壞塊

由於磁碟有移動部件且容錯能力弱,所以容易導致一個或多個扇區損壞。

對於簡單磁碟,壞扇可手工處理。對於複雜的磁碟,其控制器維護一個磁碟壞塊連結串列。低階格式化將一些塊保留作為備用,對作業系統透明。控制器可以使用備用塊來邏輯地代替壞塊,這種方案稱為扇區備用。

相關推薦

作業系統 學習筆記4-檔案管理

第四章 檔案管理 4.1檔案系統基礎 4.1.1檔案的概念 計算機以程序為基本單位進行資源的排程和分配;而在使用者進行的輸入、輸出中,則以檔案為基本單位。大多數應用程式的輸入都是通過檔案來實現的,其輸

作業系統學習筆記2_處理器管理

一、中央處理器 一個程式裝載入記憶體後有四個部分: 程式碼 資料 堆(heap):malloc分配的空間就是從這裡來的 棧(stack):系統使用的空間,儲存函式的返回地址。                 &n

TensorFlow學習筆記(4) 變數管理

隨著神經網路的結構更加複雜,引數更多時,需要一個更好的方式來傳遞和管理變數。在TF中提供了通過變數的名字來建立或者獲取一個變數的機制,通過這個機制不同函式可以直接通過變數的名字來直接使用變數。這機制主要是通過tf.get_variable和tf.variable_scope實現的。 除了tf.V

易學筆記-系統分析師考試-第3章 作業系統基本原理/3.4 檔案管理/3.4.1 檔案的組織結構

檔案的組織結構 概念:指的是檔案的構造方式,從使用者角度是檔案的邏輯組織,從系統角度是檔案的物理組織 檔案的邏輯結構 概念:使用者概念中的檔案,不依賴於物理儲存 無結構的流式檔案 指的是資訊項的組合,單位是位元組,系統不

易學筆記-系統分析師考試-第3章 作業系統基本原理/3.4 檔案管理/3.4.2 儲存空間管理

易學筆記 十年IT經驗個人學習筆記分享: 開發語言:C/C++/JAVA/PYTHON/GO/JSP WEB架構:Servlets/springMVC/springBoot/springClound 容器架構:Docker容器/Docker叢集/Docker與微服務整合/

《鳥哥的linux私房菜》學習筆記2-檔案與目錄管理與查閱(思維導圖)

1、常見處理目錄的命令:cd,pwd,mkdir,rmdir 2、檔案與目錄的管理:ls(https://blog.csdn.net/weixin_42610712/article/details/83032052),cp,rm,mv,touch 3、檔案內容查閱——cat 4、檔案內容

作業系統學習筆記(一) 分割槽表、系統引導與檔案系統

作為初學者,可能很難分清分割槽表和檔案系統之間的關係,畢竟在很多時候,磁碟分割槽操作都籠統的稱為“分割槽”,而檔案系統則被簡稱做“格式化”,當然筆者也算,不過,對於作業系統有興趣的人,分割槽表和檔案系統註定是個繞不過去的坑。在作業系統的幾大重要知識點(程序管理,記憶體管理等)

docker學習筆記4.1-使用Dockerfile檔案構建映象

Dockerfile檔案 Dockerfile 使用基於DSL語法的指令來構建一個Docker映象,之後使用docker build命令基於該Dockerfile的指令構建一個新的映象。 建立Dockerfile檔案 我們必須建立一個目錄來儲存Doc

理解作業系統4--檔案管理疑惑總結

檔案和檔案系統 檔案系統是作業系統的一個重要組成部分,負責管理系統裡面的檔案,為使用者提供檔案操作介面,檔案系統由實施檔案管理的軟體和被管理的檔案組成,為使用者提供使用檔案的操作介面,檔案系統軟體屬於系統核心程式碼,檔案按照特定的格式存放在磁碟分割槽。檔案系統通常安裝磁碟分

軟考-架構師-第二章-作業系統 第五節 檔案管理 (讀書筆記

主要針對希賽出版的架構師考試教程《系統架構設計師教程(第4版)》,作者“希賽教育軟考學院”。完成相關的讀書筆記以便後期自查,僅供個人學習使用,不得用於任何商業用途。 第五節 檔案管理 每一種軟體資源本身都是具有一定邏輯意義的相關資訊的集合,在

作業系統 學習筆記5-輸入輸出管理

第五章 輸入輸出管理 5.1 I/O管理概述 計算機系統中的I/O裝置按使用特性可以分為一下型別: 1)人機互動類外部裝置,又稱慢速I/O裝置,用於同計算機使用者之間互動的裝置,如印表機、顯示器、滑鼠

Java File類學習筆記4:自定義一個類,過濾指定副檔名的檔案

一、FilenameFilter介紹 java.io.File類提供了四個方法用於列舉某個路徑下的檔案和目錄,但不會遞迴列舉子目錄下的內容 其中兩個是列舉路徑下的所有檔案和目錄。 (1)String

作業系統概念學習筆記 16 記憶體管理(二) 段頁

作業系統概念學習筆記 16 記憶體管理 (二) 分頁(paging) 分頁(paging)記憶體管理方案允許程序的實體地址空間可以使非連續的。分頁避免了將不同大小的記憶體塊匹配到交換空間上(前面敘述的記憶體管理方案都有這個問題,當位於記憶體中的程式

Robot Operating System (ROS)學習筆記4---語音控制

sla 語音 出現 tput http 學習 process 輸入 ubun 搭建環境:XMWare Ubuntu14.04 ROS(indigo) 轉載自古月居 轉載連接:http://www.guyuehome.com/260 一、語音識別包 1、安裝

ESP8266學習筆記4:ESP8266的SmartConfig

rtc 訂閱號 new 例程 detail smart ted tracking 不能 今天花了將近一天的時間來研究ESP8266的SmartConfig功能,這個應該算是wifi雲產品的標配。這篇文章先把SmartConfig操作一遍,我還寫了還有一篇文章梳理了物理層

有趣的Ruby-學習筆記4

all 庫文件 scrip 。。 trac module 由於 content pos Ruby塊塊。在我看來就是插入一段可變的函數block_name{ statement1 statement2 .......... }看起來不知道是什麽,只是別急

Python學習筆記4 高級特性_20170618

don 全部 one cat rate for 切片 表示 ict # 切片(獲取list / tuple / 字符串 中指定的元素) l = list(range(10)) l[0:3] l[:3] # 0可以省略 l[:] # 全部 l[3:] # 最後的可以省略 l

(MYSQL學習筆記4)事務的開啟、提交、回滾

mysql 事務 使用事務要註意以下三點:1、在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。2、事務處理可以用來維護數據庫的完整性,保證成批的 SQL 語句要麽全部執行,要麽全部不執行。3、事務用來管理 insert,update,delete 語句MYSQL 事務處理

深度學習 Deep Learning UFLDL 最新Tutorial 學習筆記 4:Debugging: Gradient Checking

style inline add tom radi posit math size tutorial 1 Gradient Checking 說明前面我們已經實現了Linear Regression和Logistic Regression。關鍵在於代價函數Cost Fun

Linux學習筆記4-CentOS7中redis3.2.9安裝教程

錯誤 img make .gz 需要 down images red pre redis下載地址:http://www.redis.cn/download.html 1、將下載過來的redis-3.2.9.tar.gz文件復制到/usr/local文件夾下 2、tar x