File system

A file system consists of abstract data types that are necessary for the storage, hierarchical organization, manipulation, navigation, access and retrieval of data. Most operating systems provide a file system. File systems are represented either textually or graphically by file browsers or shells. If graphically, the metaphor of folders containing documents, other files, and nested folders is often used. (See directory and folder for more on this.) A file system is an integral part of any modern operating system. Early microcomputer operating systems' only real task was file management - a fact reflected in their names. The most familiar file systems make use of an underlying storage device that offers access to an array of fixed-size blocks, sometimes called sectors, generally 512 bytes each. The file system software is responsible for organizing these sectors into file and directories, and keeping track of which sectors belong to which file and which are not being used. But file systems need not make use of a storage device at all. A file system can be used to organize and represent access to any data, whether it be stored or dynamically generated (eg, from a network connection). File systems typically have directories which associate file names with files, usually by connecting the file name to an index into a file allocation table of some sort, such as the FAT in an MS-DOS file system, or an inode in a UNIX-like filesystem. Directory structures may be flat, or allow hierarchies where directories may contain subdirectories. In some file systems, file names are structured, with special syntax for file name extensions and version numbers. In others, file names are simple strings, and per-file metadata is stored elsewhere. Traditional filesystems offer facilities to create, move and delete both files and directories. They lack facilities to create additional links to a directory (hard links in Unix), rename parent links (".." in Unix), and create bidirectional links to files. They also offer facilities to truncate, append to, create, move, delete and in-place modify files. They do not offer facilities to prepend to or truncate from the beginning of a file, let alone arbitrary insertion into or deletion from a file. The operations provided are highly asymmetric and lack the generality to be useful in unexpected contexts. For example, interprocess pipes in Linux have to be implemented outside of the filesystem because it does not offer truncation from the beginning of files. Secure access to basic file system operations can be based on a scheme of access control lists or capabilities. Access control lists have been proved insecure several decades ago, which is why research operating systems tend to use capabilities. Commercial file systems still use access control lists. File system types can be classified into disk file systems, network file systems and special purpose file systems. A myriad modules from Plan 9 fit this last category since its architecture is based on a metaphor of file system services. Disk File Systems A disk file system is a file system designed for the storage of files on a disk drive, which might be directly or indirectly connected to the computer. Examples of disk file system include: * EFS * EXT2 * EXT3 * FAT (DOS and Microsoft Windows file system; 12, 16 and 32 bit table depths) * UMSDOS * FFS * HFS (for Mac OS) * HPFS * ISO 9660 (Rock Ridge and Joliet are extensions to this) * JFS * kfs * Minix * NTFS (Versions 4, 5 and 5.1) * OFS * ReiserFS * UDF * UFS * XFS Some of these are journaling filesystems. Network File Systems A Network file system is a file system where the files are accessed over a network, potentially simultaneously by several computers. Examples of network file systems include: * AFS (Andrew File System) * AppleShare * CIFS (sometimes also called SMB or Samba filesystems) * Coda * InterMezzo * NFS Special Purpose File Systems A special purpose file system is basically any file system that is not disk file system or network file system. This includes systems where the files are arranged dynamically by software, intended for such purposes as communication between computer processes or temporary file space. * acme (Plan 9) (text windows) * archfs (archive) * cdfs (reading and writing of CDs) * cfs (caching) * DEVFS * ftpfs (ftp access) * lnfs (long names) * nntpfs (netnews) * plumber (Plan 9) (interprocess communication - pipes) * PROCFS * ROMFS * TMPFS

How to - Physics - History - Companies - Internet - Video Games - List of Phobias - September 11, 2001
Radio - Timelines - Chemistry - Genealogy - Family - Film - SARS - Cancer - Medicine - DVD - Calendar
Countries - Disease - Health Science - Dentistry - Economics - AIDS - Law - Autism - Statistics - Bible
Recipes - Architecture - Computers - History of the Internet - Personal computer - Apple Macintosh
War - Presidents of the United States - United States Constitution - Universe - Philosophy - Animals
Biology - United States Constitution - Marketing Topics - Sports - Television - History of Computing

This content from Wikipedia is licensed under the GNU Free Documentation License.
HOME - Help build the worlds largest free encyclopedia.


Flights - Mobile Phones - Credit Card Consolidation - Wedding rings - Art Prints