A Survey to Structure of Directories in File System

  • Linzhu WuEmail author
  • Linpeng Huang
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 553)


Many applications require high throughput for operating small files, such as picture server. File systems often use tree structure to manage data blocks, which can improve the efficiency of adding, deleting, and searching files under a directory. This article gives an introduction to design of the directory of several popular file systems and shows the influence of structure on the performance by several experiments.


File system Linux kernel Directory design 



The work described in this paper is sponsored by the Chinese 863 Program under Grant No. 2015AA015303 and the National Natural Science Foundation of China under Grant No. 61472241.


  1. 1.
    Mingming Cao, Suparna Bhattacharya, and Ted Ts’o. Ext4: The next generation of ext2/3 filesystem. In LSF, 2007.Google Scholar
  2. 2.
    Vijay Chidambaram, Tushar Sharma, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. Consistency without ordering. In FAST, page 9, 2012.Google Scholar
  3. 3.
    Subramanya R Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. System software for persistent memory. In Proceedings of the Ninth European Conference on Computer Systems, page 15. ACM, 2014.Google Scholar
  4. 4.
    Steven R Jahnke. Data synchronization hardware primitive in an embedded symmetrical multiprocessor computer, November 14 2006. US Patent 7,137,118.Google Scholar
  5. 5.
    Ryusuke Konishi, Yoshiji Amagai, KojiSato, Hisashi Hifumi, Seiji Kihara, and Satoshi Moriai. The linux implementation of a log-structured file system. ACM SIGOPS Operating Systems Review, 40(3):102–107, 2006.Google Scholar
  6. 6.
    Changman Lee, Dongho Sim, Jooyoung Hwang, and Sangyeun Cho. F2 fs: A new file system for flash storage. In 13th USENIX Conference on File and Storage Technologies (FAST 15), pages 273–286, 2015.Google Scholar
  7. 7.
    Richard McDougall and Jim Mauro. Filebench. URL: (Cited on page 56.), 2005.
  8. 8.
    Paul E McKenney, Dipankar Sarma, and Maneesh Soni. Scaling dcache with rcu. Linux Journal, 2004(117):3, 2004.Google Scholar
  9. 9.
    Mark Nielsen. How to use a ramdisk for linux. Linux Gazette (44), 1999.Google Scholar
  10. 10.
    Ohad Rodeh, Josef Bacik, and Chris Mason. Btrfs: The linux b-tree filesystem. ACM Transactions on Storage (TOS), 9(3):9, 2013.Google Scholar
  11. 11.
    Mendel Rosenblum and John K Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOCS), 10(1):26–52, 1992.Google Scholar
  12. 12.
    Priya Sehgal, Sourav Basu, Kiran Srinivasan, and Kaladhar Voruganti. An empirical study of file systems on nvm. In Mass Storage Systems and Technologies (MSST), 2015 31st Symposium on, pages 1–14. IEEE, 2015.Google Scholar
  13. 13.
    Stephen Tweedie. Ext3, journaling filesystem. In Ottawa Linux Symposium, pages 24–29, 2000.Google Scholar
  14. 14.
    Werner Vogels. File system usage in windows nt 4.0. In ACM SIGOPS Operating Systems Review, volume 33, pages 93–109. ACM, 1999.Google Scholar
  15. 15.
    Zhang Mingliang Zhang Zongjie. Analysis of fat32 file system. Computer & Digital Engineering, 1:014, 2005.Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2017

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringShanghai Jiao Tong UniversityShanghaiChina

Personalised recommendations