fbpx
Wikipedia

Fork (file system)

In a computer file system, a fork is a set of data associated with a file-system object. File systems without forks only allow a single set of data for the contents, while file systems with forks allow multiple such contents. Every non-empty file must have at least one fork, often of default type, and depending on the file system, a file may have one or more other associated forks, which in turn may contain primary data integral to the file, or just metadata.

Unlike extended attributes, a similar file system feature which is typically of fixed size, forks can be of variable size, possibly even larger than the file's primary data fork. The size of a file is the sum of the sizes of each fork.

Popular file systems that can use forks include Apple's HFS+ and Microsoft's NTFS.

Alternatives edit

On file systems without forks, one may instead use multiple separate files that are associated with each other, particularly sidecar files for metadata. However, the connection between these files is not automatically preserved by the file system, and must instead be handled by each program that works on files. Another alternative is a container file, which stores additional data within a given file format, or an archive file, which allows storing several files and metadata within a file (within a single fork). This requires that programs process the container file or archive file, rather than the file system handling forks. These alternatives require additional work by programs using the data, but benefit from portability to file systems that do not support forks.

Implementations edit

Apple edit

File system forks are associated with Apple's Hierarchical File System (HFS).[1] HFS, and the original Apple Macintosh file system MFS, allowed a file system object to have two kinds of forks: a data fork and a resource fork.

The resource fork was designed to store non-compiled data that would be used by the system's graphical user interface (GUI), such as localizable text strings, a file's icon to be used by the Finder or the menus and dialog boxes associated with an application.[2] However the feature was very flexible, so additional uses were found, such as splitting a word processing document into content and presentation, then storing each part in separate resources. As compiled software code was also stored in a resource, often applications would consist of just a resource fork and no data fork.

One of HFS+'s most obscure features is that a file may have an arbitrary number of custom "named forks" in addition to the traditional data and resource forks. This feature has gone largely unused, as Apple never added support for it under Mac OS 8.1-10.3.9. Beginning with 10.4, a partial implementation was made to support Apple's extended inline attributes.[3]

In Mac OS X until Mac OS X v10.4, users running Unix command line utilities such as tar would risk data loss, as the utilities had not been updated to handle the resource forks of files.[4]

Novell edit

Starting in 1985, Novell NetWare File System (NWFS), and its successor Novell Storage Services (NSS), were designed from the ground up to use a variety of methods to store a file's metadata. Some metadata resides in Novell Directory Services (NDS), some is stored in the directory structure on the disk, and some is stored in, as Novell terms it, 'multiple data streams' with the file itself. Multiple data streams also allow Macintosh clients to attach to and use NetWare servers.

Microsoft edit

NTFS, the file system introduced with Windows NT 3.1, supports file system forks known as alternate data streams (ADS).[5] ReFS, a new file system introduced with Windows Server 2012, originally did not support ADS,[6][7][8] but in Windows 8.1 64-bit and Server 2012 R2, support for ADS, with lengths of up to 128K, was added to ReFS.[9]

ADS was originally intended to add compatibility with existing operating systems that support forks.[citation needed] A computer program may be directed to open an ADS by specifying the name of ADS after a colon sign (:) after the file path.[10] In spite of the support, most programs, including Windows Explorer and the dir command (before Windows Vista) ignore ADS. Windows Explorer copies ADS and warns when the target file system does not support them, but only calculates the main stream's size and does not list a file or folder's streams. Since Windows Vista, the dir command supports showing ADS.[11] Windows PowerShell v3.0 and later supports manipulating ADS.[12]

Uses edit

Windows 2000 uses ADS to store thumbnails in image files, and to store summary information (such as title and author) in any file, without changing the main stream.[13][14] With Windows XP, Microsoft realized that ADS is susceptible to loss when the files containing them are moved off NTFS volumes; thus Windows XP stores them in the main stream whenever the file format supports it.[13] Windows Vista discontinued support for adding summary information altogether, as Microsoft decided that they are too sensitive for ADS to handle.[15] But the use of ADS for other purposes did not stop. Service Pack 2 for Windows XP introduced the Attachment Execution Service that stores details on the origin of downloaded files in an ADS called zone identifier, in an effort to protect users from downloaded files that may present a risk.[16] Internet Explorer and Windows 8 extended this function through SmartScreen.[17] Internet Explorer also uses ADS to store favicons in Internet shortcut files.[10]

