Misplaced Pages

Apple File System

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modifying it, and—in some cases, as is the case with some patent-encumbered and EULA -bound software—from making use of the software on their own, thereby restricting their freedoms.

#559440

52-499: Apple File System ( APFS ) is a proprietary file system developed and deployed by Apple Inc. for macOS Sierra (10.12.4) and later, iOS 10.3 , tvOS 10.2, watchOS 3.2, and all versions of iPadOS . It aims to fix core problems of HFS+ (also called Mac OS Extended), APFS's predecessor on these operating systems. APFS is optimized for solid-state drive storage and supports encryption , snapshots , and increased data integrity, among other capabilities. Apple File System

104-476: A trade secret . Software can be made available with fewer restrictions on licensing or source-code access; software that satisfies certain conditions of freedom and openness is known as " free " or " open-source ." Since license agreements do not override applicable copyright law or contract law , provisions in conflict with applicable law are not enforceable. Some software is specifically licensed and not sold, in order to avoid limitations of copyright such as

156-507: A "mixed source" model including both free and non-free software in the same distribution. Most if not all so-called proprietary UNIX distributions are mixed source software, bundling open-source components like BIND , Sendmail , X Window System , DHCP , and others along with a purely proprietary kernel and system utilities. Some free software packages are also simultaneously available under proprietary terms. Examples include MySQL , Sendmail and ssh. The original copyright holders for

208-523: A February 21, 1997, internal Microsoft memo drafted for Bill Gates : Early versions of the iPhone SDK were covered by a non-disclosure agreement . The agreement forbade independent developers from discussing the content of the interfaces. Apple discontinued the NDA in October 2008. Any dependency on the future versions and upgrades for a proprietary software package can create vendor lock-in , entrenching

260-467: A Government Security Program (GSP) to allow governments to view source code and Microsoft security documentation, of which the Chinese government was an early participant. The program is part of Microsoft's broader Shared Source Initiative which provides source code access for some products. The Reference Source License (Ms-RSL) and Limited Public License (Ms-LPL) are proprietary software licenses where

312-401: A copy can decide whether, and how much, to charge for a copy or related services. Proprietary software that comes for no cost is called freeware . Proponents of commercial proprietary software argue that requiring users to pay for software as a product increases funding or time available for the research and development of software. For example, Microsoft says that per-copy fees maximize

364-564: A license for the Internet forum software vBulletin can modify the source for their own site but cannot redistribute it. This is true for many web applications, which must be in source code form when being run by a web server. The source code is covered by a non-disclosure agreement or a license that allows, for example, study and modification, but not redistribution. The text-based email client Pine and certain implementations of Secure Shell are distributed with proprietary licenses that make

416-560: A monopoly position. Proprietary software may also have licensing terms that limit the usage of that software to a specific set of hardware. Apple has such a licensing model for macOS , an operating system which is limited to Apple hardware, both by licensing and various design decisions. This licensing model has been affirmed by the United States Court of Appeals for the Ninth Circuit . Proprietary software which

468-478: A significant margin. According to the Squash Benchmark, LZFSE is similar in speed to zstd (level 6), but has a slightly worse ratio. LZVN is similar in speed to LZ4 level 4, with a slightly worse ratio as well. Neither LZFSE nor LZVN is tunable at runtime, although a few constants can be tweaked at compile time for the usual speed-ratio trade-off. A reference C library written by Eric Bainville

520-481: A single user or computer. In some cases, software features are restricted during or after the trial period, a practice sometimes called crippleware . Proprietary software often stores some of its data in file formats that are incompatible with other software, and may also communicate using protocols which are incompatible. Such formats and protocols may be restricted as trade secrets or subject to patents . A proprietary application programming interface (API)

572-462: A software package may be ended to force users to upgrade and pay for newer versions ( planned obsolescence ). Sometimes another vendor or a software's community themselves can provide support for the software, or the users can migrate to either competing systems with longer support life cycles or to FOSS -based systems. Some proprietary software is released by their owner at end-of-life as open-source or source available software, often to prevent

