資料介紹
														在近代歷史上,日志文件系統(tǒng)被認(rèn)為十分奇特,主要是處于研究階段。而如今,日志文件系統(tǒng)(ext3)已經(jīng)成為 Linux的缺省文件系統(tǒng)。本文向大家揭示了日志文件系統(tǒng)背后的一些思想,以及在電源故障或系統(tǒng)崩潰時(shí),如何提供更好的完整性。此外本文還介紹了現(xiàn)行的幾種日志文件 系統(tǒng)和下一代日志文件系統(tǒng)。
定義日志文件系統(tǒng)的方法有很多種,但是讓我們抓住要點(diǎn)。日志文件系統(tǒng)就是專為那些厭倦了一直盯著啟動時(shí) fsck(即文件系統(tǒng)一致性檢查)的人而設(shè)計(jì)的(日志文件系統(tǒng)同樣適用于希望文件系統(tǒng)具有故障恢復(fù)能力的群體)。如果系統(tǒng)采用傳統(tǒng)的未提供日志功能的文件系統(tǒng),那么操作系統(tǒng)在檢測到系統(tǒng)為非正常關(guān)機(jī)時(shí),會使用 fsck 應(yīng)用程序執(zhí)行一致性檢驗(yàn)。該應(yīng)用程序會掃描文件系統(tǒng)(這要花費(fèi)很長的時(shí)間),并修復(fù)任何可安全修復(fù)的問題。而在某些情況下,當(dāng)文件系統(tǒng)損壞嚴(yán)重時(shí),操作系統(tǒng)會啟動到單用戶模式,由用戶進(jìn)行進(jìn)一步的修復(fù)。
那么現(xiàn)在您應(yīng)該清楚日志文件系統(tǒng)針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統(tǒng)地說,日志文件系統(tǒng)就是通過維護(hù)一份日志來防止文件系統(tǒng)崩潰。所謂日志就是一種特殊的文件,它會在一個(gè)循環(huán)的緩沖區(qū)內(nèi)記錄文件系統(tǒng)的修改,然后 將其定期提交到文件系統(tǒng)。一旦系統(tǒng)發(fā)生崩潰,日志文件就會起到一個(gè)檢查點(diǎn)的作用,用于恢復(fù)未保存的信息,防止損壞文件系統(tǒng)元數(shù)據(jù)。
總之,日志文件系統(tǒng)就是一種具有故障恢復(fù)能力的文件系統(tǒng),它利用日志來記錄尚未提交到文件系統(tǒng)的修改,以防止元數(shù)據(jù)破壞(請參見圖 1)。但是如眾多其他 Linux 解決方案一樣,日志文件系統(tǒng)有多種方案供您選擇。下面就讓我們一起簡短回顧一下日志文件系統(tǒng)的歷史,然后再看一看現(xiàn)行的幾種文件系統(tǒng),看看它們之間有什么 區(qū)別。//本文轉(zhuǎn)自www.45it.com電腦軟硬件應(yīng)用網(wǎng)
  
