JFS與JFS2的區別

2021-10-09 10:51:01 字數 2023 閱讀 7685

jfs與jfs2的區別

jfs和jfs2檔案系統都是檔案和目錄的集合,管理檔案或目錄在磁碟上的位置。除了檔案和目錄以外,jfs2型別的檔案系統還包含乙個超級塊、分配點陣圖和乙個或多個分配組。分配組由磁碟i節點和片區(extent)組成。乙個jfs2型別的檔案系統也佔據乙個邏輯卷。

在jfs中,超級塊的大小是4096位元組,偏移量是4096位元組;而在jfs2中,超級塊的大小仍是4096位元組,但是超級塊在邏輯卷中的偏移量是32768位元組。

jfs2的新功能包括基於片區的(extent)的分配、目錄排序和檔案系統物件的動態空間分配等。

1.基於片區(extent)的定址結構

片區是乙個連續的可變長的檔案系統塊的序列,它是jfs2物件的分配單位。"大片區"可以跨越多個分配組。一般而言,jfs2的分配策略通過為每乙個片區分配盡可能大和連續的區間來使檔案系統中片區的數量達到最小,使邏輯塊的分配更加連續。這樣能夠提供更大的i/o傳輸效率,達以改善效能的目的。但是在有些情況上並不能總是達到這種理想的效果。

片區是由邏輯塊偏移量(logical offset)、長度(length)和實體地址(physical address)組成的三元組來描述。其中由邏輯塊偏移量和長度可能計算出實體地址。基於片區的定址結構是由片區描述、作為根的i節點和作為鍵值的檔案內的邏輯偏移量而構成的乙個子b+樹。

2. 可變的邏輯塊大小

jfs2把磁碟空間分割成塊,jfs2支援512,1024,2048和4096位元組塊的大小。不同的檔案系統可以使用不同的塊的大小,從而達到優化空間的目的,減少目錄或檔案內部的殘片(fragmentation).

3.動態分配磁碟i節點。

jfs2給磁碟i節點動態地按需分配空間,當i節點不再需要時就會釋放i節點所占用的空間。這個特點避免了在建立標準jfs時為磁碟i節點預留固定數量磁碟空間的缺點。因此,這樣就不需要使用者在建立檔案系統時計算這個檔案系統中要儲存的檔案和目錄的最大數。

4.目錄組織

jfs2提供了兩種不同的目錄組織.第1種目錄組織適用於小目錄和在乙個目錄的i節點中儲存目錄的內容.這種目錄組織不需要單獨的目錄塊i/o和單獨的儲存分配.

第2種目錄組織適用於較大的目錄,每乙個目錄就是乙個以名字為鍵值的b+樹.與傳統的、線性的、未分級的目錄組織相比,這種目錄組織能夠提供更塊的目錄查詢、插入和刪除的能力。

jfs2支援已安裝的檔案系統(即使有程序訪問這個檔案系統)對殘餘在檔案系統中的空閒空間的整理功能。一旦乙個檔案系統的空閒空間變成分散的殘片,對這些殘片的整理將會使得jfs2提供i/o效率更高的磁碟空間分配,從而避免出現一些因空閒空間不連續而不夠分配的情況。

標準的jfs和jfs2的主要功能對照表:

功能

jfs2

jfs

塊/碎片的大小

512~4096byte的塊 

512~4096byte的碎片

理論上的最大檔案

1pb64gb

理論上的最大檔案系統

4pb16tb(64位核心)1tb(32位核心)

已測試過的最大檔案

1tb64gb

已測試過的最大檔案系統

1tb1tb

i節點的數量

動態分配,受磁碟空間限制

固定,在建立檔案系統時預先設定

目錄的組織結構

b+樹結構

線性的結構

支援支援

是否支援壓縮

不支援支援

建立時的預設所有權屬性

root.system

sys.sys

預設檔案模式中的sgid

sgid=off

sgid=on

是否支援配額(quotas)

不支援支援

擴充套件的acl

支援支援

是否支援intel itanium架構

支援不支援

是否支援ibm powerpc架構

支援支援

在aix系統中,所有的i/o單位都是4kb的塊,但是在空間的分配上使用512位元組的塊作為單位,這樣做僅僅是為了和其他unix系統保持一致。

AIX jfs 和jfs2 檔案系統

檔案系統型別 日誌型檔案系統 jfs 32位作業系統環境的檔案系統 增強型日誌檔案系統 jfs2 64位作業系統的預設檔案系統 網路檔案系統 nfs 允許使用者訪問遠端計算機上的系統 cd rom檔案系統 cdrfs rom檔案系統 udfs 2.rootvg中的檔案系統 aix系統安裝完成之後,r...

SQL EXISTS與IN的區別(2)

select from a where id in select id from b 以上查詢使用了in語句,in 只執行一次,它查出b表中的所有id欄位並快取起來.之後,檢查a表的id是否與b表中的id相等,如果相等則將a表的記錄加入結果集中,直到遍歷完a表的所有記錄.它的查詢過程類似於以下過程 ...

DB2與oracle的區別2

db2與oracle的區別 1 db2 訪問前10行資料與oracle區別 db2 select from test fetch first 10 rows only oracle select from test where rownum 10 查詢語句 db2 不提供 轉換 select fro...