Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
JFS (file system)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Features == JFS supports the following features.<ref>{{cite web|title=JFS overview |publisher=Steve Best, IBM |url=http://www-128.ibm.com/developerworks/library/l-jfs.html |access-date=2008-01-09 |archive-url=https://web.archive.org/web/20080129101603/http://www-128.ibm.com/developerworks/library/l-jfs.html |archive-date=2008-01-29 |url-status=dead }}</ref><ref>{{cite web|title=JFS Layout|publisher=Steve Best, IBM|url=http://jfs.sourceforge.net/project/pub/jfslayout.pdf|access-date=2008-05-01}}</ref> === Journal === JFS is a [[journaling file system]]. Rather than adding journaling as an add-on feature like in the [[ext3]] file system, it was implemented from the start. The journal can be up to 128 MB. JFS journals metadata only, which means that metadata will remain consistent but user files may be corrupted after a crash or power loss. JFS's journaling is similar to [[XFS]] in that it only journals parts of the [[inode]].<ref>{{cite web|title=JFS journal|publisher=OSDIR|author=David Kleikamp|url=http://osdir.com/ml/file-systems.jfs.general/2004-12/msg00025.html|access-date=July 7, 2008|archive-url=https://web.archive.org/web/20160303225646/http://osdir.com/ml/file-systems.jfs.general/2004-12/msg00025.html|archive-date=March 3, 2016|url-status=dead}}</ref> === B+ tree === JFS uses a [[B+ tree]] to accelerate lookups in directories. JFS can store 8 entries of a directory in the directory's [[inode]] before moving the entries to a B+ tree. JFS also indexes extents in a B+ tree. === Dynamic inode allocation === JFS dynamically allocates space for disk [[inode]]s as necessary. Each inode is 512 bytes. 32 inodes are allocated on a 16 kB Extent. === Extents === JFS allocates files as an [[Extent (file systems)|extent]]. An extent is a variable-length sequence of Aggregate blocks. An extent may be located in several [[allocation group]]s. To solve this the extents are indexed in a B+ tree for better performance when locating the extent locations. === Compression === [[Data compression|Compression]] is supported only in JFS1 on AIX and uses a variation of the [[LZ77 and LZ78|LZ algorithm]]. Because of high [[CPU usage]] and increased free space [[file system fragmentation|fragmentation]], compression is not recommended for use other than on a single user [[workstation]] or off-line [[backup]] areas. === 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.<ref>{{cite web|url=http://www.ibm.com/servers/aix/whitepapers/db_perf_aix.pdf|title=Improving Database Performance With AIX Concurrent I/O - White Paper|website=IBM.com|publisher=[[IBM]]}}</ref> === 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 disk inodes for related data in the same AG in order to achieve good locality for the disk. The second policy is to distribute unrelated data throughout the file system in an attempt to minimize free-space fragmentation. When there is an open file JFS will lock the AG the file resides in and only allow the open file to grow. This reduces fragmentation as only the open file can write to the AG. === Superblocks === The [[superblock (computing)|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
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
JFS (file system)
(section)
Add topic