JFS (file system)

JFS (file system)

infobox filesystem
name = JFS
full_name = IBM Journaled File System
developer = IBM et al.
introduction_os = JFS1 in AIX 3.1 and JFS in OS/2 4.5
introduction_date = 1990 and 1999
partition_id = 0x35 (MBR)
file_struct = Bitmap/extents
bad_blocks_struct =
max_filename_size = 255 bytes
max_files_no = No limit defined
max_volume_size = 32 PiB
max_file_size = 4 PiB
filename_character_set = Any Unicode except NUL
dates_recorded = Modification (mtime), Attribute modification (ctime), Access (atime)
date_range =
date_resolution = 1ns
forks_streams = Yes
attributes = Yes
file_system_permissions = POSIX, ACLs
compression = Only in JFS1 on AIX
directory_struct = B+ trees
encryption = No (provided at the block device level)
single_instance_storage = No
OS = AIX, OS/2, Linux

Journaled File System or JFS is a 64-bit journaling filesystem created by IBM. It is available under the GNU GPL. There are versions for AIX, eComStation, OS/2, Linux operating systems and HP-UX. JFS is based upon Veritas Software's VxFS.

In AIX operating system, there exist two generations of JFS filesystem that are called "JFS" ("JFS1") and "JFS2" respectively.cite web |title=A mini-FAQ for JFS |publisher=JFS for Linux project |url=http://jfs.sourceforge.net/project/pub/faq.txt] cite web| title=Comparison of JFS1 and JFS2 on AIX |publisher=IBM |url=http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.baseadmn/doc/baseadmndita/fs_jfs_jfs2.htm] In the other operating systems, such as OS/2 and Linux, only the second generation exists and is called simply "JFS".cite web |title= Interview With the People Behind JFS, ReiserFS & XFS |url=http://www.osnews.com/story.php/69/Interview-With-the-People-Behind-JFS-ReiserFS-and-XFS] This should not be confused with JFS in AIX that actually refers to JFS1.

History

IBM introduced JFS with the initial release of AIX version 3.1 in February, 1990. This file system, now called "JFS1 on AIX", had been the premier file system for AIX over the following decade and had been installed in thousands or millions of customers' AIX systems. Historically, the JFS1 file system is very closely tied to the memory manager of AIX. This design is typical for a closed source operating system, or a file system supporting only one operating system.

In 1995, work began to enhance the file system to be more scalable and to support machines that had more than one processor. Another goal was to have a more portable file system, capable of running on multiple operating systems. After several years of designing, coding, and testing, the new JFS was first shipped in OS/2 Warp Server for eBusiness in April, 1999, and then in OS/2 Warp Client in October, 2000. In December, 1999, a snapshot of the original OS/2 JFS source was granted to the open source community and work was begun to port JFS to Linux operating system. The first stable release of "JFS for Linux" appeared in June, 2001.

In parallel with this effort, some of the JFS development team returned to the AIX Operating System Development Group in 1997 and started to move this new JFS source base to the AIX operating system. In May, 2001, a second journaled file system, "Enhanced Journaled File System (JFS2)", was made available for AIX 5L.

Around the summer of 2007 there was speculation that IBM is no longer interested in maintaining JFS and thus it shouldn't be used in production environments. [ [http://linux.derkeiler.com/Mailing-Lists/Debian/2008-01/msg01808.html Re: which to use: ext3, JFS, XFS, ReiserFS? ] ] However early in 2008, a member of the IBM Linux Technology Center explained that they still follow changes in the Linux kernel and try to fix potential software bugs. He went on to add that certain distributions expect a larger resource commitment from them and opt not to support the filesystem. [ [http://sourceforge.net/mailarchive/forum.php?thread_name=fpps5p%24g2t%242%40saturn.local.net&forum_name=jfs-discussion SourceForge.net: jfs-discussion ] ]

Features