SECTION 10

#1732798842560

624-425: A technical measure, such as product activation , a product key or serial number, a hardware key , or copy protection . Vendors may also distribute versions that remove particular features, or versions which allow only certain fields of endeavor, such as non-commercial, educational, or non-profit use. Use restrictions vary by license: Vendors typically distribute proprietary software in compiled form, usually

676-406: A work of free software, even copyleft free software, can use dual-licensing to allow themselves or others to redistribute proprietary versions. Non-copyleft free software (i.e. software distributed under a permissive free software license or released to the public domain) allows anyone to make proprietary redistributions. Free software that depends on proprietary software is considered "trapped" by

728-484: Is a software library interface "specific to one device or, more likely to a number of devices within a particular manufacturer's product range." The motivation for using a proprietary API can be vendor lock-in or because standard APIs do not support the device's functionality. The European Commission , in its March 24, 2004, decision on Microsoft's business practices, quotes, in paragraph 463, Microsoft general manager for C++ development Aaron Contorer as stating in

780-625: Is a subset of non-free software , a term defined in contrast to free and open-source software ; non-commercial licenses such as CC BY-NC are not deemed proprietary, but are non-free. Proprietary software may either be closed-source software or source-available software . Until the late 1960s, computers—especially large and expensive mainframe computers , machines in specially air-conditioned computer rooms—were usually leased to customers rather than sold . Service and all software available were usually supplied by manufacturers without separate charge until 1969. Computer vendors usually provided

832-409: Is designed to avoid metadata corruption caused by system crashes . Instead of overwriting existing metadata records in place, it writes entirely new records, points to the new ones and then releases the old ones, an approach known as redirect-on-write . This avoids corrupted records containing partial old and partial new data caused by a crash that occurs during an update. It also avoids having to write

884-399: Is much slower on APFS when it is located on a hard disk drive . This is because instead of storing metadata at a fixed location like HFS+ does, APFS stores them alongside the actual file data. This fragmentation of metadata means more seeks are performed when listing files, acceptable for SSDs but not HDDs. Unlike HFS+, APFS does not support hard links to directories. Since the version of

936-489: Is no longer marketed, supported or sold by its owner is called abandonware , the digital form of orphaned works . If the proprietor of a software package should cease to exist, or decide to cease or limit production or support for a proprietary software package, recipients and users of the package may have no recourse if problems are found with the software. Proprietors can fail to improve and support software because of business problems. Support for older or existing versions of

988-436: Is not synonymous with commercial software , although the two terms are sometimes used synonymously in articles about free software. Proprietary software can be distributed at no cost or for a fee, and free software can be distributed at no cost or for a fee. The difference is that whether proprietary software can be distributed, and what the fee would be, is at the proprietor's discretion. With free software, anyone who has

1040-840: Is provided in macOS Sierra 10.12.4. It is available through the command line diskutil utility. Among these limitations, it does not perform Unicode normalization while HFS+ does, leading to problems with languages other than English. Drives formatted with Sierra’s version of APFS may also not be compatible with later versions of macOS or APFS, and the Sierra version of APFS cannot be used with Time Machine , FileVault volumes, or Fusion Drives. Since macOS 10.13 High Sierra , all devices with flash storage are automatically converted to APFS. As of macOS 10.14 Mojave , Fusion Drives and hard disk drives are also upgraded on installation. The primary user interface to upgrade does not present an option to opt out of this conversion, and devices formatted with

1092-458: Is released under GNU Lesser General Public License v3. It has been packaged into Debian , Fedora Linux , Rocky Linux , Red Hat Enterprise Linux and Ubuntu software repositories. Both are command-line tools that do not expose a normal filesystem driver interface. There is a Filesystem in Userspace (FUSE) driver for Linux called apfs-fuse with read-only access. An "APFS for Linux" project

SECTION 20

#1732798842560

