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