假如每個指針占用4B,則每個單級指針數據塊可保存 1024/4=256 個數據指針,因此利用直接指針和單級間接指針可保存 1024*12+1024*256=268 KB的文件。當文件超過268KB時,再利用二級間接指針,直到使用三級間接指針。
利用直接指針、單級間接指針、二級間接指針、三級間接指針可保存的最大文件大小為:
1024*12+1024*256+1024*256*256+1024*256*256*256=16843020 KB,約 16GB
若數據塊大小為2048B,指針占4B,則最大文件大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792 KB 約 268GB
若數據塊大小為4096B,指針占4B,則最大文件大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744 KB ,約 4TB
注: 命令 tune2fs -l /dev/sda5 可查看文件系統
ext2文件系統最大文件名長度: 255個字符
ext2文件系統的缺點:
ext2在寫入文件內容的同時并沒有同時寫入文件meta-data, 其工作順序是先寫入文件的內容,然后等空閑時候才寫入文件的meta-data。若發生意外,則文件系統就會處于不一致狀態。
在重新啟動系統的時候,linux會啟動 fsk ( file system check) 的程序,掃描整個文件系統并試圖修復,但不提供保證。
9、ext3文件系統:
ext3基于ext2的代碼,所以磁盤格式與ext2相同,使用相同的元數據。
ext2文件系統無損轉化為ext3文件系統: tune2fs -j /dev/sda6
日志塊設備( Journaling block device layer,JBD)完成ext3文件系統日志功能。JBD不是ext3文件系統所特有的,它的設計目標是為了向一個塊設備添加日志功能。
當一個文件修改執行時,ext3文件系統代碼將通知JBD,稱為一個事務(transaction)。發生意外時,日志功能具有的重放功能,能重新執行中斷的事務。
日志中的3種數據模式:
1)、data=writeback :不處理任何形式的日志數據,給用戶整體上的最高性能
2)、data=odered :只記錄元數據日志,但將元數據和數據組成一個單元稱為事務(transaction) 。此模式保持所句句的可靠性與文件系統的一致性,性能遠低于data=writeback模式,但比data=journal模式快
文章來源于領測軟件測試網 http://www.kjueaiud.com/