1144-400: Is required for another party to use the software. In the case of proprietary software with source code available, the vendor may also prohibit customers from distributing their modifications to the source code. Shareware is closed-source software whose owner encourages redistribution at no cost, but which the user sometimes must pay to use after a trial period. The fee usually allows use by

1196-572: Is used as an overlay or shadow of the System volume, and both the System and Data volumes are part of the same volume group and shown as one in Finder. Clones allow the operating system to make efficient file copies on the same volume without occupying additional storage space. Changes to a cloned file are saved as delta extents , reducing storage space required for document revisions and copies. There is, however, no interface to mark two copies of

1248-589: Is working to integrate APFS support into the Linux kernel. A commercial product, Paragon's APFS for Windows, allows for read and write support to APFS volumes in all versions of Windows from Windows 7 through Windows 11 and Windows Server 2008 R2 through Windows Server 2022, but it is unable to format or verify APFS volumes, and it cannot read APFS volumes which are hardware-encrypted against the Apple T2 security chip. Proprietary software Proprietary software

1300-830: The Time Machine backup software included in Mac OS X 10.5 (Leopard) through macOS 10.15 (Catalina) relied on hard links to directories, APFS was initially not a supported option for its backup volumes. This limitation was overcome starting in macOS 11 Big Sur , wherein APFS is now the default file system for new Time Machine backups (existing HFS+ -formatted backup drives are also still supported). macOS Big Sur's implementation of Time Machine in conjunction with APFS-formatted drives enables "faster, more compact, and more reliable backups" than were possible with HFS+-formatted backup drives. An experimental version of APFS, with some limitations,

1352-425: The first-sale doctrine . The owner of proprietary software exercises certain exclusive rights over the software. The owner can restrict the use, inspection of source code, modification of source code, and redistribution. Vendors typically limit the number of computers on which software can be used, and prohibit the user from installing the software on extra computers. Restricted use is sometimes enforced through

1404-468: The machine language understood by the computer's central processing unit . They typically retain the source code , or human-readable version of the software, often written in a higher level programming language . This scheme is often referred to as closed source. While most proprietary software is distributed without the source code, some vendors distribute the source code or otherwise make it available to customers. For example, users who have purchased

1456-442: The APFS volume group, which are groups of volumes that Finder displays as one volume. APFS firmlinks lie between hard links and soft links and link between volumes. In macOS Catalina the System volume role (usually named "Macintosh HD") became read-only, and in macOS Big Sur (macOS 11) it became a signed system volume (SSV) and only volume snapshots are mounted. The Data volume role (usually named "Macintosh HD - Data")

1508-625: The Free Software Foundation. This includes software written only for Microsoft Windows, or software that could only run on Java , before it became free software. Most of the software is covered by copyright which, along with contract law , patents , and trade secrets , provides legal basis for its owner to establish exclusive rights. A software vendor delineates the specific terms of use in an end-user license agreement (EULA). The user may agree to this contract in writing, interactively on screen ( clickwrap ), or by opening

1560-584: The High Sierra version of APFS will not be readable in previous versions of macOS. Users can disable APFS conversion by using the installer's startosinstall utility on the command line and passing --converttoapfs NO . FileVault volumes are not converted to APFS as of macOS Big Sur 11.2.1. Instead macOS formats external FileVault drives as CoreStorage Logical Volumes formatted with Mac OS Extended (Journaled). FileVault drives can be optionally encrypted. iOS 10.3 , tvOS 10.2 , and watchOS 3.2 convert

1612-416: The box containing the software ( shrink wrap licensing ). License agreements are usually not negotiable . Software patents grant exclusive rights to algorithms, software features, or other patentable subject matter , with coverage varying by jurisdiction. Vendors sometimes grant patent rights to the user in the license agreement. The source code for a piece of proprietary software is routinely handled as

Apple File System - Misplaced Pages Continue

1664-472: The change twice, as happens with an HFS+ journaled file system, where changes are written first to the journal and then to the catalog file. APFS supports transparent compression on individual files using Deflate (Zlib), LZVN (libFastCompression), and LZFSE . All three are Lempel-Ziv -type algorithms. This feature is inherited from HFS+, and is implemented with the same AppleFSCompression / decmpfs system using resource forks or extended attributes. As with HFS+,

