Difference between pages "HFS+" and "Compression"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
(Deflate/Inflate)
 
Line 1: Line 1:
HFS+, or Hierarchical File System Plus, is the file system designed by Apple Computer[http://www.apple.com] to supersede HFS. First introduced with Mac OS 8.1, one of the biggest differences was the lower allocation block size of 4kb, which increased performance and lowered fragmentation (See:  Technical Note TN1121). It also implemented Unicode (rather than Mac proprietary formats) for naming files.
+
{{Expand}}
  
There are structurally many differences between HFS and HFS+, which are listed below[http://developer.apple.com/technotes/tn/tn1150.html#HFSPlusBasics]:
+
== LZ-based ==
<br><br>
+
<CENTER><TABLE Border=1 cellpadding=2 cellspacing=0 width=75%>
+
            <TR>
+
              <TD>
+
                  <P><B>Feature</B></p>
+
  
              </TD><TD>
+
=== Deflate/Inflate ===
                  <P><B>HFS</B></p>
+
Used in:
              </TD><TD>
+
* [[Encase image file format|Expert Witness (Compression) Format (EWF)]]
                  <P><B>HFS Plus</B></p>
+
* [[Gzip|gzip]]
              </TD><TD>
+
                  <P><B>Benefit/Comment</B></p>
+
              </TD></TR>
+
  
            <TR>
+
=== LZNT1 ===
              <TD>
+
Used in:
                  <P>User visible name</p>
+
* [[NTFS]]
              </TD><TD>
+
* [[Windows SuperFetch Format]]
                  <P>Mac OS Standard</p>
+
              </TD><TD>
+
                  <P>Mac OS Extended</p>
+
  
              </TD><TD>
+
=== LZXPRESS ===
                  <P></p>
+
Used in:
              </TD></TR>
+
* [[Extensible Storage Engine (ESE) Database File (EDB) format]]
            <TR>
+
              <TD>
+
                  <P>Number of allocation blocks</p>
+
              </TD><TD>
+
                  <P>16 bits worth</p>
+
  
              </TD><TD>
+
=== LZXPRESS Huffman ===
                  <P>32 bits worth</p>
+
Used in:
              </TD><TD>
+
* [[Windows SuperFetch Format]]
                  <P>Radical decrease in disk space used on large
+
                  volumes, and a larger number of files per volume.</p>
+
              </TD></TR>
+
            <TR>
+
              <TD>
+
                  <P>Long file names</p>
+
  
              </TD><TD>
+
== External Links ==
                  <P>31 characters</p>
+
* [http://en.wikipedia.org/wiki/Lempel-Ziv Wikipedia: Lempel-Ziv]
              </TD><TD>
+
* [http://www.coderforlife.com/microsoft-compression-formats/ Microsoft Compression Formats]
                  <P>255 characters</p>
+
              </TD><TD>
+
                  <P>Obvious user benefit; also improves
+
                  cross-platform compatibility</p>
+
              </TD></TR>
+
  
            <TR>
+
=== Deflate/Inflate ===
              <TD>
+
* [http://en.wikipedia.org/wiki/DEFLATE Wikipedia: DEFLATE]
                  <P>File name encoding</p>
+
* [https://tools.ietf.org/html/rfc1950 RFC1950 - ZLIB Compressed Data Format Specification], by [[IETF]]
              </TD><TD>
+
* [https://tools.ietf.org/html/rfc1951 RFC1951 - DEFLATE Compressed Data Format Specification], by [[IETF]]
                  <P>MacRoman</p>
+
              </TD><TD>
+
                  <P>Unicode</p>
+
 
+
              </TD><TD>
+
                  <P>Allows for international-friendly file names,
+
                  including mixed script names</p>
+
              </TD></TR>
+
            <TR>
+
              <TD>
+
                  <P>File/folder attributes</p>
+
              </TD><TD>
+
                  <P>Support for fixed size attributes (FileInfo and
+
                  ExtendedFileInfo)</p>
+
 
+
              </TD><TD>
+
                  <P>Allows for future meta-data extensions</p>
+
              </TD><TD>
+
                  <P>Future systems may use metadata for a richer
+
                  Finder experience</p>
+
              </TD></TR>
+
            <TR>
+
              <TD>
+
                  <P>OS startup support</p>
+
 
+
              </TD><TD>
+
                  <P>System Folder ID</p>
+
              </TD><TD>
+
                  <P>Also supports a dedicated startup file</p>
+
              </TD><TD>
+
                  <P>May help non-Mac OS systems to boot from HFS
+
                  Plus volumes</p>
+
              </TD></TR>
+
 
+
            <TR>
+
              <TD>
+
                  <P>catalog node size</p>
+
              </TD><TD>
+
                  <P>512 bytes</p>
+
              </TD><TD>
+
                  <P>4 KB</p>
+
 
+
              </TD><TD>
+
                  <P>Maintains efficiency in the face of the other
+
                  changes. (This larger catalog node size is due to
+
                  the much longer file names [512 bytes as opposed to
+
                  32 bytes], and larger catalog records (because of
+
                  more/larger fields)).</p>
+
              </TD></TR>
+
            <TR>
+
              <TD>
+
                  <P>Maximum file size</p>
+
              </TD><TD>
+
                  <P>2<SUP>31</SUP> bytes</p>
+
 
+
              </TD><TD>
+
                  <P>2<SUP>63</SUP> bytes</p>
+
              </TD><TD>
+
                  <P>Obvious user benefit, especially for multimedia
+
                  content creators.</p></td>
+
                  </tr>
+
</table></CENTER>
+
<br>
+
An HFS+ volume contains five special files:
+
<ol>
+
<li>
+
Catalog file - Describes the folder and file hierarchy of the volume. It is organized as a "balanced tree" for fast and efficient searches
+
</li>
+
<li>Extents overflow file - Additional extents (contiguous allocation blocks allocated to forks) are stored in a b-tree in this file
+
</li>
+
<li>
+
Allocation file - Specifies whether an allocation block is free (similar to $Bitmap in NTFS). This is stored in a bitmap, specifying a free allocation block with a "clear bit"
+
</li>
+
<li>Attributes file - Contains attribute information regarding files or folders
+
</li>
+
<li>
+
Startup file - Allows computers to boot that do have built in support for HFS+ file systems
+
</li>
+
</ol>
+
<br>
+
HFS+ also implements journaling, which allows fast recovery in the case of a crash or power outage. According to Apple, "The purpose of the journal is to ensure that when a group of related changes are being made, that either all of those changes are actually made, or none of them are made."[http://developer.apple.com/technotes/tn/tn1150.html#Journal]
+
 
+
Apple technical notes are available for the HFS+ file system from their [http://developer.apple.com/cgi-bin/search.pl?q=HFS+&num=10&site=default_collection website].
+
 
+
== External Links ==
+
* [http://web.archive.org/web/20090530120010/http://developer.apple.com/technotes/tn/tn1121.html Internet Archive Copy of: Technical Note TN1121], originally found on http://developer.apple.com/technotes/tn/tn1121.html#HFSPlus
+
  
[[Category:Disk file systems]]
+
=== LZ1 ===
 +
* [http://andyh.org/LZ1.html LZ1]

Revision as of 09:58, 21 June 2014

Information icon.png

Please help to improve this article by expanding it.
Further information might be found on the discussion page.

LZ-based

Deflate/Inflate

Used in:

LZNT1

Used in:

LZXPRESS

Used in:

LZXPRESS Huffman

Used in:

External Links

Deflate/Inflate

LZ1