圖 1. 典型的日志文件系統(tǒng)
Linux 日志文件系統(tǒng)的歷史
最早的日志文件系統(tǒng)是 IBM-Journaled File System(JFS)。JFS 于 1990 年首次發(fā)行,而當(dāng)前 Linux 支持的版本是后期開發(fā)的 JFS2。1994 年,Silicon Graphics 為 IRIX 操作系統(tǒng)引進(jìn)了高性能的 XFS。XFS 于 2001 年被植入 Linux 系統(tǒng)中。1998 年開發(fā)的智能文件系統(tǒng)(SFS)起初是為 Amiga 開發(fā)的,但之后卻在 GNU Lesser General Public License(LGPL)下發(fā)行,并于 2005 年獲得了 Linux 的支持。最常用的日志文件系統(tǒng) ext3fs(third extended file system)是 ext2 的擴(kuò)展,它增加了記錄日志的功能。從 2001 年起,Linux 系統(tǒng)中就開始支持 ext3fs。最終,ReiserFS 日志文件系統(tǒng)在其被引入之后,力壓群雄,被廣泛使用。但由于其原開發(fā)者的一些法律糾紛,ReiserFS 日志文件系統(tǒng)未能得到進(jìn)一步的發(fā)展。
日志的幾種變體
日志文件系統(tǒng)是使用日志來緩沖文件系統(tǒng)的修改(同時(shí)也可以應(yīng)用于緊急故障恢復(fù))的,但可以根據(jù)記錄的時(shí)間與內(nèi)容采取不同的策略。其中,三種常見的策略為:回寫(writeback)、預(yù)定(ordered)和數(shù)據(jù)(data)。
在回寫模式 中,僅有元數(shù)據(jù)被記錄到日志,數(shù)據(jù)塊則被直接寫入到磁盤位置上。這樣可以保存文件系統(tǒng)結(jié)構(gòu),防止崩潰,但卻有可能發(fā)生數(shù)據(jù)崩潰(比如:在元數(shù)據(jù)記錄到日志后,數(shù)據(jù)塊寫入磁盤前,系統(tǒng)崩潰)。要想解決這個(gè)問題,您可以使用預(yù)定模式。預(yù)定模式 只將元數(shù)據(jù)記錄到日志,但是在此之前將數(shù)據(jù)寫入到磁盤。這樣就可以保證系統(tǒng)恢復(fù)后數(shù)據(jù)和文件系統(tǒng)的一致性。最后一種模式將數(shù)據(jù)也記錄到了日志中。在數(shù)據(jù)模式 中,元數(shù)據(jù)和數(shù)據(jù)都被記錄到日志中。這種模式可以最大限度地防止文件系統(tǒng)崩潰與數(shù)據(jù)丟失,但由于全部數(shù)據(jù)都寫入了兩次(先寫入日志,再寫入磁盤),系統(tǒng)性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時(shí),還是在超時(shí)后?
												
												
												定義日志文件系統(tǒng)的方法有很多種,但是讓我們抓住要點(diǎn)。日志文件系統(tǒng)就是專為那些厭倦了一直盯著啟動時(shí) fsck(即文件系統(tǒng)一致性檢查)的人而設(shè)計(jì)的(日志文件系統(tǒng)同樣適用于希望文件系統(tǒng)具有故障恢復(fù)能力的群體)。如果系統(tǒng)采用傳統(tǒng)的未提供日志功能的文件系統(tǒng),那么操作系統(tǒng)在檢測到系統(tǒng)為非正常關(guān)機(jī)時(shí),會使用 fsck 應(yīng)用程序執(zhí)行一致性檢驗(yàn)。該應(yīng)用程序會掃描文件系統(tǒng)(這要花費(fèi)很長的時(shí)間),并修復(fù)任何可安全修復(fù)的問題。而在某些情況下,當(dāng)文件系統(tǒng)損壞嚴(yán)重時(shí),操作系統(tǒng)會啟動到單用戶模式,由用戶進(jìn)行進(jìn)一步的修復(fù)。
那么現(xiàn)在您應(yīng)該清楚日志文件系統(tǒng)針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統(tǒng)地說,日志文件系統(tǒng)就是通過維護(hù)一份日志來防止文件系統(tǒng)崩潰。所謂日志就是一種特殊的文件,它會在一個(gè)循環(huán)的緩沖區(qū)內(nèi)記錄文件系統(tǒng)的修改,然后 將其定期提交到文件系統(tǒng)。一旦系統(tǒng)發(fā)生崩潰,日志文件就會起到一個(gè)檢查點(diǎn)的作用,用于恢復(fù)未保存的信息,防止損壞文件系統(tǒng)元數(shù)據(jù)。
總之,日志文件系統(tǒng)就是一種具有故障恢復(fù)能力的文件系統(tǒng),它利用日志來記錄尚未提交到文件系統(tǒng)的修改,以防止元數(shù)據(jù)破壞(請參見圖 1)。但是如眾多其他 Linux 解決方案一樣,日志文件系統(tǒng)有多種方案供您選擇。下面就讓我們一起簡短回顧一下日志文件系統(tǒng)的歷史,然后再看一看現(xiàn)行的幾種文件系統(tǒng),看看它們之間有什么 區(qū)別。//本文轉(zhuǎn)自www.45it.com電腦軟硬件應(yīng)用網(wǎng)