1716-434: The creation of a version of DiskWarrior that can safely rebuild APFS disks. Competing products, including MicroMat's TechTool and Prosoft's Drive Genius, are expected to increase APFS support as well. Paragon Software Group has published a software development kit under the 4-Clause BSD License that supports read-only access of APFS drives. An independent read-only open source implementation by Joachim Metz, libfsapfs,

1768-422: The existing HFSX file system to APFS on compatible devices. Despite the ubiquity of APFS volumes in today's Macs and the format's 2016 introduction, third-party repair utilities continue to have notable limitations in supporting APFS volumes, due to Apple's delayed release of complete documentation. According to Alsoft, the maker of DiskWarrior, Apple's 2018 release of partial APFS format documentation has delayed

1820-619: The legal status of software copyright , especially for object code , was not clear until the 1983 appeals court ruling in Apple Computer, Inc. v. Franklin Computer Corp . According to Brewster Kahle the legal characteristic of software changed also due to the U.S. Copyright Act of 1976 . Starting in February 1983 IBM adopted an " object-code -only" model for a growing list of their software and stopped shipping much of

1872-545: The mechanism for quasi-transparent compression in HFS Plus and Apple File System , supports LZFSE and LZVN since OS X 10.9. Apple's Disk Images framework has offered an LZFSE-based encoding called ULFO since Mac OS X 10.11 , accessible via hdiutil(1) and some third-party image utilities. Apple introduced the Apple Archive format and its associated API in macOS High Sierra in 2017. The extension name

1924-399: The open source reference implementation, Apple explains that LZFSE does not perform as well for small sizes, so LZVN is used instead. This algorithm in libfastCompression.a was discovered earlier as the default kernelcache compression method in Mac OS X Yosemite Developer Preview 1 (2014), replacing the legacy lzss compression from Haruhiko Okumura . AppleFSCompression.framework (AFSC),

1976-424: The profitability of software development. Proprietary software generally creates greater commercial activity over free software, especially in regard to market revenues. Proprietary software is often sold with a license that gives the end user right to use the software. LZFSE LZFSE ( Lempel–Ziv Finite State Entropy ) is an open source lossless data compression algorithm created by Apple Inc. It

2028-515: The same file as clones of the other, or for other types of data deduplication . APFS volumes support snapshots for creating a point-in-time, read-only instance of the file system. Apple File System natively supports full disk encryption , and file encryption with the following options: APFS supports 64-bit inode numbers , supporting over 9 quintillion files (2) on a single volume. Apple File System uses checksums to ensure data integrity for metadata but not for user data. Apple File System

2080-561: The software from becoming unsupported and unavailable abandonware . 3D Realms and id Software are famous for the practice of releasing closed source software into the open source . Some of those kinds are free-of-charge downloads ( freeware ), some are still commercially sold (e.g. Arx Fatalis ). More examples of formerly closed-source software in the List of commercial software with available source code and List of commercial video games with available source code . Proprietary software

2132-484: The software. This is particularly common with certain programming languages . For example, the bytecode for programs written in Java can be easily decompiled to somewhat usable code, and the source code for programs written in scripting languages such as PHP or JavaScript is available at run time . Proprietary software vendors can prohibit the users from sharing the software with others. Another unique license

Apple File System - Misplaced Pages Continue

2184-402: The source code available. Some licenses for proprietary software allow distributing changes to the source code, but only to others licensed for the product, and some of those modifications are eventually picked up by the vendor. Some governments fear that proprietary software may include defects or malicious features which would compromise sensitive information. In 2003 Microsoft established

