Wednesday, 1 January 2014

Linux File System,Types



What is file system?

In computing, a file system (or filesystem) is used to control how information is stored and retrieved. Without a file system, information placed in a storage area would be one large body of information with no way to tell where one piece of information stops and the next begins.

By separating the information into individual pieces, and giving each piece a name, the information is easily separated and identified. Taking its name from the way paper based information systems are named, each piece of information is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system".

There are many different kinds of file systems. Each one has different structure and logic. Each one has different properties of speed, flexibility, security, size and more.

What is File Name?

A file is a collection of related information that appears to the user as a single, contiguous block of data and that is retained in storage, e.g., a hard disk drive (HDD), floppy disk, optical disk or magnetic tape

File names are only a convenience for users, and such operating systems identify files by their inodes, which are numbers that are stored on the HDD in inode tables and which exist for all types of files, rather than by their names or locations in directories.

File names must be unique within a directory. However, multiple files and directories with the same name can reside in different directories because such files will have different absolute path-names (i.e., locations relative to the root directory), and thus the system will be able to distinguish them.

What is Directory?

File systems typically have directories (also called folders) which allow the user to group files into separate collections. This may be implemented by associating the file name with an index in a table of contents or an inode in a Unix-like file system. Directory structures may be flat (i.e. linear), or allow hierarchies where directories may contain sub-directories.

A directory in Linux  operating system is a special type of file that contains a list of objects (i.e., files, directories and links) and the corresponding inodes for each of those objects.

                               A file is a named collection of related information that appears to the user as a single, contiguous block of data and that is retained in storage (e.g., a hard disk drive or a floppy disk).

What is Metadata?

Metadata can be about any kind of information or objects, including images, sounds, databases and collections. 

                     For example, in the case of an image it would include the name, creator (e.g., photographer or artist), date of creation, subject category, means of creation (e.g., photograph, painting, computer generated), copyright owner, file size (in bytes) and file format (e.g., jpeg, gif, png or tiff). Examples of collections that have metadata are books in a library, collections in a museum and inventories in a warehouse.


A file system stores all the metadata associated with the file—including the file name, the length of the contents of a file, and the location of the file in the folder hierarchy—separate from the contents of the file.


File System Types?

Linux supports numerous file system types.

     minix         is the filesystem used in the Minix operating system, the
                      first to run under Linux.  It has a number of shortcomings:
                      a 64MB partition size limit, short filenames, a single
                      timestamp, etc.  It remains useful for floppies and RAM
                      disks.


       ext          is an elaborate extension of the minix filesystem.  It has
                      been completely superseded by the second version of the
                      extended filesystem (ext2) and has been removed from the
                      kernel (in 2.1.21).

       ext2      is the high performance disk filesystem used by Linux for
                    fixed disks as well as removable media.  The second
                    extended filesystem was designed as an extension of the
                    extended filesystem (ext).  ext2 offers the best
                    performance (in terms of speed and CPU usage) of the
                    filesystems supported under Linux.

       ext3      is a journaling version of the ext2 filesystem.  It is easy
                    to switch back and forth between ext2 and ext3.

       ext4      is a set of upgrades to ext3 including substantial
                    performance and reliability enhancements, plus large
                    increases in volume, file, and directory size limits.

      Reiserfs  is a journaling filesystem, designed by Hans Reiser, that
                      was integrated into Linux in kernel 2.4.1.

       XFS       is a journaling filesystem, developed by SGI, that was
                      integrated into Linux in kernel 2.4.20.

       JFS       is a journaling filesystem, developed by IBM, that was
                     integrated into Linux in kernel 2.4.24.

       xiafs     was designed and implemented to be a stable, safe
                    filesystem by extending the Minix filesystem code.  It
                    provides the basic most requested features without undue
                    complexity.  The xia filesystem is no longer actively
                    developed or maintained.  It was removed from the kernel in
                    2.1.21.

       msdos     is the filesystem used by DOS, Windows, and some OS/2
                      computers.  msdos filenames can be no longer than 8
                      characters, followed by an optional period and 3 character
                      extension.

       umsdos    is an extended DOS filesystem used by Linux.  It adds
                       capability for long filenames, UID/GID, POSIX permissions,
                       and special files (devices, named pipes, etc.)  under the
                        DOS filesystem, without sacrificing compatibility with DOS.

       vfat          is an extended DOS filesystem used by Microsoft Windows95
                       and Windows NT.  VFAT adds the capability to use long
                       filenames under the MSDOS filesystem.

       ntfs         replaces Microsoft Window's FAT filesystems (VFAT, FAT32).
                      It has reliability, performance, and space-utilization
                      enhancements plus features like ACLs, journaling,
                      encryption, and so on.

       proc         is a pseudo filesystem which is used as an interface to
                       kernel data structures rather than reading and interpreting
                      /dev/kmem.  In particular, its files do not take disk
                      space.  See proc(5).

       iso9660   is a CD-ROM filesystem type conforming to the ISO 9660
                      standard.

                 High Sierra
                        Linux supports High Sierra, the precursor to the ISO
                        9660 standard for CD-ROM filesystems.  It is
                        automatically recognized within the iso9660
                        filesystem support under Linux.

                 Rock Ridge
                        Linux also supports the System Use Sharing Protocol
                        records specified by the Rock Ridge Interchange
                        Protocol.  They are used to further describe the
                        files in the iso9660 filesystem to a UNIX host, and
                        provide information such as long filenames, UID/GID,
                        POSIX permissions, and devices.  It is automatically
                        recognized within the iso9660 filesystem support
                        under Linux.

       hpfs        is the High Performance Filesystem, used in OS/2.  This
                     filesystem is read-only under Linux due to the lack of
                     available documentation.

       sysv        is an implementation of the SystemV/Coherent filesystem for
                      Linux.  It implements all of Xenix FS, SystemV/386 FS, and
                      Coherent FS.

       nfs         is the network filesystem used to access disks located on
                     remote computers.

       smb       is a network filesystem that supports the SMB protocol,
                     used by Windows for Workgroups, Windows NT, and Lan
                    Manager.

                     To use smb fs, you need a special mount program, which can
                     be found in the ksmbfs package, found at
                
       ncpfs     is a network filesystem that supports the NCP protocol,
                    used by Novell NetWare.


 

 

No comments:

Post a Comment