如果把檔案系統比作一個大樓的話,它的資料布局方式和内部資料結構就是高樓的基礎和架構,是以了解了它的資料布局方式和資料結構就能對資料結構有一個整體的認識。ext2作為一個經典的檔案系統,不失作為一個号的入口
1. ext2檔案系統的資料拓撲結構:
<a href="https://s4.51cto.com/wyfs02/M00/91/5E/wKioL1j1rFXhK4TmAAA-B1gNwKA408.png" target="_blank"></a>
2. ext2重要的資料結構如下
<a href="https://s3.51cto.com/wyfs02/M01/91/5E/wKioL1j1rLGCqgWVAALKGSPQEFA590.png" target="_blank"></a>
3. ext2 資料結構内部關系
<a href="https://s3.51cto.com/wyfs02/M00/91/5E/wKioL1j1rQzRbK5EAABt_ufwpc8140.png" target="_blank"></a>
4. Linux 檔案系統中的cache:
inode cache, Directory cache,buffer cache,
上面這些cache再加上記憶體裡面的 file table, 以及外面的supper block構成了主要的meta data.
Linux檔案系統發展到2.4之後的變化包括:
1.資料流向page cache
2.每一個打開的檔案都有一個dcache引用,而且它自身在dcache中有一個條目;
3.類似SVR4 vnodeops的移植
4. SMP-based 鎖機制的實作,以便提高SMP系統性能
2.4x核心中和檔案系統通路相關的主要資料結構如下:
本文轉自存儲之廚51CTO部落格,原文連結:http://blog.51cto.com/xiamachao/1916998 ,如需轉載請自行聯系原作者