JFS supports the following features. [cite web|title=JFS overview|publisher=Steve Best, IBM|url=http://www-128.ibm.com/developerworks/library/l-jfs.html|accessdate=2008-01-09] [cite web|title=JFS Layout|publisher=Steve Best, IBM|url=http://jfs.sourceforge.net/project/pub/jfslayout.pdf|accessdate=2008-05-01]

Journal

JFS is a Journaling Filesystem. Rather than adding Journaling as an add-on like ext3, Journaling was baked in from the start. The journal is fixed at 32MB. JFS journals metadata only which means metadata will remain consistent but user file might not be after a crash or powerloss. JFSs Journaling is similar to XFS where it only journal parts of the Inode. [cite web|title=JFS journal|publisher=OSDIR |author=David Kleikamp|url=http://osdir.com/ml/file-systems.jfs.general/2004-12/msg00025.html]

B+ Tree

A B+ tree is used to accelerate lookups in larger directories. The B+ tree is also used for the addressing structure with extent descriptors.

Dynamic Inode Allocation

JFS dynamically allocates space for disk inodes as necessary. Each inode is 512 Bytes. 32 Inodes are allocated on a 16KB Extent.

Extents

JFS allocates files as an extent. An extent is a variable-length sequence of Aggregate blocks. An extent may be located in several Allocation Group to solve this the extents are indexed in a B+ tree for better performance when locating the extent locations.

Compression

Compression is supported only in JFS1 on AIX and uses a variation of LZ algorithm. Because of high CPU usage and increased free space fragmentation, compression is not recommended for use other than on a single user workstation or off-line backup areas. [cite web |title=AIX Wiki: JFS |publisher=IBM |url=http://www-941.ibm.com/collaboration/wiki/display/WikiPtype/JFS]

Concurrent Input / Output (CIO)

JFS normally applies read-shared, write-exclusive locking to files, which avoids data inconsistencies but imposes write serialization at the file level. The CIO option disables this locking. Applications such as relational databases which maintain data consistency themselves can use this option to largely eliminate filesystem overheads. [ [http://www.ibm.com/servers/aix/whitepapers/db_perf_aix.pdf Improving Database Performance With AIX Concurrent I/O - White Paper ] ] .

Allocation Groups

JFS uses Allocation groups. Allocation groups divide the aggregate space into chunks. This allows JFS to use resource allocation policies to achieve great I/O performance. The first policy is to try to cluster disk blocks and disc inodes for the files to be in the same AG. The second policy is to distribute unrelated data into the same AG.

JFS Superblocks

The superblock maintains information about the entire file system and includes the following fields:
* Size of the file system
* Number of data blocks in the file system
* A flag indicating the state of the file system
* Allocation group sizes
* File system block size

JFS in Linux

In the Linux operating system, JFS is supported with the kernel module (since the kernel version "2.4.18pre9-ac4") and the complementary userspace utilities packaged under the name "JFSutils" (the latest version 1.1.13 released in July, 2008). Most Linux distributions provide support for JFS, unless it is specifically removed due to space restrictions or other concerns.

According to reviews and benchmarks of the available filesystems for Linux, JFS is fast and reliable, with consistently good performance under different kinds of load, contrary to other filesystems that seem to perform better under particular usage patterns, for instance with small or large files. Another characteristic often mentioned, is that it's light and efficient with available system resources and even heavy disk activity is realized with low CPU usage. [ [http://www.debian-administration.org/articles/388 Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch ] ] [http://fsbench.netnation.com/]

See also

* List of file systems
* Comparison of file systems
* fsck File System Check utility

References

External links

* [http://jfs.sourceforge.net/ JFS for Linux project website]
* [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.genprogc/doc/genprogc/fsyslayout.htm JFS1 File System Layout] , IBM.
* [http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.genprogc/doc/genprogc/fsyslayout2.htm JFS2 File System Layout] , IBM.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Journaling file system — For the IBM Journaled File System, see JFS (file system). A journaling file system is a file system that keeps track of the changes that will be made in a journal (usually a circular log in a dedicated area of the file system) before committing… …   Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

  • File System — Système de fichiers Pour les articles homonymes, voir FS et SGF. Un système de fichiers (file system ou filesystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les… …   Wikipédia en Français

  • File system — Système de fichiers Pour les articles homonymes, voir FS et SGF. Un système de fichiers (file system ou filesystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les… …   Wikipédia en Français

  • Journaled File System — JFS Hersteller IBM Vollständige Bezeichnung Journaled File System Erstveröffentlichung 1990 (AIX) Technische Umsetzung Verzeichnisse JFS: Linear, JFS2: B+ Baum …   Deutsch Wikipedia

  • Veritas File System — For other uses, see Veritas (disambiguation). VERITAS File System Full name VERITAS File System Introduced 1991 Structures Directory contents extensible hash Limits Max file size 8 EB ( …   Wikipedia

  • Journaled File System — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • VERITAS File System — Traduction terminée VERITAS File System → …   Wikipédia en Français

  • Veritas File System — (ou VxFS, nommé JFS ou OJFS sous HP UX), est un système de fichiers basé sur les extents qui fut le premier système de fichiers journalisé commercialisé. Son développement a été initié par VERITAS software, société ayant fusionnée avec Symantec… …   Wikipédia en Français

  • Veritas File System — (VxFS, также JFS или OnlineJFS в HP UX) файловая система с поддержкой экстентов, разработанная компанией Veritas Software. VxFS является основной файловой системой в HP UX. Также VxFS работает в Solaris, OpenSolaris, AIX, Linux, SINIX и UnixWare …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”