This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > The Zynq Book > The Linux Kernel > File System

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

File System

FONT SIZE : AAA

Linux File Systems

Linux is incredibly versatile in that it is capable of supporting a large number of different  file systems including, but not limited to:

Some supported Linux file systems.png

The numerous file systems are collated in a hierarchical tree structure and viewed by the  system as a single file system entity. New file systems are mounted (that is, a file system is  associated with a storage device in Linux) to this tree as they are added to the system[5].

Virtual File System

Referring back to Figure 23.1, the Virtual File System (VFS) plays a key role in facilitating the inclusion of the many file systems. It provides a level of abstraction, creating a  unified interface between the individual file systems and the rest of the kernel. It is the root  level of the file-system interface and is responsible for tracking all currently-supported and  mounted file systems. Figure 23.6 represents the interactions between the VFS and the real  file systems (in this instance we are only demonstrating the vfat and ext2 file systems).

The buffer cache is used as a common data buffer from the hardware devices, speeding  up file system access to the physical devices holding the file systems. It is independent of  the file systems and as such keeps these file systems independent from the supporting  device drivers and media.  

During the navigation of mounted file systems inodes are continuously read or written,  so the VFS maintains an inode cache to speed up access to the mounted file systems. (Note  — inode stands for index node and is a data structure found within Unix file systems,  containing all the information about a file system object).

The VFS also maintains a cache of directory entries to speed up access to those most  commonly in use. When a directory is looked up by a file system, its details are added to  the cache and can be accessed more quickly the next time the same directory is looked up.  The VFS uses a form of Least Recently Used (LRU) retention of cache entries. As a  directory entry is added to the cache, those used previously are moved down a level. When  the cache is full, the entry at the lowest level will be discarded as the next entry is added[5].

Linux virtual file system interactions[5].png


  • XC2C32A-6VQ44C

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 200MHz 0.18um, CMOS Technology 1.8V 44-Pin VQFP
  • Product Categories: CPLDs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC2C384-10FG324I

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 9K Gates 384 Macro Cells 125MHz 0.18um Technology 1.8V 324-Pin FBGA
  • Product Categories: CPLDs

    Lifecycle:Active Active

    RoHS:

  • XC2C384-10FTG256C

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 9K Gates 384 Macro Cells 125MHz 0.18um Technology 1.8V 256-Pin FTBGA
  • Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)

    Lifecycle:Active Active

    RoHS:

  • XC3S50-4CPG132C

    Manufacturer:Xilinx

  • FPGA Spartan-3 Family 50K Gates 1728 Cells 630MHz 90nm Technology 1.2V 132-Pin CSBGA
  • Product Categories: FPGAs

    Lifecycle:Obsolete -

    RoHS: -

  • XC3S50-4TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-3 Family 50K Gates 1728 Cells 630MHz 90nm Technology 1.2V 144-Pin TQFP
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.