1 / 29

The File System

The File System. Linux File System. Linux supports 15 file systems ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs and ufs The separate file systems are combined into a single hierarchical tree structures mount on a directory (mount point).

argus
Download Presentation

The File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The File System

  2. Linux File System • Linux supports 15 file systems • ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs and ufs • The separate file systems are combined into a single hierarchical tree structures • mount on a directory (mount point)

  3. Virtual File System • Disks are initialized into logical partitions • Each partition may hold a single file system • EXT2 • The real file systems are separated from the operating system by an interface layer: Virtual File System

  4. The Second Extended File System (EXT2) • File : data blocks • inode : describe which blocks the data within a file occupies, access rights, modification time,… • directory : special file which contains pointers to the inodes

  5. Physical Layout of EXT2

  6. The EXT2 Inode

  7. The EXT2 Inode • Mode • what this inode describes (file, directory, symbolic link, FIFO,…) and the permissions • Owner Information • user and group ids of the owners • Size

  8. The EXT2 Inode • Timestamps • creation and modification • Datablocks

  9. The EXT2 Superblock • Basic size and shape of the file system • Magic Number :0xEF53 • Revision Level • Mount Count and Maximum Mount Count • Block Group Number • Block Size • Block per Group

  10. The EXT2 Superblock • Basic size and shape of the file system • Blocks per Group • Free Blocks • Free Inodes • First Inode

  11. The EXT2 Group Descriptor • Block Bitmap • Inode Bitmap • Inode Table • Free blocks count, Free inodes count, Used directory count

  12. EXT2 Directory

  13. Finding a File in an EXT2 File System • /home/rusling/.cshrc • system parse the filename a directory at a time until we get the file

  14. Changing the Size of a File in an EXT2 File System • Lock EXT2 Superblock • Check if there are preallocated blocks • EXT2 allocate new block • data block after the last block of the file • data blocks within 64 blocks of the idea block • data block in the same Block Group

  15. Changing the Size of a File in an EXT2 File System • All of the other Block Groups in turns (allocate a cluster of eight blocks) • Update the Block Group’s block bitmap and allocate a data buffer in the buffer cache • Mark the superblock as “dirty” and unlock

  16. The Virtual File System(VFS)

  17. The VFS Superblock • Device • Inode pointers • Blocksize • Superblock operations • File System Type • File System specific

  18. Device Inode Number Mode User id times block size inode operations a pointer to a block of routine addresses count lock dirty file system specific The VFS Inode

  19. Registering the File Systems • Build Linux kernel : supported file systems • Build file systems as modules • load by ismod

  20. Mounting a File System • $mount -t iso9600 -o ro /dev/cdrom /mnt/cdrom • Search for the file system types( iso9600) • Allocate a VFS superblock and pass it the mount information to the superblock read routine

  21. A Mounted File System

  22. Umount a File System • Check whether someone is using the FS • Check if the FS is dirty • write back • Return VFS superblock to kernel’s pool • vfsmount is unlinked fromvfsmntlist

  23. Speedup Access • VFS Inode Cache • Directory Cache

  24. The Buffer Cache

  25. The States of the Cache • Clean :Unused, new buffers, • Locked • Buffers that are locked, waiting to be written, • Dirty • Dirty buffers. These contain new, valid data, and will be written but so far have not been scheduled to write,

  26. The States of the Cache • Share • Shared buffers, • Unshared • Buffers that were once shared but which are now not shared, clean :Unused, new buffers,

  27. The bdflush Kernel Daemon • The bdflush kernel daemon is a simple kernel daemon that provides a dynamic response to the system having too many dirty buffers (default :60%) • The value can be seen and changed using update command (a daemon)

  28. The /proc File System • It does not really exist • Presents a user readable windows into the kernel’s inner workings

  29. Devices Special Files • Hardware devices • character and block devices • device drivers • major number, minor number

More Related