圖 1. 典型的日志文件系統(tǒng)
Linux 日志文件系統(tǒng)的歷史
最早的日志文件系統(tǒng)是 IBM-Journaled File System(JFS)。JFS 于 1990 年首次發(fā)行,而當(dāng)前 Linux 支持的版本是后期開發(fā)的 JFS2。1994 年,Silicon Graphics 為 IRIX 操作系統(tǒng)引進(jìn)了高性能的 XFS。XFS 于 2001 年被植入 Linux 系統(tǒng)中。1998 年開發(fā)的智能文件系統(tǒng)(SFS)起初是為 Amiga 開發(fā)的,但之后卻在 GNU Lesser General Public License(LGPL)下發(fā)行,并于 2005 年獲得了 Linux 的支持。最常用的日志文件系統(tǒng) ext3fs(third extended file system)是 ext2 的擴(kuò)展,它增加了記錄日志的功能。從 2001 年起,Linux 系統(tǒng)中就開始支持 ext3fs。最終,ReiserFS 日志文件系統(tǒng)在其被引入之后,力壓群雄,被廣泛使用。但由于其原開發(fā)者的一些法律糾紛,ReiserFS 日志文件系統(tǒng)未能得到進(jìn)一步的發(fā)展。
日志的幾種變體
日志文件系統(tǒng)是使用日志來緩沖文件系統(tǒng)的修改(同時(shí)也可以應(yīng)用于緊急故障恢復(fù))的,但可以根據(jù)記錄的時(shí)間與內(nèi)容采取不同的策略。其中,三種常見的策略為:回寫(writeback)、預(yù)定(ordered)和數(shù)據(jù)(data)。
在回寫模式 中,僅有元數(shù)據(jù)被記錄到日志,數(shù)據(jù)塊則被直接寫入到磁盤位置上。這樣可以保存文件系統(tǒng)結(jié)構(gòu),防止崩潰,但卻有可能發(fā)生數(shù)據(jù)崩潰(比如:在元數(shù)據(jù)記錄到日志后,數(shù)據(jù)塊寫入磁盤前,系統(tǒng)崩潰)。要想解決這個(gè)問題,您可以使用預(yù)定模式。預(yù)定模式 只將元數(shù)據(jù)記錄到日志,但是在此之前將數(shù)據(jù)寫入到磁盤。這樣就可以保證系統(tǒng)恢復(fù)后數(shù)據(jù)和文件系統(tǒng)的一致性。最后一種模式將數(shù)據(jù)也記錄到了日志中。在數(shù)據(jù)模式 中,元數(shù)據(jù)和數(shù)據(jù)都被記錄到日志中。這種模式可以最大限度地防止文件系統(tǒng)崩潰與數(shù)據(jù)丟失,但由于全部數(shù)據(jù)都寫入了兩次(先寫入日志,再寫入磁盤),系統(tǒng)性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時(shí),還是在超時(shí)后?
												下載該資料的人也在下載
												下載該資料的人還在閱讀
											
											更多 >
											
										- 嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng))
 - 嵌入式Linux開發(fā)之文件系統(tǒng)目錄結(jié)構(gòu)介紹
 - linux文件系統(tǒng)基礎(chǔ) 0次下載
 - Linux.文件系統(tǒng)的精通指南 7次下載
 - 《Linux設(shè)備驅(qū)動開發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng) 0次下載
 - 分析YAFFS文件系統(tǒng)在Linux系統(tǒng)中的構(gòu)建 0次下載
 - 細(xì)數(shù)那些流行的 Linux 文件系統(tǒng) 0次下載
 - 嵌入式開發(fā)板無界面linux文件系統(tǒng)的制作 12次下載
 - Linux虛擬文件系統(tǒng)實(shí)現(xiàn)技術(shù)探討 32次下載
 - 嵌入式Linux文件系統(tǒng)的研究與應(yīng)用
 - 構(gòu)造嵌入式Linux的文件系統(tǒng)
 - 用Busybox制作嵌入式Linux根文件系統(tǒng)
 - 適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS
 - 適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS
 - Linux文件系統(tǒng)課程 0次下載
 