2236-826: The source code for installed software to customers. Customers who developed software often made it available to the public without charge. Closed source means computer programs whose source code is not published except to licensees. It is available to be modified only by the organization that developed it and those licensed to use the software. In 1969, IBM, which had antitrust lawsuits pending against it, led an industry change by starting to charge separately for mainframe software and services, by unbundling hardware and software. Bill Gates ' " Open Letter to Hobbyists " in 1976 decried computer hobbyists' rampant copyright infringement of software, particularly Microsoft's Altair BASIC interpreter, and asserted that their unauthorized use hindered his ability to produce quality software. But

2288-476: The source code is made available . Governments have also been accused of adding such malware to software themselves. According to documents released by Edward Snowden , the NSA has used covert partnerships with software companies to make commercial encryption software exploitable to eavesdropping, or to insert backdoors . Software vendors sometimes use obfuscated code to impede users who would reverse engineer

2340-606: The source code, even to licensees. In 1983, binary software became copyrightable in the United States as well by the Apple vs. Franklin law decision, before which only source code was copyrightable. Additionally, the growing availability of millions of computers based on the same microprocessor architecture created for the first time an unfragmented and big enough market for binary distributed software. Software distributions considered as proprietary may in fact incorporate

2392-578: The transparency is broken for tools that do not use decmpfs-wrapped routines. APFS adds the ability to have multiple logical drives (referred to as volumes ) in the same container where free space is available to all volumes in that container (block device). While APFS includes numerous improvements relative to its predecessor, HFS+, a number of limitations have been noted. APFS does not provide checksums for user data. It also does not take advantage of byte-addressable non-volatile random-access memory . Enumerating files, and any inode metadata in general,

2444-497: The way APFS calculates available data. APFS uses the GPT partition scheme. Within the GPT scheme are one or more APFS containers (partition type GUID is 7C3457EF-0000-11AA-AA11-00306543ECAC ). Within each container there are one or more APFS volumes, all of which share the allocated space of the container, and each volume may have APFS volume roles. macOS Catalina (macOS 10.15) introduced

2496-505: Was aimed for scenarios where decompression speed and rate should be prioritised equally. Part of this energy efficiency was achieved by optimising the algorithm for modern micro-architectures, specifically focusing on arm64 . Third-party benchmarking confirms that LZFSE decompresses faster than zlib, but also suggests that many other modern compression algorithms may have more favorable compression algorithm performance characteristics such as density, compression speed and decompression speed by

2548-625: Was announced at Apple 's developers’ conference (WWDC) in June 2016 as a replacement for HFS+ , which had been in use since 1998. APFS was released for 64-bit iOS devices on March 27, 2017, with the release of iOS 10.3, and for macOS devices on September 25, 2017, with the release of macOS 10.13 . Apple released a partial specification for APFS in September 2018 which supported read-only access to Apple File Systems on unencrypted, non-Fusion storage devices. The specification for software encryption

2600-521: Was documented later. The file system can be used on devices with relatively small or large amounts of storage. It uses 64-bit inode numbers, and allows for more secure storage by using a technology called Data Protection. The APFS code, like the HFS+ code, uses the TRIM command for better space management and performance. It may increase read-write speeds on iOS and macOS, as well as space on iOS devices, due to

2652-440: Was made available under the 3-clause BSD License after WWDC 2016. It includes an executable to compress and decompress LZFSE streams as well. There are no plans to expose an LZVN API. Apple's LZFSE implementation uses a simpler algorithm called LZVN when the input is smaller than LZFSE_ENCODE_LZVN_THRESHOLD (4096 bytes). This is a LZSS-type algorithm without entropy encoding but with three widths of REP (L,M,D) packets. In

SECTION 50

#1732798842560

2704-535: Was released with a simpler algorithm called LZVN . The name is an acronym for Lempel–Ziv and finite-state entropy (implementation of asymmetric numeral systems ). LZFSE was introduced by Apple at its Worldwide Developer Conference 2015. It shipped with that year's iOS 9 and OS X 10.11 releases. Apple claims that LZFSE compresses with a ratio comparable to that of zlib ( DEFLATE ) and decompresses two to three times faster while using fewer resources, therefore offering higher energy efficiency than zlib. It

#559440