通用日誌檔案系統

通用日誌檔案系統(Common Log File System,縮寫CLFS)是一個通用目的的日誌檔案系統,它可以從核心模式或用戶模式的應用程式訪問,用以構建一個高性能的事務日誌。它自Windows Server 2003 R2引入,並包含在之後版本的Windows作業系統中。CLFS可以用於數據日誌與事件日誌。CLFS已被TxF和TxR用於在提交事務前存儲事務狀態的變更。

基本介紹

  • 中文名:通用日誌檔案系統
  • 外文名:Common Log File System
  • 性質:日誌檔案系統
  • 領域:計算機
簡介,日誌檔案系統,核心模式,

簡介

與任何其他事務日誌記錄系統一樣,CLFS的工作是記錄某些操作所需的一系列步驟,以便將來可以準確地回放它們以將事務提交到輔助存儲,或者在需要時撤消。CLFS第一乘警日誌記錄到記憶體緩衝區,然後寫他們登錄,檔案上的二級存儲穩定的媒體在CLFS術語中)用於永久持久性。當數據刷新到穩定介質時,由內置策略控制,但CLFS客戶端應用程式可以覆蓋它並強制刷新。CLFS允許根據定義的策略自定義日誌格式,擴展和截斷日誌,以及多個客戶端應用程式同時使用。CLFS能夠將日誌檔案存儲在檔案系統的任何位置。
CLFS定義了設備驅動程式接口(DDI),物理存儲系統特定的驅動程式通過該接口插入CLFS API。CLFS驅動程式實現了ARIES恢復算法;使用自定義驅動程式可以支持其他算法。
CLFS既支持專用日誌,也支持多路復用日誌。專用日誌包含單個日誌記錄流,而多路復用日誌包含多個流,每個流用於不同的應用程式。即使多路復用日誌具有多個流,也會在一個批次中按順序將日誌刷新到流中。CLFS可以提前為一組日誌記錄分配空間(在實際生成日誌之前),以確保操作不會因缺少存儲空間而失敗。
首先將CLFS流中的日誌記錄放入系統記憶體中緩衝區中的Log I / O Block。定期將塊刷新到穩定的存儲設備。在存儲設備上,日誌包含一組容器,這些容器是連續分配的,每個容器包含多個Log I / O塊。新的日誌記錄將附加到當前集合中。每個記錄由日誌序列號標識(LSN),一個增加的32位序列號。LSN和其他元數據存儲在記錄頭中。LSN對容器的標識符,記錄的偏移量和記錄的標識符進行編碼 - 該信息隨後用於訪問日誌記錄。但是,容器標識符是邏輯標識符,它們必須映射到物理容器。映射由CLFS本身完成。

日誌檔案系統

日誌檔案系統(英語:Journaling file system)是一種檔案系統在發生變化時,先把相關的信息寫入一個被稱為日誌的區域,然後再把變化寫入主檔案系統的檔案系統。在檔案系統發生故障(如核心崩潰或突然停電)時,日誌檔案系統更容易保持一致性,並且可以較快恢復。
對檔案系統進行修改時,需要進行很多操作。這些操作可能中途被打斷,也就是說,這些操作不是“不可中斷”(atomic)的。如果操作被打斷,就可能造成檔案系統出現不一致的狀態。
例如:刪除檔案時,先要從目錄樹中移除檔案的標示,然後收回檔案占用的空間。如果在這兩步之間操作被打斷,檔案占用的空間就無法收回。檔案系統認為它是被占用的,但實際上目錄樹中已經找不到使用它的檔案了。
在非日誌檔案系統中,要檢查並修復類似的錯誤就必須對整個檔案系統的數據結構進行檢查。一般在掛載檔案系統前,作業系統會檢查它上次是否被成功卸載,如果沒有,就會對其進行檢查。如果檔案系統很大或者I/O頻寬有限,這個操作可能會花費很長時間。

核心模式

計算機科學中,核心模式經常被叫作保護環(Protection Rings),又稱環型保護(Rings Protection)、CPU環(CPU Rings),簡稱Rings。這是一種用來在發生故障時保護數據和功能,提升容錯度,避免惡意操作,提升計算機安全的設計方式。這是一種與能力基礎安全(capability-based security)完全相反的方式。
電腦作業系統提供不同的資源訪問級別。在計算機體系結構中,Rings是由兩個或更多的特權態組成。在一些硬體或者微代碼級別上提供不同特權態模式的CPU架構上,保護環通常都是硬體強制的。Rings是從最高特權級(通常被叫作0級)到最低特權級(通常對應最大的數字)排列的。在大多數作業系統中,Ring 0擁有最高特權,並且可以和最多的硬體直接互動(比如CPU,記憶體)。
Rings之間的特殊門是被提供用來允許外層Ring在預定義的方式內訪問內層Ring的資源用的,內層Ring可以隨便使用外層Ring的資源。正確使用Rings間的門可以阻止某個Ring或者特權級的程式故意濫用其他程式的資源,提升安全性。例如,某個間諜軟體作為一個在Ring 3運行的用戶程式,它在不通知用戶的時候打開攝像頭應該會被阻止,因為訪問硬體需要使用被驅動程式保留的Ring 1的方法。瀏覽器一類在高Ring級別運行的程式必須請求許可權才能訪問網路,也就是受低Ring級別限制的資源。

相關詞條

熱門詞條

聯絡我們