- 如何更改Linux文件系統(tǒng)終端顯示顏色 642次閱讀
 - 事務(wù)性日志結(jié)構(gòu)文件系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn) 770次閱讀
 - Linux 文件系統(tǒng)層的主要結(jié)構(gòu) 1034次閱讀
 - 解析Linux系統(tǒng)日志 1658次閱讀
 - 深入剖析Linux文件系統(tǒng)的架構(gòu) 1068次閱讀
 - Linux文件系統(tǒng)的類型及工作原理 650次閱讀
 - 深入剖析Linux內(nèi)核虛擬文件系統(tǒng) 3108次閱讀
 - 基于Buildroot的Linux系統(tǒng)構(gòu)建之根文件系統(tǒng) 2620次閱讀
 - 如何區(qū)別Linux文件系統(tǒng)呢? 3720次閱讀
 - 了解Linux默認(rèn)文件系統(tǒng)的發(fā)展歷史 6507次閱讀
 - 快速了解Linux文件系統(tǒng) 3702次閱讀
 - 文件系統(tǒng)是什么?淺談EXT文件系統(tǒng)歷史 5723次閱讀
 - 玩轉(zhuǎn)Linux,先把文件系統(tǒng)搞懂 2083次閱讀
 - 制作ZedBoard上linux根文件系統(tǒng)(ramdisk) 1603次閱讀
 - 基于zynq的Linux根文件系統(tǒng)生成 5841次閱讀
 
下載排行
本周
- 1TC358743XBG評估板參考手冊
 - 1.36 MB | 330次下載 | 免費(fèi)
 - 2開關(guān)電源基礎(chǔ)知識
 - 5.73 MB | 6次下載 | 免費(fèi)
 - 3100W短波放大電路圖
 - 0.05 MB | 4次下載 | 3 積分
 - 4嵌入式linux-聊天程序設(shè)計(jì)
 - 0.60 MB | 3次下載 | 免費(fèi)
 - 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
 - 0.61 MB | 2次下載 | 免費(fèi)
 - 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
 - 0.70 MB | 2次下載 | 免費(fèi)
 - 751單片機(jī)窗簾控制器仿真程序
 - 1.93 MB | 2次下載 | 免費(fèi)
 - 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
 - 0.86 MB | 2次下載 | 免費(fèi)
 
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234315次下載 | 免費(fèi)
 - 2555集成電路應(yīng)用800例(新編版)
 - 0.00 MB | 33564次下載 | 免費(fèi)
 - 3接口電路圖大全
 - 未知 | 30323次下載 | 免費(fèi)
 - 4開關(guān)電源設(shè)計(jì)實(shí)例指南
 - 未知 | 21548次下載 | 免費(fèi)
 - 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
 - 0.00 MB | 15349次下載 | 免費(fèi)
 - 6數(shù)字電路基礎(chǔ)pdf(下載)
 - 未知 | 13750次下載 | 免費(fèi)
 - 7電子制作實(shí)例集錦 下載
 - 未知 | 8113次下載 | 免費(fèi)
 - 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
 - 0.00 MB | 6653次下載 | 免費(fèi)
 
總榜
- 1matlab軟件下載入口
 - 未知 | 935054次下載 | 免費(fèi)
 - 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
 - 78.1 MB | 537796次下載 | 免費(fèi)
 - 3MATLAB 7.1 下載 (含軟件介紹)
 - 未知 | 420026次下載 | 免費(fèi)
 - 4OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234315次下載 | 免費(fèi)
 - 5Altium DXP2002下載入口
 - 未知 | 233046次下載 | 免費(fèi)
 - 6電路仿真軟件multisim 10.0免費(fèi)下載
 - 340992 | 191185次下載 | 免費(fèi)
 - 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
 - 158M | 183278次下載 | 免費(fèi)
 - 8proe5.0野火版下載(中文版免費(fèi)下載)
 - 未知 | 138040次下載 | 免費(fèi)
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評論