Sun edit

Solaris version 9 and later allows files to have forks. Forks are called extended attributes in Solaris, although they are not within the usual meaning of "extended attribute". The maximum size of a Solaris-type extended attribute is the same as the maximum size of a file, and they are read and written in the same fashion as files. Internally, they are actually stored and accessed like normal files, so their ownership and permissions can differ from those of the parent file. Sub-directories are administratively[clarification needed] disabled, so their names cannot contain "/" characters.

Extended attributes in Network File System Version 4 are similar to Solaris-style extended attributes.

Possible security and data loss risks edit

When a file system supports different forks, the applications should be aware of them, or security risks can arise. Allowing legacy software to access data without appropriate shims in place is the primary culprit for such problems.[citation needed]

If the different system utilities (disk explorer, antivirus software, archivers, and so on), are not aware of the different forks, the following problems can arise:

  • The user will never know the presence of any alternate fork nor the total size of the file, just of the main data fork.
  • Computer viruses can hide in alternate forks on Windows and never get detected if the antivirus software is not aware of forks.
  • Data can be lost when sending files via fork-unaware channels, such as e-mail, file systems without support for forks, or even when copying files between file systems with forks support if the program that made the copy does not support forks or when compressing files with software that does not support forks.

References edit

  1. ^ Apple (1996-07-02). . Apple. Archived from the original on 2008-07-24. Retrieved 2006-11-18.
  2. ^ Bruce Horn. "The Grand Unified Model (1) - Resources". Folklore.org. Retrieved 2017-10-03.
  3. ^ Siracusa, John (28 April 2005). "Mac OS X 10.4 Tiger". Ars Technica.
  4. ^ . Apple. 2005-10-29. Archived from the original on February 25, 2008. Retrieved 2006-11-18.
  5. ^ "Files and Clusters". Microsoft. 7 January 2021. Retrieved 2023-08-15.
  6. ^ Verma, Surendra (16 January 2012). Sinofsky, Steven (ed.). . Building Windows 8. Microsoft. MSDN blogs. Archived from the original on 16 February 2013. Retrieved 20 January 2013.
  7. ^ Foley, Mary Jo (16 January 2012). "Microsoft goes public with plans for its new Windows 8 file system". ZDNet. CBS Interactive. Retrieved 21 January 2013.
  8. ^ Martin Lucas. . TechNet. Archived from the original on 23 January 2013.
  9. ^ "Resilient File System Overview". Microsoft Docs. Microsoft. 13 January 2017. Retrieved 15 August 2023.
  10. ^ a b Law, Eric (7 September 2013). "Fun with Favicons". Microsoft Docs. Microsoft. Retrieved 15 August 2023.
  11. ^ Bart De Smet (2006-07-13). . B# .NET Blog. Archived from the original on 2007-09-27. Retrieved 2007-07-07.
  12. ^ . TechNet. Microsoft. 9 August 2012. Archived from the original on 23 January 2015.
  13. ^ a b Chen, Raymond (27 May 2011). "Why are custom properties created on Windows 2000 lost when I view the file from newer versions of Windows?". The Old New Thing. Microsoft. Retrieved 10 June 2020.
  14. ^ Microsoft (2006-10-27). "Indexing service adds data streams to image files". Microsoft. Retrieved 2006-11-18.
  15. ^ Chen, Raymond (1 May 2012). "What happened to the Summary information created on Windows 2000 and Windows XP?". The Old New Thing. Microsoft. Retrieved 10 June 2020.
  16. ^ Bart De Smet (2005-08-19). . B# .NET Blog. Archived from the original on 2007-02-23. Retrieved 2006-11-18.
  17. ^ Chen, Raymond (4 November 2013). "Manipulating the zone identifier to specify where a file was download from". The Old New Thing. Microsoft.

External links edit

  • MSDN Library: File Streams
  • Alternate Data Streams
  • NTFS Alternate Streams

fork, file, system, computer, file, system, fork, data, associated, with, file, system, object, file, systems, without, forks, only, allow, single, data, contents, while, file, systems, with, forks, allow, multiple, such, contents, every, empty, file, must, ha. In a computer file system a fork is a set of data associated with a file system object File systems without forks only allow a single set of data for the contents while file systems with forks allow multiple such contents Every non empty file must have at least one fork often of default type and depending on the file system a file may have one or more other associated forks which in turn may contain primary data integral to the file or just metadata Unlike extended attributes a similar file system feature which is typically of fixed size forks can be of variable size possibly even larger than the file s primary data fork The size of a file is the sum of the sizes of each fork Popular file systems that can use forks include Apple s HFS and Microsoft s NTFS Contents 1 Alternatives 2 Implementations 2 1 Apple 2 2 Novell 2 3 Microsoft 2 3 1 Uses 2 4 Sun 3 Possible security and data loss risks 4 References 5 External linksAlternatives editOn file systems without forks one may instead use multiple separate files that are associated with each other particularly sidecar files for metadata However the connection between these files is not automatically preserved by the file system and must instead be handled by each program that works on files Another alternative is a container file which stores additional data within a given file format or an archive file which allows storing several files and metadata within a file within a single fork This requires that programs process the container file or archive file rather than the file system handling forks These alternatives require additional work by programs using the data but benefit from portability to file systems that do not support forks Implementations editApple edit See also Resource fork File system forks are associated with Apple s Hierarchical File System HFS 1 HFS and the original Apple Macintosh file system MFS allowed a file system object to have two kinds of forks a data fork and a resource fork The resource fork was designed to store non compiled data that would be used by the system s graphical user interface GUI such as localizable text strings a file s icon to be used by the Finder or the menus and dialog boxes associated with an application 2 However the feature was very flexible so additional uses were found such as splitting a word processing document into content and presentation then storing each part in separate resources As compiled software code was also stored in a resource often applications would consist of just a resource fork and no data fork One of HFS s most obscure features is that a file may have an arbitrary number of custom named forks in addition to the traditional data and resource forks This feature has gone largely unused as Apple never added support for it under Mac OS 8 1 10 3 9 Beginning with 10 4 a partial implementation was made to support Apple s extended inline attributes 3 In Mac OS X until Mac OS X v10 4 users running Unix command line utilities such as tar would risk data loss as the utilities had not been updated to handle the resource forks of files 4 Novell edit Starting in 1985 Novell NetWare File System NWFS and its successor Novell Storage Services NSS were designed from the ground up to use a variety of methods to store a file s metadata Some metadata resides in Novell Directory Services NDS some is stored in the directory structure on the disk and some is stored in as Novell terms it multiple data streams with the file itself Multiple data streams also allow Macintosh clients to attach to and use NetWare servers Microsoft edit NTFS the file system introduced with Windows NT 3 1 supports file system forks known as alternate data streams ADS 5 ReFS a new file system introduced with Windows Server 2012 originally did not support ADS 6 7 8 but in Windows 8 1 64 bit and Server 2012 R2 support for ADS with lengths of up to 128K was added to ReFS 9 ADS was originally intended to add compatibility with existing operating systems that support forks citation needed A computer program may be directed to open an ADS by specifying the name of ADS after a colon sign after the file path 10 In spite of the support most programs including Windows Explorer and the dir command before Windows Vista ignore ADS Windows Explorer copies ADS and warns when the target file system does not support them but only calculates the main stream s size and does not list a file or folder s streams Since Windows Vista the dir command supports showing ADS 11 Windows PowerShell v3 0 and later supports manipulating ADS 12 Uses edit Windows 2000 uses ADS to store thumbnails in image files and to store summary information such as title and author in any file without changing the main stream 13 14 With Windows XP Microsoft realized that ADS is susceptible to loss when the files containing them are moved off NTFS volumes thus Windows XP stores them in the main stream whenever the file format supports it 13 Windows Vista discontinued support for adding summary information altogether as Microsoft decided that they are too sensitive for ADS to handle 15 But the use of ADS for other purposes did not stop Service Pack 2 for Windows XP introduced the Attachment Execution Service that stores details on the origin of downloaded files in an ADS called zone identifier in an effort to protect users from downloaded files that may present a risk 16 Internet Explorer and Windows 8 extended this function through SmartScreen 17 Internet Explorer also uses ADS to store favicons in Internet shortcut files 10 Sun edit Solaris version 9 and later allows files to have forks Forks are called extended attributes in Solaris although they are not within the usual meaning of extended attribute The maximum size of a Solaris type extended attribute is the same as the maximum size of a file and they are read and written in the same fashion as files Internally they are actually stored and accessed like normal files so their ownership and permissions can differ from those of the parent file Sub directories are administratively clarification needed disabled so their names cannot contain characters Extended attributes in Network File System Version 4 are similar to Solaris style extended attributes Possible security and data loss risks editWhen a file system supports different forks the applications should be aware of them or security risks can arise Allowing legacy software to access data without appropriate shims in place is the primary culprit for such problems citation needed If the different system utilities disk explorer antivirus software archivers and so on are not aware of the different forks the following problems can arise The user will never know the presence of any alternate fork nor the total size of the file just of the main data fork Computer viruses can hide in alternate forks on Windows and never get detected if the antivirus software is not aware of forks Data can be lost when sending files via fork unaware channels such as e mail file systems without support for forks or even when copying files between file systems with forks support if the program that made the copy does not support forks or when compressing files with software that does not support forks References edit Apple 1996 07 02 File Forks Apple Archived from the original on 2008 07 24 Retrieved 2006 11 18 Bruce Horn The Grand Unified Model 1 Resources Folklore org Retrieved 2017 10 03 Siracusa John 28 April 2005 Mac OS X 10 4 Tiger Ars Technica Command line Backup Solutions on Mac OS X Apple 2005 10 29 Archived from the original on February 25 2008 Retrieved 2006 11 18 Files and Clusters Microsoft 7 January 2021 Retrieved 2023 08 15 Verma Surendra 16 January 2012 Sinofsky Steven ed Building the next generation file system for Windows ReFS Building Windows 8 Microsoft MSDN blogs Archived from the original on 16 February 2013 Retrieved 20 January 2013 Foley Mary Jo 16 January 2012 Microsoft goes public with plans for its new Windows 8 file system ZDNet CBS Interactive Retrieved 21 January 2013 Martin Lucas Windows Server 2012 Does ReFS replace NTFS When should I use it TechNet Archived from the original on 23 January 2013 Resilient File System Overview Microsoft Docs Microsoft 13 January 2017 Retrieved 15 August 2023 a b Law Eric 7 September 2013 Fun with Favicons Microsoft Docs Microsoft Retrieved 15 August 2023 Bart De Smet 2006 07 13 Use Vista s DIR command to display alternate data streams B NET Blog Archived from the original on 2007 09 27 Retrieved 2007 07 07 FileSystem Provider Windows PowerShell 3 0 TechNet Microsoft 9 August 2012 Archived from the original on 23 January 2015 a b Chen Raymond 27 May 2011 Why are custom properties created on Windows 2000 lost when I view the file from newer versions of Windows The Old New Thing Microsoft Retrieved 10 June 2020 Microsoft 2006 10 27 Indexing service adds data streams to image files Microsoft Retrieved 2006 11 18 Chen Raymond 1 May 2012 What happened to the Summary information created on Windows 2000 and Windows XP The Old New Thing Microsoft Retrieved 10 June 2020 Bart De Smet 2005 08 19 Demo of Attachment Execution Service internals in Windows XP SP2 and Windows Server 2003 SP1 B NET Blog Archived from the original on 2007 02 23 Retrieved 2006 11 18 Chen Raymond 4 November 2013 Manipulating the zone identifier to specify where a file was download from The Old New Thing Microsoft External links editMSDN Library File Streams Alternate Data Streams Alternate Data Streams in Windows NTFS Alternate Streams Retrieved from https en wikipedia org w index php title Fork file system amp oldid 1170626365, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.