What two sets of data does every folder and file on an ntfs partition list?

NTFS and share permissions are both often used in Microsoft Windows environments. While share and NTFS permissions both serve the same purpose — preventing unauthorized access — there are important differences to understand before you determine how to best perform a task like sharing a folder. Here are the key differences between share and NTFS permissions, along with some recommendations for when and how to use each of them.

What Are NTFS Permissions?

NTFS (New Technology File System) is the standard file system for Microsoft Windows NT and later operating systems; NTFS permissions are used to manage access to data stored in NTFS file systems. The main advantages of NTFS share permissions are that they affect both local users and network users and that they are based on the permissions granted to an individual user at the Windows logon, regardless of where the user is connecting from.

There are both basic and advanced NTFS permissions. You can set each of the permissions to “Allow” or “Deny” to control access to NTFS objects. Here are the basic types of access permissions:

  • Full Control — Users can add, modify, move and delete files and directories, as well as their associated properties. In addition, users can change permissions settings for all files and subdirectories.
  • Modify — Users can view and modify files and file properties, including adding files to or deleting files from a directory, or file properties to or from a file.
  • Read & Execute — Users can run executable files, including scripts.
  • Read — Users can view files, file properties and directories.
  • Write — Users can write to a file and add files to directories.

Share permissions manage access to folders shared over a network; they don’t apply to users who log on locally. Share permissions apply to all files and folders in the share; you cannot granularly control access to subfolders or objects on a share. You can specify the number of users who are allowed to access the shared folder. Share permissions can be used with NTFS, FAT and FAT32 file systems.

There are three types of share permissions: Full Control, Change and Read. You can set each of them to “Deny” or “Allow” to control access to shared folders or drives:

  • Read — Users can view file and subfolder names, read data in files, and run programs. By default, the “Everyone” group is assigned “Read” permissions.
  • Change — Users can do everything allowed by the “Read” permission, as well as add files and subfolders, change data in files, and delete subfolders and files. This permission is not assigned by default.
  • Full Control — Users can do everything allowed by the “Read” and “Change” permissions, and they can also change permissions for NTFS files and folders only. By default, the “Administrators” group is granted “Full Control” permissions.

Here are the key differences between NTFS and share permissions that you need to know:

  • Share permissions are easy to apply and manage, but NTFS permissions enable more granular control of a shared folder and its contents.
  • When share and NTFS permissions are used simultaneously, the most restrictive permission always wins. For example, when the shared folder permission is set to “Everyone Read Allow” and the NTFS permission is set to “Everyone Modify Allow”, the share permission applies because it is most restrictive; the user is not allowed to change the files on the shared drive.
  • Share permissions can be used when sharing folders in FAT and FAT32 file systems; NTFS permissions can’t.
  • NTFS permissions apply to users who are logged on to the server locally; share permissions don’t.
  • Unlike NTFS permissions, share permissions allow you to restrict the number of concurrent connections to a shared folder.
  • Share permissions are configured in the “Advanced Sharing” properties in the “Permissions” settings. NTFS permissions are configured on the Security tab in the file or folder properties.

How to Change NTFS Permissions

To change NTFS permissions:

  1. Open the “Security” tab.
  2. In the folder’s “Properties” dialog box, click “Edit”.
  3. Click on the name of the object you want to change permissions for.
  4. Select either “Allow” or “Deny” for each of the settings.
  5. Click “Apply” to apply the permissions.

Alternatively, you can change NTFS permissions using PowerShell.

To change share permissions:

  1. Right-click the shared folder.
  2. Click “Properties”.
  3. Open the “Sharing” tab.
  4. Click “Advanced Sharing”.
  5. Click “Permissions”.
  6. Select a user or group from the list.
  7. Select either “Allow” or “Deny” for each of the settings.

Permissions Best Practices

  • Assign permissions to groups, not user accounts — Assigning permissions to groups simplifies management of shared resources. If a user’s role changes, you simply add them to the appropriate new groups and remove them from any groups that are no longer relevant.
  • Enforce the principle of least privilege — Grant users the permissions they need and nothing more. For example, if a user needs to read the information in a folder but never has a legitimate reason to delete, create, or change files, make sure they have only the “Read” permission.
  • Use only NTFS permissions for local users — Share permissions apply only to users who access shared resources over the network; they do not apply to users who log on locally.
  • Put objects with the same security requirements in the same folder — For example, if users require the “Read” permission for several folders that are used by one department, store those folders in the same parent folder and share that parent folder, rather than sharing each folder individually.
  • Do not set the permissions for the “Everyone” group to “Deny” — The “Everyone” group includes anyone who has access to shared folders, including the “Guest” account, with the exception of the “Anonymous Logon” group.
  • Avoid explicitly denying permissions to a shared resource — Normally, you should explicitly deny permissions only when you want to override specific permissions that are already assigned.
  • Grant the “Administrators” group the “Full Control” permission to the parent shared folder — This strategy enables administrators to manage permissions, export access lists, and track changes to all permissions, files and folders.
  • Keep a close eye on the membership of the “Administrators” group — Users in this group have “Full Access” permissions to all of your shared files and folders. Therefore, you should carefully audit changes to its membership, using either audit policy and the security event log, or third-party software solutions that can notify you about any changes to this powerful group in real time, as well as facilitate regular attestation for all user permissions.

For more information, read about NTFS permissions management best practices.

Using Just One Set of Permissions

If you feel that working with two separate sets of permissions is too complicated, you can use just NTFS share permissions. Simply change the share permissions for the folder to “Full Control,” and then you can make whatever changes you want to the NTFS permissions without having to worry about the file share permissions interfering with them.

Summary

Understanding the differences between Share and NTFS permissions enables you to use them together to secure access to local and shared resources. Following the guidelines and best practices detailed here will further strengthen the security of your IT environment.

New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft.[2][1] Starting with Windows NT 3.1, it is the default file system of the Windows NT family.[11] It superseded File Allocation Table (FAT) as the preferred filesystem on Windows and is supported in Linux and BSD as well. NTFS reading and writing support is provided using a free and open-source kernel implementation known as NTFS3 in Linux and the NTFS-3G driver in BSD.[12][13] Windows can convert FAT32/16/12 into NTFS without the need to rewrite all files.[14] NTFS uses several files typically hidden from the user to store metadata about other files stored on the drive which can help improve speed and performance when reading data.[1] Unlike FAT and High Performance File System (HPFS), NTFS supports access control lists (ACLs), filesystem encryption, transparent compression, sparse files and file system journaling. NTFS also supports shadow copy to allow backups of a system while it is running, but the functionality of the shadow copies varies between different versions of Windows.[15]

New Technology File System[1]Developer(s)MicrosoftFull nameNT File System[2]IntroducedJuly 1993; 28 years ago (1993-07) with Windows NT 3.1Partition identifier0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)StructuresDirectory contentsB-tree variant[3][4]File allocationBitmapBad blocks$BadClus (MFT Record)LimitsMax. volume size264 clusters − 1 cluster (format);
256 TiB − 64 KB (Windows 10 version 1703, Windows Server 2016 or earlier implementation)[5]
8 PB – 2 MB (Windows 10 version 1709, Windows Server 2019 or later implementation)[6]Max. file size16 EiB – 1 KB (format);
16 TB – 64 KB (Windows 7, Windows Server 2008 R2 or earlier implementation)[5]
256 TB – 64 KB (Windows 8, Windows Server 2012 or later implementation)[7]
8 PB – 2 MiB (Windows 10 version 1709, Windows Server 2019 or later implementation)[6]Max. number of files4,294,967,295 (232-1)[5]Max. filename length255 UTF-16 code units[8]Allowed characters in filenames

  • In Win32 namespace: any UTF-16 code unit (case-insensitive) except /\:*"?<>| as well as NUL[8]
  • In POSIX namespace: any UTF-16 code unit (case-sensitive) except / as well as NUL
  • Trailing spaces are not allowed and will be removed[9]

FeaturesDates recordedCreation, modification, POSIX change, accessDate range1 January 1601 – 28 May 60056 (File times are 64-bit numbers counting 100-nanosecond intervals (ten million per second) since 1601, which is 58,000+ years)Date resolution100 nsForksYes (see § Alternate data stream (ADS) below)AttributesRead-only, hidden, system, archive, not content indexed, off-line, temporary, compressedFile system permissionsACLsTransparent compressionPer-file, LZ77 (Windows NT 3.51 onward)Transparent encryptionPer-file,
DESX (Windows 2000 onward),
Triple DES (Windows XP onward),
AES (Windows XP Service Pack 1, Windows Server 2003 onward)Data deduplicationYes (Windows Server 2012)[10]OtherSupported operating systemsWindows NT 3.1 and later
Mac OS X 10.3 and later (read-only)
Linux kernel version 2.6 and later
Linux kernel versions 2.2-2.4 (read-only)
FreeBSD
NetBSD
OpenBSD (read-only)
Chrome OS
Solaris
ReactOS (read-only)

In the mid-1980s, Microsoft and IBM formed a joint project to create the next generation of graphical operating system; the result was OS/2 and HPFS. Because Microsoft disagreed with IBM on many important issues, they eventually separated; OS/2 remained an IBM project and Microsoft worked to develop Windows NT and NTFS.

The HPFS file system for OS/2 contained several important new features. When Microsoft created their new operating system, they "borrowed" many of these concepts for NTFS.[16] The original NTFS developers were Tom Miller, Gary Kimura, Brian Andrew, and David Goebel.[17]

Probably as a result of this common ancestry, HPFS and NTFS use the same disk partition identification type code (07). Using the same Partition ID Record Number is highly unusual, since there were dozens of unused code numbers available, and other major file systems have their own codes. For example, FAT has more than nine (one each for FAT12, FAT16, FAT32, etc.). Algorithms identifying the file system in a partition type 07 must perform additional checks to distinguish between HPFS and NTFS.

Versions

Microsoft has released five versions of NTFS:

NTFS version number First operating system Release date New features Remarks
1.0 Windows NT 3.1 1993[11] Initial version NTFS 1.0 is incompatible with 1.1 and newer: volumes written by Windows NT 3.5x cannot be read by Windows NT 3.1 until an update (available on the NT 3.5x installation media) is installed.[18]
1.1 Windows NT 3.51 1995 Compressed files, named streams, and access control lists[19]
1.2 Windows NT 4.0 1996 Security descriptors Commonly called NTFS 4.0 after the OS release
3.0 Windows 2000 2000 Disk quotas, file-level encryption in a form of Encrypting File System, sparse files, reparse points, update sequence number (USN) journaling, distributed link tracking, the $Extend folder and its files Compatibility was also made available for Windows NT 4.0 with the Service Pack 4 update. Commonly called NTFS 5.0 after the OS release.[20]
3.1 Windows XP October 2001 Expanded the Master File Table (MFT) entries with redundant MFT record number (useful for recovering damaged MFT files) Commonly called NTFS 5.1 after the OS release

The NTFS.sys version number (e.g. v5.0 in Windows 2000) is based on the operating system version; it should not be confused with the NTFS version number (v3.1 since Windows XP).[21]

Although subsequent versions of Windows added new file system-related features, they did not change NTFS itself. For example, Windows Vista implemented NTFS symbolic links, Transactional NTFS, partition shrinking, and self-healing.[22] NTFS symbolic links are a new feature in the file system; all the others are new operating system features that make use of NTFS features already in place.

NTFS is optimized for 4 KB clusters, but supports a maximum cluster size of 2 MB. (Earlier implementations support up to 64 KB)[6] The maximum NTFS volume size that the specification can support is 264 − 1 clusters, but not all implementations achieve this theoretical maximum, as discussed below.

The maximum NTFS volume size implemented in Windows XP Professional is 232 − 1 clusters, partly due to partition table limitations. For example, using 64 KB clusters, the maximum size Windows XP NTFS volume is 256 TB minus 64 KB. Using the default cluster size of 4 KB, the maximum NTFS volume size is 16 TB minus 4 KB. Both of these are vastly higher than the 128 GB limit in Windows XP SP1. Because partition tables on master boot record (MBR) disks support only partition sizes up to 2 TB, multiple GUID Partition Table (GPT or "dynamic") volumes must be combined to create a single NTFS volume larger than 2 TB. Booting from a GPT volume to a Windows environment in a Microsoft supported way requires a system with Unified Extensible Firmware Interface (UEFI) and 64-bit support.[23]

The NTFS maximum theoretical limit on the size of individual files is 16 EB[24] (16 × 10246 or 264 bytes) minus 1 KB, which totals 18,446,744,073,709,550,592 bytes. With Windows 10 version 1709 and Windows Server 2019, the maximum implemented file size is 8 PB minus 2 MB or 9,007,199,252,643,840 bytes.[6]

While the different NTFS versions are for the most part fully forward- and backward-compatible, there are technical considerations for mounting newer NTFS volumes in older versions of Microsoft Windows. This affects dual-booting, and external portable hard drives. For example, attempting to use an NTFS partition with "Previous Versions" (Volume Shadow Copy) on an operating system that does not support it will result in the contents of those previous versions being lost.[15] A Windows command-line utility called convert.exe can convert supporting file systems to NTFS, including HPFS (only on Windows NT 3.1, 3.5, and 3.51), FAT16 and FAT32 (on Windows 2000 and later).[25][26]

FreeBSD

FreeBSD 3.2 released in May 1999 included read-only NTFS support written by Semen Ustimenko.[27][28] This implementation was ported to NetBSD by Christos Zoulas and Jaromir Dolecek and released with NetBSD 1.5 in December 2000.[29] The FreeBSD implementation of NTFS was also ported to OpenBSD by Julien Bordet and offers native read-only NTFS support by default on i386 and amd64 platforms as of version 4.9 released 1 May 2011.[30][28]

Linux

Linux kernel versions 2.1.74 and later include a driver written by Martin von Löwis which has the ability to read NTFS partitions;[31] kernel versions 2.5.11 and later contain a new driver written by Anton Altaparmakov (University of Cambridge) and Richard Russon which supports file read.[32][33][31] The ability to write to files was introduced with kernel version 2.6.15 in 2006 which allows users to write to existing files but does not allow the creation of new ones.[34] Paragon's NTFS driver (see below) has been merged into kernel version 5.15, and it supports read/write on normal, compressed and sparse files, as well as journal replaying.[35]

NTFS-3G is a free GPL-licensed FUSE implementation of NTFS that was initially developed as a Linux kernel driver by Szabolcs Szakacsits. It was re-written as a FUSE program to work on other systems that FUSE supports like macOS, FreeBSD, NetBSD, OpenBSD,[36] Solaris, QNX, and Haiku[37] and allows reading and writing to NTFS partitions. A performance enhanced commercial version of NTFS-3G, called "Tuxera NTFS for Mac", is also available from the NTFS-3G developers.[38]

Captive NTFS, a 'wrapping' driver that uses Windows' own driver ntfs.sys, exists for Linux. It was built as a Filesystem in Userspace (FUSE) program and released under the GPL but work on Captive NTFS ceased in 2006.[39]

Linux kernel versions 5.15 onwards carry NTFS3, a fully functional NTFS Read-Write driver which works on NTFS versions up to 3.1 and is maintained primarily by the Paragon Software Group with the source code found here.

Mac OS

Mac OS X 10.3 included Ustimenko's read-only implementation of NTFS from FreeBSD. Then in 2006 Apple hired Anton Altaparmakov to write a new NTFS implementation for Mac OS X 10.6.[40] Native NTFS write support is included in 10.6 and later, but is not activated by default, although workarounds do exist to enable the functionality. However, user reports indicate the functionality is unstable and tends to cause kernel panics.[41]

Paragon Software Group sells a read-write driver named NTFS for Mac OS X,[42] which is also included on some models of Seagate hard drives.[43]

OS/2

The NetDrive package for OS/2 (and derivatives such as eComStation and ArcaOS) supports a plugin which allows read and write access to NTFS volumes.[44][45]

DOS

There is a free-for-personal-use read/write driver for MS-DOS by Avira called "NTFS4DOS".[46][47]

Ahead Software developed a "NTFSREAD" driver (version 1.200) for DR-DOS 7.0x between 2002 and 2004. It was part of their Nero Burning ROM software.

NTFS uses access control lists and user-level encryption to help secure user data.

Access control lists (ACLs)

 

Fig. 1: NTFS file system permissions on a modern Windows system

In NTFS, each file or folder is assigned a security descriptor that defines its owner and contains two access control lists (ACLs). The first ACL, called discretionary access control list (DACL), defines exactly what type of interactions (e.g. reading, writing, executing or deleting) are allowed or forbidden by which user or groups of users. For example, files in the C:\Program Files folder may be read and executed by all users but modified only by a user holding administrative privileges.[48] Windows Vista adds mandatory access control info to DACLs. DACLs are the primary focus of User Account Control in Windows Vista and later.

The second ACL, called system access control list (SACL), defines which interactions with the file or folder are to be audited and whether they should be logged when the activity is successful, failed or both. For example, auditing can be enabled on sensitive files of a company, so that its managers get to know when someone tries to delete them or make a copy of them, and whether he or she succeeds.[48]

Encryption

Encrypting File System (EFS) provides user-transparent encryption of any file or folder on an NTFS volume.[49] EFS works in conjunction with the EFS service, Microsoft's CryptoAPI and the EFS File System Run-Time Library (FSRTL). EFS works by encrypting a file with a bulk symmetric key (also known as the File Encryption Key, or FEK), which is used because it takes a relatively small amount of time to encrypt and decrypt large amounts of data than if an asymmetric key cipher is used. The symmetric key that is used to encrypt the file is then encrypted with a public key that is associated with the user who encrypted the file, and this encrypted data is stored in an alternate data stream of the encrypted file. To decrypt the file, the file system uses the private key of the user to decrypt the symmetric key that is stored in the data stream. It then uses the symmetric key to decrypt the file. Because this is done at the file system level, it is transparent to the user.[50] Also, in case of a user losing access to their key, support for additional decryption keys has been built into the EFS system, so that a recovery agent can still access the files if needed. NTFS-provided encryption and NTFS-provided compression are mutually exclusive; however, NTFS can be used for one and a third-party tool for the other.

The support of EFS is not available in Basic, Home, and MediaCenter versions of Windows, and must be activated after installation of Professional, Ultimate, and Server versions of Windows or by using enterprise deployment tools within Windows domains.

NTFS is a journaling file system and uses the NTFS Log ($LogFile) to record metadata changes to the volume. It is a feature that FAT does not provide and critical for NTFS to ensure that its complex internal data structures will remain consistent in case of system crashes or data moves performed by the defragmentation API, and allow easy rollback of uncommitted changes to these critical data structures when the volume is remounted. Notably affected structures are the volume allocation bitmap, modifications to MFT records such as moves of some variable-length attributes stored in MFT records and attribute lists, and indices for directories and security descriptors.

The ($LogFile) format has evolved through several versions:

Windows Version $LogFile format version
Windows NT 4.0 1.1
Windows 2000
Windows XP
Windows Vista
Windows 7
Windows 8
Windows 8.1 2.0
Windows 10

The incompatibility of the $LogFile versions implemented by Windows 8.1 and Windows 10 prevents Windows 8 (and earlier versions of Windows) from recognizing version 2.0 of the $LogFile. Backward compatibility is provided by downgrading the $LogFile to version 1.1 when an NTFS volume is cleanly dismounted. It is again upgraded to version 2.0 when mounting on a compatible version of Windows. However, when hibernating to disk in the logoff state (a.k.a. Hybrid Boot or Fast Boot, which is enabled by default), mounted file systems are not dismounted, and thus the $LogFiles of any active file systems are not downgraded to version 1.1. The inability to process version 2.0 of the $LogFile by versions of Windows older than 8.1 results in an unnecessary invocation of the CHKDSK disk repair utility. This is particularly a concern in a multi-boot scenario involving pre- and post-8.1 versions of Windows, or when frequently moving a storage device between older and newer versions. A Windows Registry setting exists to prevent the automatic upgrade of the $LogFile to the newer version. The problem can also be dealt with by disabling Hybrid Boot.[51]

The USN Journal (Update Sequence Number Journal) is a system management feature that records (in $Extend\$UsnJrnl) changes to files, streams and directories on the volume, as well as their various attributes and security settings. The journal is made available for applications to track changes to the volume.[52] This journal can be enabled or disabled on non-system volumes.[53]

Hard links

The hard link feature allows different file names to directly refer to the same file contents. Hard links may link only to files in the same volume, because each volume has its own MFT. Hard links were originally included to support the POSIX subsystem in Windows NT.[54]

Although Hard links use the same MFT record (inode) which records file metadata such as file size, modification date, and attributes, NTFS also caches this data in the directory entry as a performance enhancement. This means that when listing the contents of a directory using FindFirstFile/FindNextFile family of APIs, (equivalent to the POSIX opendir/readdir APIs) you will also receive this cached information, in addition to the name and inode. However, you may not see up-to-date information, as this information is only guaranteed to be updated when a file is closed, and then only for the directory from which the file was opened.[55] This means where a file has multiple names via hard links, updating a file via one name does not update the cached data associated with the other name. You can always obtain up-to-date data using GetFileInformationByHandle (which is the true equivalent of POSIX stat function). This can be done using a handle which has no access to the file itself (passing zero to CreateFile for dwDesiredAccess), and closing this handle has the incidental effect of updating the cached information.

Windows uses hard links to support short (8.3) filenames in NTFS. Operating system support is needed because there are legacy applications that can work only with 8.3 filenames, but support can be disabled. In this case, an additional filename record and directory entry is added, but both 8.3 and long file name are linked and updated together, unlike a regular hard link.

The NTFS file system has a limit of 1024 hard links on a file.[56]

Alternate data stream (ADS)

Alternate data streams allow more than one data stream to be associated with a filename (a fork), using the format "filename:streamname" (e.g., "text.txt:extrastream").

NTFS Streams were introduced in Windows NT 3.1, to enable Services for Macintosh (SFM) to store resource forks. Although current versions of Windows Server no longer include SFM, third-party Apple Filing Protocol (AFP) products (such as GroupLogic's ExtremeZ-IP) still use this feature of the file system. Very small ADSs (named "Zone.Identifier") are added by Internet Explorer and recently[when?] by other browsers to mark files downloaded from external sites as possibly unsafe to run; the local shell would then require user confirmation before opening them.[57] When the user indicates that they no longer wants this confirmation dialog, this ADS is deleted.

Alternate streams are not listed in Windows Explorer, and their size is not included in the file's size. When the file is copied or moved to another file system without ADS support the user is warned that alternate data streams cannot be preserved. No such warning is typically provided if the file is attached to an e-mail, or uploaded to a website. Thus, using alternate streams for critical data may cause problems. Microsoft provides a tool called Streams[58] to view streams on a selected volume. Starting with Windows PowerShell 3.0, it is possible to manage ADS natively with six cmdlets: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item, Set-Content.[59]

Malware has used alternate data streams to hide code.[60] As a result, malware scanners and other special tools now check for alternate data streams.

File compression

Compression is enabled on a per-folder or per-file basis and may be compressed or decompressed individually (via changing the advanced attributes). When compression is set on a folder, any files moved or saved to that folder will be automatically compressed. Files are compressed using LZNT1 algorithm (a variant of LZ77).[61] Since Windows 10, Microsoft has introduced additional algorithms, namely XPRESS4K/8K/16K and LZX. Both algorithms are based on LZ77 with Huffman entropy coding, which LZNT1 lacked. These algorithms were taken from the Windows Imaging Format. They are mainly used for new CompactOS feature, which compresses the entire system partition using one of these algorithms.[62] They can also be manually turned on per file with the /exe flag of the compact command. When used on files, CompactOS algorithm avoids fragmentation by writing compressed data in contiguously allocated chunks.[citation needed]

Files are compressed in 16 cluster chunks. With 4 KB clusters, files are compressed in 64 KB chunks. The compression algorithms in NTFS are designed to support cluster sizes of up to 4 KB. When the cluster size is greater than 4 KB on an NTFS volume, NTFS compression is not available.[63]

Advantages

Users of fast multi-core processors will find improvements in application speed by compressing their applications and data as well as a reduction in space used. Note that SSDs with Sandforce controllers already compress data. However, since less data is transferred, there is a reduction in I/Os.[64] Compression works best with files that have repetitive content, are seldom written, are usually accessed sequentially, and are not themselves compressed. Single-user systems with limited hard disk space can benefit from NTFS compression for small files, from 4 KB to 64 KB or more, depending on compressibility. Files smaller than approximately 900 bytes are stored within the directory entry of the MFT.[65]

Disadvantages

Large compressible files become highly fragmented since every chunk smaller than 64 KB becomes a fragment.[66][67] Flash memory, such as SSD drives do not have the head movement delays and high access time of mechanical hard disk drives, so fragmentation has only a smaller penalty.

Maximum Compression Size

According to research by Microsoft's NTFS Development team, 50–60 GB is a reasonable maximum size for a compressed file on an NTFS volume with a 4 KB (default) cluster (block) size. This reasonable maximum size decreases sharply for volumes with smaller cluster sizes.[66] If the compression reduces 64 KB of data to 60 KB or less, NTFS treats the unneeded 4 KB pages like empty sparse file clusters—they are not written. This allows for reasonable random-access times as the OS merely has to follow the chain of fragments.

Boot failures

If system files that are needed at boot time (such as drivers, NTLDR, winload.exe, or BOOTMGR) are compressed, the system may fail to boot correctly, because decompression filters are not yet loaded.[68] Later editions of Windows[which?] do not allow important system files to be compressed.

Sparse files

 

A sparse file: Empty bytes don't need to be saved, thus they can be represented by metadata.

Sparse files are files interspersed with empty segments for which no actual storage space is used. To the applications, the file looks like an ordinary file with empty regions seen as regions filled with zeros.[69] A sparse file does not necessarily include sparse zeros areas; the "sparse file" attribute just means that the file is allowed to have them.

Database applications, for instance, may use sparse files.[70] As with compressed files, the actual sizes of sparse files are not taken into account when determining quota limits.[71]

Volume Shadow Copy

The Volume Shadow Copy Service (VSS) keeps historical versions of files and folders on NTFS volumes by copying old, newly overwritten data to shadow copy via copy-on-write technique. The user may later request an earlier version to be recovered. This also allows data backup programs to archive files currently in use by the file system.

Windows Vista also introduced persistent shadow copies for use with System Restore and Previous Versions features. Persistent shadow copies, however, are deleted when an older operating system mounts that NTFS volume. This happens because the older operating system does not understand the newer format of persistent shadow copies.[72]

Transactions

As of Windows Vista, applications can use Transactional NTFS (TxF) to group multiple changes to files together into a single transaction. The transaction will guarantee that either all of the changes happen, or none of them do, and that no application outside the transaction will see the changes until they are committed.[73]

It uses similar techniques as those used for Volume Shadow Copies (i.e. copy-on-write) to ensure that overwritten data can be safely rolled back, and a CLFS log to mark the transactions that have still not been committed, or those that have been committed but still not fully applied (in case of system crash during a commit by one of the participants).

Transactional NTFS does not restrict transactions to just the local NTFS volume, but also includes other transactional data or operations in other locations such as data stored in separate volumes, the local registry, or SQL databases, or the current states of system services or remote services. These transactions are coordinated network-wide with all participants using a specific service, the DTC, to ensure that all participants will receive same commit state, and to transport the changes that have been validated by any participant (so that the others can invalidate their local caches for old data or rollback their ongoing uncommitted changes). Transactional NTFS allows, for example, the creation of network-wide consistent distributed file systems, including with their local live or offline caches.

Microsoft now advises against using TxF: "Microsoft strongly recommends developers utilize alternative means" since "TxF may not be available in future versions of Microsoft Windows".[74]

Quotas

Disk quotas were introduced in NTFS v3. They allow the administrator of a computer that runs a version of Windows that supports NTFS to set a threshold of disk space that users may use. It also allows administrators to keep track of how much disk space each user is using. An administrator may specify a certain level of disk space that a user may use before they receive a warning, and then deny access to the user once they hit their upper limit of space. Disk quotas do not take into account NTFS's transparent file-compression, should this be enabled. Applications that query the amount of free space will also see the amount of free space left to the user who has a quota applied to them.

Reparse points

Introduced in NTFS v3, NTFS reparse points are used by associating a reparse tag in the user space attribute of a file or directory. Microsoft includes several default tags including symbolic links, directory junction points and volume mount points. When the Object Manager parses a file system name lookup and encounters a reparse attribute, it will reparse the name lookup, passing the user controlled reparse data to every file system filter driver that is loaded into Windows. Each filter driver examines the reparse data to see whether it is associated with that reparse point, and if that filter driver determines a match, then it intercepts the file system request and performs its special functionality.

Starting with Windows Vista Microsoft added the built-in ability to shrink or expand a partition. However, this ability does not relocate page file fragments or files that have been marked as unmovable, so shrinking a volume will often require relocating or disabling any page file, the index of Windows Search, and any Shadow Copy used by System Restore. Various third-party tools are capable of resizing NTFS partitions.

OneDrive

Since 2017, Microsoft requires the OneDrive file structure to reside on an NTFS disk.[75] This is because OneDrive Files On-Demand feature uses NTFS reparse points to link files and folders that are stored in OneDrive to the local filesystem, making the file or folder unusable with any previous version of Windows, with any other NTFS file system driver, or any file system and backup utilities not updated to support it.[76]

NTFS is made up of several components including: a partition boot sector (PBS) that holds boot information; the master file table that stores a record of all files and folders in the filesystem; a series of meta files that help structure meta data more efficiently; data streams and locking mechanisms.

Internally, NTFS uses B-trees to index file system data. A file system journal is used to guarantee the integrity of the file system metadata but not individual files' content. Systems using NTFS are known to have improved reliability compared to FAT file systems.[77]

NTFS allows any sequence of 16-bit values for name encoding (e.g. file names, stream names or index names) except 0x0000. This means UTF-16 code units are supported, but the file system does not check whether a sequence is valid UTF-16 (it allows any sequence of short values, not restricted to those in the Unicode standard). In Win32 namespace, any UTF-16 code units are case insensitive whereas in POSIX namespace they are case sensitive. File names are limited to 255 UTF-16 code units. Certain names are reserved in the volume root directory and cannot be used for files. These are $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, . (dot), $Bitmap, $Boot, $BadClus, $Secure, $UpCase, and $Extend.[5] . (dot) and $Extend are both directories; the others are files. The NT kernel limits full paths to 32,767 UTF-16 code units. There are some additional restrictions on code points and file names.[78]

Partition Boot Sector (PBS)

NTFS boot sector contents[79][80] (All values except strings are stored in little endian order.)
Byte offset Field length Typical value Field name Purpose
0x00 3 bytes 0xEB5290 JMP instruction Causes execution to continue after the data structures in this boot sector.
0x03 8 bytes "NTFS    "
Word "NTFS" followed by four trailing spaces (0x20)
OEM ID This is the magic number that indicates this is an NTFS file system.
0x0B 2 bytes 0x0200 BPB Bytes per sector The number of bytes in a disk sector.
0x0D 1 byte 0x08 Sectors Per Cluster The number of sectors in a cluster. If the value is greater than 0x80, the amount of sectors is 2 to the power of the absolute value of considering this field to be negative.
0x0E 2 bytes 0x0000 Reserved Sectors, unused How much space is reserved by the OS at the start of disk. This is always 1.
0x10 3 bytes 0x000000 Unused This field is always 0
0x13 2 bytes 0x0000 Unused by NTFS This field is always 0
0x15 1 byte 0xF8 Media Descriptor The type of drive. 0xF8 is used to denote a hard drive (in contrast to the several sizes of floppy).
0x16 2 bytes 0x0000 Unused This field is always 0
0x18 2 bytes 0x003F Sectors Per Track The number of disk sectors in a drive track.
0x1A 2 bytes 0x00FF Number Of Heads The number of heads on the drive.
0x1C 4 bytes 0x0000003F Hidden Sectors The number of sectors preceding the partition.
0x20 4 bytes 0x00000000 Unused Not used by NTFS
0x24 4 bytes 0x00800080 EBPB Unused Not used by NTFS
0x28 8 bytes 0x00000000007FF54A Total sectors The partition size in sectors.
0x30 8 bytes 0x0000000000000004 $MFT cluster number The cluster that contains the Master File Table
0x38 8 bytes 0x000000000007FF54 $MFTMirr cluster number The cluster that contains a backup of the Master File Table
0x40 1 byte 0xF6 Bytes or Clusters Per File Record Segment A positive value denotes the number of clusters in a File Record Segment. A negative value denotes the amount of bytes in a File Record Segment, in which case the size is 2 to the power of the absolute value. (0xF6 = -10 → 210 = 1024).
0x41 3 bytes 0x000000 Unused This field is not used by NTFS
0x44 1 byte 0x01 Bytes or Clusters Per Index Buffer A positive value denotes the number of clusters in an Index Buffer. A negative value denotes the amount of bytes and it uses the same algorithm for negative numbers as the "Bytes or Clusters Per File Record Segment."
0x45 3 bytes 0x000000 Unused This field is not used by NTFS
0x48 8 bytes 0x1C741BC9741BA514 Volume Serial Number A unique random number assigned to this partition, to keep things organized.
0x50 4 bytes 0x00000000 Checksum, unused Supposedly a checksum.
0x54 426 bytes Bootstrap Code The code that loads the rest of the operating system. This is pointed to by the first 3 bytes of this sector.
0x01FE 2 bytes 0xAA55 End-of-sector Marker This flag indicates that this is a valid boot sector.

This boot partition format is roughly based upon the earlier FAT filesystem, but the fields are in different locations. Some of these fields, especially the "sectors per track", "number of heads" and "hidden sectors" fields may contain dummy values on drives where they either do not make sense or are not determinable.

The OS first looks at the 8 bytes at 0x30 to find the cluster number of the $MFT, then multiplies that number by the number of sectors per cluster (1 byte found at 0x0D). This value is the sector offset (LBA) to the $MFT, which is described below.

Master File Table

In NTFS, all file, directory and metafile data—file name, creation date, access permissions (by the use of access control lists), and size—are stored as metadata in the Master File Table (MFT). This abstract approach allowed easy addition of file system features during Windows NT's development—an example is the addition of fields for indexing used by the Active Directory software. This also enables fast file search software to locate named local files and folders included in the MFT very quickly, without requiring any other index.

The MFT structure supports algorithms which minimize disk fragmentation.[81] A directory entry consists of a filename and a "file ID" (analogous to the inode number), which is the record number representing the file in the Master File Table. The file ID also contains a reuse count to detect stale references. While this strongly resembles the W_FID of Files-11, other NTFS structures radically differ.

A partial copy of the MFT, called the MFT mirror, is stored to be used in case of corruption.[82] If the first record of the MFT is corrupted, NTFS reads the second record to find the MFT mirror file. Locations for both files are stored in the boot sector.[83]

Metafiles

NTFS contains several files that define and organize the file system. In all respects, most of these files are structured like any other user file ($Volume being the most peculiar), but are not of direct interest to file system clients.[84] These metafiles define files, back up critical file system data, buffer file system changes, manage free space allocation, satisfy BIOS expectations, track bad allocation units, and store security and disk space usage information. All content is in an unnamed data stream, unless otherwise indicated.

MFT (entries 0–26 are the NTFS metafiles)
Segment number File name Purpose
0 $MFT Describes all files on the volume, including file names, timestamps, stream names, and lists of cluster numbers where data streams reside, indexes, security identifiers, and file attributes like "read only", "compressed", "encrypted", etc.
1 $MFTMirr Duplicate of the first vital entries of $MFT, usually 4 entries (4 kilobytes).
2 $LogFile Contains transaction log of file system metadata changes.
3 $Volume Contains information about the volume, namely the volume object identifier, volume label, file system version, and volume flags (mounted, chkdsk requested, requested $LogFile resize, mounted on NT 4, volume serial number updating, structure upgrade request). This data is not stored in a data stream, but in special MFT attributes: If present, a volume object ID is stored in an $OBJECT_ID record; the volume label is stored in a $VOLUME_NAME record, and the remaining volume data is in a $VOLUME_INFORMATION record. Note: volume serial number is stored in file $Boot (below).
4 $AttrDef A table of MFT attributes that associates numeric identifiers with names.
5 . Root directory. Directory data is stored in $INDEX_ROOT and $INDEX_ALLOCATION attributes both named $I30.
6 $Bitmap An array of bit entries: each bit indicates whether its corresponding cluster is used (allocated) or free (available for allocation).
7 $Boot Volume boot record (VBR). This file is always located at the first clusters on the volume. It contains bootstrap code (see NTLDR/BOOTMGR) and a BIOS parameter block including a volume serial number and cluster numbers of $MFT and $MFTMirr.
8 $BadClus A file that contains all the clusters marked as having bad sectors. This file simplifies cluster management by the chkdsk utility, both as a place to put newly discovered bad sectors, and for identifying unreferenced clusters. This file contains two data streams, even on volumes with no bad sectors: an unnamed stream contains bad sectors—it is zero length for perfect volumes; the second stream is named $Bad and contains all clusters on the volume not in the first stream.
9 $Secure Access control list database that reduces overhead having many identical ACLs stored with each file, by uniquely storing these ACLs only in this database (contains two indices: $SII (Standard_Information ID) and $SDH (Security Descriptor Hash), which index the stream named $SDS containing actual ACL table).[19]
10 $UpCase A table of unicode uppercase characters for ensuring case-insensitivity in Win32 and DOS namespaces.
11 $Extend A file system directory containing various optional extensions, such as $Quota, $ObjId, $Reparse or $UsnJrnl.
12–23 Reserved for $MFT extension entries. Extension entries are additional MFT records that contain additional attributes that do not fit in the primary record. This could occur if the file is sufficiently fragmented, has many streams, long filenames, complex security, or other rare situations.
24 $Extend\$Quota Holds disk quota information. Contains two index roots, named $O and $Q.
25 $Extend\$ObjId Holds link tracking information. Contains an index root and allocation named $O.
26 $Extend\$Reparse Holds reparse point data (such as symbolic links). Contains an index root and allocation named $R.
27– Beginning of regular file entries.

These metafiles are treated specially by Windows, handled directly by the NTFS.SYS driver and are difficult to directly view: special purpose-built tools are needed.[85] As of Windows 7, the NTFS driver completely prohibits user access, resulting in a BSoD whenever an attempt to execute a metadata file is made. One such tool is the nfi.exe ("NTFS File Sector Information Utility") that is freely distributed as part of the Microsoft "OEM Support Tools". For example, to obtain information on the "$MFT"-Master File Table Segment the following command is used: nfi.exe c:\$MFT[86] Another way to bypass the restriction is to use 7-Zip's file manager and go to the low-level NTFS path \\.\X:\ (where X:\ resembles any drive/partition). Here, 3 new folders will appear: $EXTEND, [DELETED] (a pseudo-folder that 7-Zip uses to attach files deleted from the file system to view), and [SYSTEM] (another pseudo-folder that contains all the NTFS metadata files). This trick can be used from removable devices (USB flash drives, external hard drives, SD Cards, etc.) inside Windows, but doing this on the active partition requires offline access (namely WinRE).

Attribute lists, attributes, and streams

For each file (or directory) described in the MFT record, there is a linear repository of stream descriptors (also named attributes), packed together in one or more MFT records (containing the so-called attributes list), with extra padding to fill the fixed 1 KB size of every MFT record, and that fully describes the effective streams associated with that file.

Each attribute has an attribute type (a fixed-size integer mapping to an attribute definition in file $AttrDef), an optional attribute name (for example, used as the name for an alternate data stream), and a value, represented in a sequence of bytes. For NTFS, the standard data of files, the alternate data streams, or the index data for directories are stored as attributes.

According to $AttrDef, some attributes can be either resident or non-resident. The $DATA attribute, which contains file data, is such an example. When the attribute is resident (which is represented by a flag), its value is stored directly in the MFT record. Otherwise, clusters are allocated for the data, and the cluster location information is stored as data runs in the attribute.

  • For each file in the MFT, the attributes identified by attribute type, attribute name must be unique. Additionally, NTFS has some ordering constraints for these attributes.
  • There is a predefined null attribute type, used to indicate the end of the list of attributes in one MFT record. It must be present as the last attribute in the record (all other storage space available after it will be ignored and just consists of padding bytes to match the record size in the MFT).
  • Some attribute types are required and must be present in each MFT record, except unused records that are just indicated by null attribute types.
    • This is the case for the $STANDARD_INFORMATION attribute that is stored as a fixed-size record and contains the timestamps and other basic single-bit attributes (compatible with those managed by FAT in DOS or Windows 9x).
  • Some attribute types cannot have a name and must remain anonymous.
    • This is the case for the standard attributes, or for the preferred NTFS "filename" attribute type, or the "short filename" attribute type, when it is also present (for compatibility with DOS-like applications, see below). It is also possible for a file to contain only a short filename, in which case it will be the preferred one, as listed in the Windows Explorer.
    • The filename attributes stored in the attribute list do not make the file immediately accessible through the hierarchical file system. In fact, all the filenames must be indexed separately in at least one other directory on the same volume. There it must have its own MFT record and its own security descriptors and attributes that reference the MFT record number for this file. This allows the same file or directory to be "hardlinked" several times from several containers on the same volume, possibly with distinct filenames.
  • The default data stream of a regular file is a stream of type $DATA but with an anonymous name, and the ADSs are similar but must be named.
  • On the other hand, the default data stream of directories has a distinct type, but are not anonymous: they have an attribute name ("$I30" in NTFS 3+) that reflects its indexing format.

All attributes of a given file may be displayed by using the nfi.exe ("NTFS File Sector Information Utility") that is freely distributed as part of the Microsoft "OEM Support Tools".[86]

Windows system calls may handle alternate data streams.[5] Depending on the operating system, utility and remote file system, a file transfer might silently strip data streams.[5] A safe way of copying or moving files is to use the BackupRead and BackupWrite system calls, which allow programs to enumerate streams, to verify whether each stream should be written to the destination volume and to knowingly skip unwanted streams.[5]

Resident vs. non-resident attributes

To optimize the storage and reduce the I/O overhead for the very common case of attributes with very small associated value, NTFS prefers to place the value within the attribute itself (if the size of the attribute does not then exceed the maximum size of an MFT record), instead of using the MFT record space to list clusters containing the data; in that case, the attribute will not store the data directly but will just store an allocation map (in the form of data runs) pointing to the actual data stored elsewhere on the volume.[87] When the value can be accessed directly from within the attribute, it is called "resident data" (by computer forensics workers). The amount of data that fits is highly dependent on the file's characteristics, but 700 to 800 bytes is common in single-stream files with non-lengthy filenames and no ACLs.

  • Some attributes (such as the preferred filename, the basic file attributes) cannot be made non-resident. For non-resident attributes, their allocation map must fit within MFT records.
  • Encrypted-by-NTFS, sparse data streams, or compressed data streams cannot be made resident.
  • The format of the allocation map for non-resident attributes depends on its capability of supporting sparse data storage. In the current implementation of NTFS, once a non-resident data stream has been marked and converted as sparse, it cannot be changed back to non-sparse data, so it cannot become resident again, unless this data is fully truncated, discarding the sparse allocation map completely.
  • When a non-resident attribute is so fragmented, that its effective allocation map cannot fit entirely within one MFT record, NTFS stores the attribute in multiple records. The first one among them is called the base record, while the others are called extension records. NTFS creates a special attribute $ATTRIBUTE_LIST to store information mapping different parts of the long attribute to the MFT records, which means the allocation map may be split into multiple records. The $ATTRIBUTE_LIST itself can also be non-resident, but its own allocation map must fit within one MFT record.
  • When there are too many attributes for a file (including ADS's, extended attributes, or security descriptors), so that they cannot fit all within the MFT record, extension records may also be used to store the other attributes, using the same format as the one used in the base MFT record, but without the space constraints of one MFT record.

The allocation map is stored in a form of data runs with compressed encoding. Each data run represents a contiguous group of clusters that store the attribute value. For files on a multi-GB volume, each entry can be encoded as 5 to 7 bytes, which means a 1 KB MFT record can store about 100 such data runs. However, as the $ATTRIBUTE_LIST also has a size limit, it is dangerous to have more than 1 million fragments of a single file on an NTFS volume, which also implies that it is in general not a good idea to use NTFS compression on a file larger than 10 GB.[88]

The NTFS file system driver will sometimes attempt to relocate the data of some of the attributes that can be made non-resident into the clusters, and will also attempt to relocate the data stored in clusters back to the attribute inside the MFT record, based on priority and preferred ordering rules, and size constraints.

Since resident files do not directly occupy clusters ("allocation units"), it is possible for an NTFS volume to contain more files on a volume than there are clusters. For example, a 74.5 GB partition NTFS formats with 19,543,064 clusters of 4 KB. Subtracting system files (a 64 MB log file, a 2,442,888-byte Bitmap file, and about 25 clusters of fixed overhead) leaves 19,526,158 clusters free for files and indices. Since there are four MFT records per cluster, this volume theoretically could hold almost 4 × 19,526,158= 78,104,632 resident files.

Opportunistic locks

Opportunistic file locks (oplocks) allow clients to alter their buffering strategy for a given file or stream in order to increase performance and reduce network use.[89] Oplocks apply to the given open stream of a file and do not affect oplocks on a different stream.

Oplocks can be used to transparently access files in the background. A network client may avoid writing information into a file on a remote server if no other process is accessing the data, or it may buffer read-ahead data if no other process is writing data.

Windows supports four different types of oplocks:

  • Level 2 (or shared) oplock: multiple readers, no writers (i.e. read caching).
  • Level 1 (or exclusive) oplock: exclusive access with arbitrary buffering (i.e. read and write caching).
  • Batch oplock (also exclusive): a stream is opened on the server, but closed on the client machine (i.e. read, write and handle caching).
  • Filter oplock (also exclusive): applications and file system filters can "back out" when others try to access the same stream (i.e. read and write caching) (since Windows 2000)

Opportunistic locks have been enhanced in Windows 7 and Windows Server 2008 R2 with per-client oplock keys.[90]

Time

Windows NT and its descendants keep internal timestamps as UTC and make the appropriate conversions for display purposes; all NTFS timestamps are in UTC.[citation needed]

For historical reasons, the versions of Windows that do not support NTFS all keep time internally as local zone time, and therefore so do all file systems – other than NTFS – that are supported by current versions of Windows. This means that when files are copied or moved between NTFS and non-NTFS partitions, the OS needs to convert timestamps on the fly. But if some files are moved when daylight saving time (DST) is in effect, and other files are moved when standard time is in effect, there can be some ambiguities in the conversions. As a result, especially shortly after one of the days on which local zone time changes, users may observe that some files have timestamps that are incorrect by one hour. Due to the differences in implementation of DST in different jurisdictions, this can result in a potential timestamp error of up to 4 hours in any given 12 months.[91]

  • Comparison of file systems
  • NTFSDOS
  • ntfsresize
  • WinFS (a canceled Microsoft filesystem)
  • ReFS, a newer Microsoft filesystem

  1. ^ a b c Karresand, Martin; Axelsson, Stefan; Dyrkolbotn, Geir Olav (2019-07-01). "Using NTFS Cluster Allocation Behavior to Find the Location of User Data". Digital Investigation. 29: –51–S60. doi:10.1016/j.diin.2019.04.018. ISSN 1742-2876. S2CID 199004263. Retrieved 2021-12-01.
  2. ^ a b "Glossary". [MS-EFSR]: Encrypting File System Remote (EFSRPC) Protocol. Microsoft. 14 November 2013.
  3. ^ "How NTFS Works". TechNet. Microsoft. Retrieved 2 December 2017.
  4. ^ "B*Trees - NTFS Directory Trees - Conecpt - NTFS Documentation". flatcap.org. Retrieved 2019-05-13.
  5. ^ a b c d e f g "How NTFS Works". Windows Server 2003 Technical Reference. 2003-03-28. Retrieved 2011-09-12.
  6. ^ a b c d "Appendix A: Product Behavior". [MS-FSA]: File System Algorithms. Microsoft. 2018-09-12. Retrieved 2018-10-01. NTFS uses a default cluster size of 4 KB, a maximum cluster size of 64 KB on Windows 10 v1703 operating system and Windows Server 2016 and prior, and 2 MB on Windows 10 v1709 operating system and Windows Server 2019 and later, and a minimum cluster size of 512 bytes.
  7. ^ "Appendix A: Product Behavior". [MS-FSA]: File System Algorithms. Microsoft. 14 November 2013. Retrieved 2012-09-21.
  8. ^ a b Russon, Richard; Fledel, Yuval. "NTFS Documentation" (PDF). Retrieved 2011-06-26.
  9. ^ https://bugs.winehq.org/show_bug.cgi?id=51808#c2
  10. ^ Rick Vanover. "Windows Server 8 data deduplication". Retrieved 2011-12-02.
  11. ^ a b Custer, Helen (1994). Inside the Windows NT File System. Microsoft Press. ISBN 978-1-55615-660-1.
  12. ^ "NTFS3 — The Linux Kernel documentation". www.kernel.org. Retrieved 2021-12-02.
  13. ^ "ntfs-3g". www.freebsd.org. Retrieved 2021-12-02.
  14. ^ "How to Convert a Drive from FAT32 to NTFS without Data Loss". WindowsLoop. 11 July 2021. Retrieved 8 August 2021.
  15. ^ a b cfsbloggers (July 14, 2006). "How restore points and other recovery features in Windows Vista are affected when dual-booting with Windows XP". The Filing Cabinet. Retrieved 2007-03-21.
  16. ^ Kozierok, Charles. "Overview and History of NTFS". The PC Guide. Retrieved May 30, 2019.
  17. ^ Custer, Helen (1994). Inside the Windows NT File System. Microsoft Press. p. vii. ISBN 978-1-55615-660-1.
  18. ^ "Recovering Windows NT After a Boot Failure on an NTFS Drive". Microsoft. November 1, 2006.
  19. ^ a b Russinovich, Mark. "Inside Win2K NTFS, Part 1". MSDN. Microsoft. Retrieved 2008-04-18.
  20. ^ "What's New in Windows NT 4.0 Service Pack 4?". Microsoft.com. 12 January 1999. Archived from the original on 17 January 1999. Retrieved 17 August 2018.
  21. ^ "New Capabilities and Features of the NTFS 3.1 File System". Microsoft. 1 December 2007.
  22. ^ Loveall, John (2006). "Storage improvements in Windows Vista and Windows Server 2008" (PowerPoint). Microsoft. pp. 14–20. Retrieved 2007-09-04.
  23. ^ "Booting from GPT". Rodsbooks.com. Retrieved 22 September 2018.
  24. ^ "NTFS vs FAT vs exFAT - NTFS.com". www.ntfs.com. Retrieved 2021-01-19.
  25. ^ "How to Convert FAT Disks to NTFS". Microsoft. Retrieved May 30, 2019.
  26. ^ "How to use Convert.exe to convert a partition to the NTFS file system". Microsoft Corporation. 2007-02-12. Retrieved 2010-12-26.
  27. ^ "FreeBSD 3.2 Release Notes". 17 May 1999. Retrieved 2020-06-15.
  28. ^ a b "mount_ntfs - OpenBSD manual pages". Retrieved 2020-06-15.
  29. ^ "Announcing NetBSD 1.5". 6 December 2000. Retrieved 2020-06-15.
  30. ^ "OpenBSD 4.9". Openbsd.com. Retrieved 22 September 2018.
  31. ^ a b "NTFS Credits and History". Linux-NTFS Project. Retrieved 2021-09-05.
  32. ^ "Kernel development". lwn.net. 2 May 2002. Retrieved 2021-09-05.
  33. ^ "Release notes for v2.5.11". 29 April 2002. Retrieved 2021-09-05.
  34. ^ "2.6.15 changelog". Linux project. 3 January 2006. Retrieved 2021-09-05.
  35. ^ Anderson, Tim (2021-09-06). "GitHub merges 'useless garbage' says Linus Torvalds as new NTFS support added to Linux kernel 5.15". The Register. Retrieved 2021-09-07.
  36. ^ "OpenBSD adds fuse(4) support for adding file systems in userland". OpenBSD Journal. 2013-11-08. Retrieved 2013-11-08.
  37. ^ "NTFS-3G Stable Read/Write Driver". 2009-07-25.
  38. ^ "Tuxera NTFS for Mac". Tuxera. August 30, 2011. Retrieved September 20, 2011.
  39. ^ "Jan Kratochvil: Captive: The first free NTFS read/write filesystem for GNU/Linux". Retrieved 2020-06-15.
  40. ^ "About Tuxera". Retrieved 2020-06-15.
  41. ^ "10.6: Enable native NTFS read/write support". 1 October 2009. Retrieved 5 September 2021.
  42. ^ "NTFS for Mac OS X, communication channel between Mac OS X and Windows". Paragon Software Group. Retrieved September 20, 2011.
  43. ^ "The Leader in Mass Data Storage Solutions | Seagate US". Seagate.com. Archived from the original on February 10, 2011.
  44. ^ "NTFS plugin for NetDrive". ecsoft2.org. Retrieved 2020-09-09.
  45. ^ "NetDrive for OS/2". arcanoae.com. Retrieved 2020-09-09.
  46. ^ "Avira NTFS4DOS Personal". Archived from the original on June 19, 2010. Retrieved 2009-07-25.
  47. ^ "Download Avira NTFS4DOS Personal 1.9". Archived from the original on 10 November 2013. Retrieved 22 September 2018.
  48. ^ a b "How Security Descriptors and Access Control Lists Work". TechNet. Microsoft. Retrieved 4 September 2015.
  49. ^ Morello, John (February 2007). "Security Watch Deploying EFS: Part 1". Technet Magazine. Microsoft. Retrieved 2009-01-25.
  50. ^ "How EFS Works". Windows 2000 Resource Kit. Microsoft. Retrieved 25 February 2014.
  51. ^ "Windows 8 volume compatibility considerations with prior versions of Windows". Retrieved 2021-12-17.
  52. ^ "Change Journals (Windows)". MSDN. Retrieved 2010-04-16.
  53. ^ "Creating, Modifying, and Deleting a Change Journal (Windows)". MSDN. Retrieved 2010-04-16.
  54. ^ "Chapter 29 – POSIX Compatibility". MS Windows NT Workstation 4.0 Resource Guide. Microsoft. 1995. Retrieved 21 October 2013.
  55. ^ "Hard Links and Junctions". MSDN. Microsoft. 12 October 2013. Retrieved 21 October 2013.
  56. ^ "MSDN – CreateHardLink function". Retrieved 14 January 2016.
  57. ^ Russinovich, Mark E.; Solomon, David A.; Ionescu, Alex (2009). "File Systems". Windows Internals (5th ed.). Microsoft Press. p. 921. ISBN 978-0-7356-2530-3. One component in Windows that uses multiple data streams is the Attachment Execution Service[...] depending on which zone the file was downloaded from [...] Windows Explorer might warn the user
  58. ^ "Streams - Windows Sysinternals". Technet.microsoft.com. Retrieved 22 September 2018.
  59. ^ "FileSystem Provider". Microsoft. 9 August 2012. Archived from the original on 23 January 2015. Retrieved 23 January 2015.
  60. ^ Malware utilising Alternate Data Streams? Archived 2008-07-23 at the Wayback Machine, AusCERT Web Log, 21 August 2007
  61. ^ "File Compression and Decompression". MSDN Platform SDK: File Systems. Retrieved 2005-08-18.
  62. ^ "Compact OS, single-instancing, and image optimization". Microsoft. Retrieved 1 October 2019.
  63. ^ "The Default Cluster Size for the NTFS and FAT File Systems". Microsoft. January 31, 2002. Retrieved 2012-01-10.
  64. ^ Masiero, Manuel (2011-12-01). "Should You Compress Data On Your SSD?". Tom's Hardware. Bestofmedia Group. Retrieved 2013-04-05.
  65. ^ "How NTFS Works". 2003-03-28. Retrieved 2011-10-24.
  66. ^ a b Middleton, Dennis. "Understanding NTFS Compression". Ntdebugging Blog. Microsoft. Retrieved 2011-03-16.
  67. ^ "Shrinking the gap: carving NTFS-compressed files". Retrieved 2011-05-29.
  68. ^ "Disk Concepts and Troubleshooting". Microsoft. Retrieved 2012-03-26.
  69. ^ "Sparse Files". MSDN. Microsoft. 12 October 2013. Retrieved 21 October 2013.
  70. ^ Kandoth, Suresh B. (4 March 2009). "Sparse File Errors: 1450 or 665 due to file fragmentation: Fixes and Workarounds". CSS SQL Server Engineers. Microsoft. Retrieved 21 October 2013.
  71. ^ "Sparse Files and Disk Quotas". MSDN Library. Microsoft. 12 October 2013. Retrieved 21 October 2013.
  72. ^ cfsbloggers (July 14, 2006). "How restore points and other recovery features in Windows Vista are affected when you dual-boot with Windows XP". The Filing Cabinet. Retrieved 2007-03-21.
  73. ^ "Transactional NTFS". MSDN. Microsoft. Retrieved 2007-02-02.
  74. ^ "Transactional NTFS (TxF)". Windows Dev Center (MSDN). Microsoft. Retrieved 24 May 2015.
  75. ^ "Unable to open content synced in a OneDrive folder on an external drive". Microsoft Support. Retrieved 2021-04-03.
  76. ^ André, Jean-Pierre (March 1, 2019). "NTFS-3G: Junction Points, Symbolic Links and Reparse Points". jp-andre.pagesperso-orange.fr.
  77. ^ "Chapter 18 – Choosing a File System". MS Windows NT Workstation 4.0 Resource Guide. Microsoft. Retrieved 25 February 2014.
  78. ^ "Naming Files, Paths, and Namespaces". MSDN. Microsoft. Naming Conventions. Retrieved 25 February 2014.
  79. ^ "NTFS. Partition Boot Sector". Ntfs.com. Retrieved 22 September 2018.
  80. ^ "Boot Sector". Technet.microsoft.com. Retrieved 22 September 2018.
  81. ^ "Master File Table". MSDN. July 2, 2012.
  82. ^ "Forensics: What is the MFT Mirror?". Where is Your Data?. 2009-06-05. Retrieved 2021-07-30.
  83. ^ "NTFS Master File Table (MFT)". Ntfs.com. Retrieved 22 September 2018.
  84. ^ Schwarz, Thomas. "COEN 252 Computer Forensics NTFS". Faculty of Organization and Informatics University of Zagreb. Archived from the original on 2021-02-27. Retrieved May 30, 2019.
  85. ^ Since Windows XP, it is very difficult to view a listing of these files: they exist in the root directory's index, but the Win32 interface filters them out. In NT 4.0, the command line dir command would list the metafiles in the root directory if /a were specified. In Windows 2000, dir /a stopped working, but dir /a \$MFT worked.
  86. ^ a b "OEM Support Tools Phase 3 Service Release 2 Availability". Microsoft Corporation. 2007-02-21. Archived from the original on 2015-02-23. Retrieved 2010-06-16. Windows NT File System (NTFS) File Sector Information Utility ... A tool used to dump information about an NTFS volume
  87. ^ "The Four Stages of NTFS File Growth". Retrieved 22 September 2018.
  88. ^ "A heavily fragmented file in an NTFS volume may not grow beyond a certain size". Archived from the original on 2021-05-06. Retrieved 2021-05-19.
  89. ^ "How Oplocks function in the Windows Environment: Overview". Archived from the original on 2010-08-23. Retrieved 2018-12-19.
  90. ^ "What's New in NTFS". Technet.microsoft.com. Retrieved 22 September 2018.
  91. ^ "Beating the Daylight Saving Time bug and getting correct file modification times Archived 2004-11-14 at the Wayback Machine" The Code Project

  • Bolosky, William J.; Corbin, Scott; Goebel, David; Douceur, John R. (January 2000). "Single Instance Storage in Windows 2000". Proceedings of 4th USENIX Windows Systems Symposium.
  • Custer, Helen (1994). Inside the Windows NT File System. Microsoft Press. ISBN 978-1-55615-660-1.
  • Nagar, Rajeev (1997). Windows NT File System Internals: A Developer's Guide. O'Reilly. ISBN 978-1-56592-249-5.
  • "NTFS Technical Reference". Microsoft TechNet. Microsoft. 28 March 2003.

Retrieved from "https://en.wikipedia.org/w/index.php?title=NTFS&oldid=1081040902"


Page 2

OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci.[2] As a result of a feud between the two companies over how to position OS/2 relative to Microsoft's new Windows 3.1 operating environment,[3] the two companies severed the relationship in 1992 and OS/2 development fell to IBM exclusively.[4] The name stands for "Operating System/2", because it was introduced as part of the same generation change release as IBM's "Personal System/2 (PS/2)" line of second-generation personal computers. The first version of OS/2 was released in December 1987 and newer versions were released until December 2001.

What two sets of data does every folder and file on an ntfs partition list?
OS/2
What two sets of data does every folder and file on an ntfs partition list?

OS/2 Warp 4 desktop. This version was released on 25 September 1996.[1]

DeveloperIBM
Microsoft (1.0–1.3)Written inC, C++ and assembly languageWorking stateHistorical, now developed as ArcaOSSource modelClosed sourceInitial releaseDecember 1987; 34 years ago (1987-12)Latest release4.52 / December 2001; 20 years ago (2001-12)Marketing targetProfessionals, serversAvailable inChinese, English, French, German, Italian, Japanese, Korean, Spanish, Portuguese, RussianPlatformsx86, PowerPCKernel typeHybrid kernelInfluenced byMS-DOS, IBM PC DOSDefault
user interfaceWorkplace Shell Graphical user interfaceLicenseProprietarySucceeded byFirst by eComStation, then ArcaOSOfficial websiteOS/2 Warp (Archived)

OS/2 was intended as a protected-mode successor of PC DOS. Notably, basic system calls were modeled after MS-DOS calls; their names even started with "Dos" and it was possible to create "Family Mode" applications – text mode applications that could work on both systems.[5] Because of this heritage, OS/2 shares similarities with Unix, Xenix, and Windows NT.

IBM discontinued its support for OS/2 on 31 December 2006.[6] Since then, OS/2 has been developed, supported and sold by two different third-party vendors under license from IBM – first by Serenity Systems as eComStation since 2001,[7] and later by Arca Noae LLC as ArcaOS since 2017.[8][9][10]

 

OS/2 1.0 featured a text-mode interface similar to MS-DOS.

The development of OS/2 began when IBM and Microsoft signed the "Joint Development Agreement" in August 1985.[11][12] It was code-named "CP/DOS" and it took two years for the first product to be delivered.

OS/2 1.0 was announced in April 1987 and released in December. The original release is textmode-only, and a GUI was introduced with OS/2 1.1 about a year later. OS/2 features an API for controlling the video display (VIO) and handling keyboard and mouse events so that programmers writing for protected mode need not call the BIOS or access hardware directly. Other development tools included a subset of the video and keyboard APIs as linkable libraries so that family mode programs are able to run under MS-DOS,[citation needed] and, in the OS/2 Extended Edition v1.0, a database engine called Database Manager or DBM (this was related to DB2, and should not be confused with the DBM family of database engines for Unix and Unix-like operating systems).[13] A task-switcher named Program Selector was available through the Ctrl-Esc hotkey combination, allowing the user to select among multitasked text-mode sessions (or screen groups; each can run multiple programs).[14]

Communications and database-oriented extensions were delivered in 1988, as part of OS/2 1.0 Extended Edition: SNA, X.25/APPC/LU 6.2, LAN Manager, Query Manager, SQL.

 

OS/2 1.1 was the first version to feature the Presentation Manager GUI.

The promised user interface, Presentation Manager, was introduced with OS/2 1.1 in October 1988.[15] It had a similar user interface to Windows 2.1, which was released in May of that year. (The interface was replaced in versions 1.2 and 1.3 by a look closer in appearance to Windows 3.0).

The Extended Edition of 1.1, sold only through IBM sales channels, introduced distributed database support to IBM database systems and SNA communications support to IBM mainframe networks.

In 1989, Version 1.2 introduced Installable Filesystems and, notably, the HPFS filesystem. HPFS provided a number of improvements over the older FAT file system, including long filenames and a form of alternate data streams called Extended Attributes.[16] In addition, extended attributes were also added to the FAT file system.[17]

 

Installation Disk A of Microsoft OS/2 1.3 (3½-inch floppy disk)

The Extended Edition of 1.2 introduced TCP/IP and Ethernet support.

OS/2- and Windows-related books of the late 1980s acknowledged the existence of both systems and promoted OS/2 as the system of the future.[18]

1990: Breakup

The collaboration between IBM and Microsoft unravelled in 1990, between the releases of Windows 3.0 and OS/2 1.3. During this time, Windows 3.0 became a tremendous success, selling millions of copies in its first year.[19] Much of its success was because Windows 3.0 (along with MS-DOS) was bundled with most new computers.[20] OS/2, on the other hand, was available only as an additional stand-alone software package. In addition, OS/2 lacked device drivers for many common devices such as printers, particularly non-IBM hardware.[21] Windows, on the other hand, supported a much larger variety of hardware. The increasing popularity of Windows prompted Microsoft to shift its development focus from cooperating on OS/2 with IBM to building its own business based on Windows.[22]

Several technical and practical reasons contributed to this breakup.

The two companies had significant differences in culture and vision. Microsoft favored the open hardware system approach that contributed to its success on the PC. IBM sought to use OS/2 to drive sales of its own hardware, and urged Microsoft to drop features, such as fonts, that IBM's hardware did not support. Microsoft programmers also became frustrated with IBM's bureaucracy and its use of lines of code to measure programmer productivity.[23] IBM developers complained about the terseness and lack of comments in Microsoft's code, while Microsoft developers complained that IBM's code was bloated.[24]

The two products have significant differences in API. OS/2 was announced when Windows 2.0 was near completion, and the Windows API already defined. However, IBM requested that this API be significantly changed for OS/2.[25] Therefore, issues surrounding application compatibility appeared immediately. OS/2 designers hoped for source code conversion tools, allowing complete migration of Windows application source code to OS/2 at some point. However, OS/2 1.x did not gain enough momentum to allow vendors to avoid developing for both OS/2 and Windows in parallel.

 

OS/2 1.3 was the final 16-bit only version of OS/2, and the last to be sold by Microsoft.

OS/2 1.x targets the Intel 80286 processor and DOS fundamentally doesn't. IBM insisted on supporting the 80286 processor, with its 16-bit segmented memory mode, because of commitments made to customers who had purchased many 80286-based PS/2s as a result of IBM's promises surrounding OS/2.[26] Until release 2.0 in April 1992, OS/2 ran in 16-bit protected mode and therefore could not benefit from the Intel 80386's much simpler 32-bit flat memory model and virtual 8086 mode features. This was especially painful in providing support for DOS applications. While, in 1988, Windows/386 2.1 could run several cooperatively multitasked DOS applications, including expanded memory (EMS) emulation, OS/2 1.3, released in 1991, was still limited to one 640 kB "DOS box".

Given these issues, Microsoft started to work in parallel on a version of Windows which was more future-oriented and more portable. The hiring of Dave Cutler, former VAX/VMS architect, in 1988 created an immediate competition with the OS/2 team, as Cutler did not think much of the OS/2 technology and wanted to build on his work on the MICA project at Digital rather than creating a "DOS plus". His NT OS/2 was a completely new architecture.[27]

IBM grew concerned about the delays in development of OS/2 2.0. Initially, the companies agreed that IBM would take over maintenance of OS/2 1.0 and development of OS/2 2.0, while Microsoft would continue development of OS/2 3.0. In the end, Microsoft decided to recast NT OS/2 3.0 as Windows NT, leaving all future OS/2 development to IBM. From a business perspective, it was logical to concentrate on a consumer line of operating systems based on DOS and Windows, and to prepare a new high-end system in such a way as to keep good compatibility with existing Windows applications. While it waited for this new high-end system to develop, Microsoft would still receive licensing money from Xenix and OS/2 sales. Windows NT's OS/2 heritage can be seen in its initial support for the HPFS filesystem, text mode OS/2 1.x applications, and OS/2 LAN Manager network support. Some early NT materials even included OS/2 copyright notices embedded in the software.[citation needed] One example of NT OS/2 1.x support is in the WIN2K resource kit. Windows NT could also support OS/2 1.x Presentation Manager and AVIO applications with the addition of the Windows NT Add-On Subsystem for Presentation Manager.[28]

1992: 32-bit era

 

OS/2 2.0 was the first 32-bit release of OS/2, and the first to feature the Workplace Shell.

OS/2 2.0 was released in April 1992. At the time, the suggested retail price was U.S. $195, while Windows retailed for $150.[29]

OS/2 2.0 provided a 32-bit API for native programs, though the OS itself still contained some 16-bit code and drivers. It also included a new OOUI (object-oriented user interface) called the Workplace Shell. This was a fully object-oriented interface that was a significant departure from the previous GUI. Rather than merely providing an environment for program windows (such as the Program Manager), the Workplace Shell provided an environment in which the user could manage programs, files and devices by manipulating objects on the screen. With the Workplace Shell, everything in the system is an "object" to be manipulated.

DOS compatibility

OS/2 2.0 was touted by IBM as "a better DOS than DOS and a better Windows than Windows".[30] It managed this by including the fully-licensed MS-DOS 5.0, which had been patched and improved upon. For the first time, OS/2 was able to run more than one DOS application at a time. This was so effective, that it allowed OS/2 to run a modified copy of Windows 3.0, itself a DOS extender, including Windows 3.0 applications.

Because of the limitations of the Intel 80286 processor, OS/2 1.x could run only one DOS program at a time, and did this in a way that allowed the DOS program to have total control over the computer. A problem in DOS mode could crash the entire computer. In contrast, OS/2 2.0 could leverage the virtual 8086 mode of the Intel 80386 processor to create a much safer virtual machine in which to run DOS programs. This included an extensive set of configuration options to optimize the performance and capabilities given to each DOS program. Any real-mode operating system (such as 8086 Xenix) could also be made to run using OS/2's virtual machine capabilities, subject to certain direct hardware access limitations.

 

The OS/2 2.0 upgrade box

Like most 32-bit environments, OS/2 could not run protected-mode DOS programs using the older VCPI interface, unlike the Standard mode of Windows 3.1; it only supported programs written according to DPMI. (Microsoft discouraged the use of VCPI under Windows 3.1, however, due to performance degradation.)[31]

Unlike Windows NT, OS/2 always allowed DOS programs the possibility of masking real hardware interrupts, so any DOS program could deadlock the machine in this way. OS/2 could, however, use a hardware watchdog on selected machines (notably IBM machines) to break out of such a deadlock. Later, release 3.0 leveraged the enhancements of newer Intel 80486 and Intel Pentium processors—the Virtual Interrupt Flag (VIF), which was part of the Virtual Mode Extensions (VME)—to solve this problem.

Windows 3.x compatibility

Compatibility with Windows 3.0 (and later Windows 3.1) was achieved by adapting Windows user-mode code components to run inside a virtual DOS machine (VDM). Originally, a nearly complete version of Windows code was included with OS/2 itself: Windows 3.0 in OS/2 2.0, and Windows 3.1 in OS/2 2.1. Later, IBM developed versions of OS/2 that would use whatever Windows version the user had installed previously, patching it on the fly, and sparing the cost of an additional Windows license.[32] It could either run full-screen, using its own set of video drivers, or "seamlessly," where Windows programs would appear directly on the OS/2 desktop. The process containing Windows was given fairly extensive access to hardware, especially video, and the result was that switching between a full-screen WinOS/2 session and the Workplace Shell could occasionally cause issues.[33]

Because OS/2 only runs the user-mode system components of Windows, it is incompatible with Windows device drivers (VxDs) and applications that require them.

Multiple Windows applications run by default in a single Windows session – multitasking cooperatively and without memory protection – just as they would under native Windows 3.x. However, to achieve true isolation between Windows 3.x programs, OS/2 can also run multiple copies of Windows in parallel, with each copy residing in a separate VDM. The user can then optionally place each program either in its own Windows session – with preemptive multitasking and full memory protection between sessions, though not within them – or allow some applications to run together cooperatively in a shared Windows session while isolating other applications in one or more separate Windows sessions. At the cost of additional hardware resources, this approach can protect each program in any given Windows session (and each instance of Windows itself) from every other program running in any separate Windows session (though not from other programs running in the same Windows session).

Whether Windows applications are running in full-screen or windowed mode, and in one Windows session or several, it is possible to use DDE between OS/2 and Windows applications, and OLE between Windows applications only.[34]

1994: OS/2 Warp

 

OS/2 Warp Connect 3.0, showing the Windows 3.1 Program Manager, QBASIC in a DOS window, and the LaunchPad (bottom center)

Released in 1994, OS/2 version 3.0 was labelled as OS/2 Warp to highlight the new performance benefits, and generally to freshen the product image. "Warp" had originally been the internal IBM name for the release: IBM claimed that it had used Star Trek terms as internal names for prior OS/2 releases, and that this one seemed appropriate for external use as well. At the launch of OS/2 Warp in 1994, Patrick Stewart was to be the Master of Ceremonies; however Kate Mulgrew[35] of the then-upcoming series Star Trek: Voyager substituted him at the last minute.[36][37]: p. 108 

OS/2 Warp offers a host of benefits over OS/2 2.1, notably broader hardware support, greater multimedia capabilities, Internet-compatible networking, and it includes a basic office application suite known as IBM Works. It was released in two versions: the less expensive "Red Spine" and the more expensive "Blue Spine" (named for the color of their boxes). "Red Spine" was designed to support Microsoft Windows applications by utilizing any existing installation of Windows on the computer's hard drive. "Blue Spine" includes Windows support in its own installation, and so can support Windows applications without a Windows installation. As most computers were sold with Microsoft Windows pre-installed and the price was less, "Red Spine" was the more popular product.[citation needed] OS/2 Warp Connect—which has full LAN client support built-in—followed in mid-1995. Warp Connect was nicknamed "Grape".[15]

 

Firefox 3.5.4 for OS/2 Warp 4

 

OS/2 Warp 4 desktop after installation

In OS/2 2.0, most performance-sensitive subsystems, including the graphics (Gre) and multimedia (MMPM/2) systems, were updated to 32-bit code in a fixpack, and included as part of OS/2 2.1. Warp 3 brought about a fully 32-bit windowing system, while Warp 4 introduced the object-oriented 32-bit GRADD display driver model.

1996: Warp 4

In 1996, Warp 4 added Java and speech recognition software.[38] IBM also released server editions of Warp 3 and Warp 4 which bundled IBM's LAN Server product directly into the operating system installation. A personal version of Lotus Notes was also included, with a number of template databases for contact management, brainstorming, and so forth. The UK-distributed free demo CD-ROM of OS/2 Warp essentially contained the entire OS and was easily, even accidentally, cracked[clarification needed], meaning that even people who liked it did not have to buy it. This was seen as a backdoor tactic to increase the number of OS/2 users, in the belief that this would increase sales and demand for third-party applications, and thus strengthen OS/2's desktop numbers.[citation needed] This suggestion was bolstered by the fact that this demo version had replaced another which was not so easily cracked, but which had been released with trial versions of various applications.[citation needed] In 2000, the July edition of Australian Personal Computer magazine bundled software CD-ROMs, included a full version of Warp 4 that required no activation and was essentially a free release. Special versions of OS/2 2.11 and Warp 4 also included symmetric multiprocessing (SMP) support.

OS/2 sales were largely concentrated in networked computing used by corporate professionals; however, by the early 1990s, it was overtaken by Microsoft Windows NT. While OS/2 was arguably technically superior to Microsoft Windows 95, OS/2 failed to develop much penetration in the consumer and stand-alone desktop PC segments; there were reports that it could not be installed properly on IBM's own Aptiva series of home PCs.[39] Microsoft made an offer in 1994 where IBM would receive the same terms as Compaq (the largest PC manufacturer at the time) for a license of Windows 95, if IBM ended development of OS/2 completely. IBM refused and instead went with an "IBM First" strategy of promoting OS/2 Warp and disparaging Windows, as IBM aimed to drive sales of its own software as well as hardware. By 1995, Windows 95 negotiations between IBM and Microsoft, which were already difficult, stalled when IBM purchased Lotus SmartSuite, which would have directly competed with Microsoft Office. As a result of the dispute, IBM signed the license agreement 15 minutes before Microsoft's Windows 95 launch event, which was later than their competitors and this badly hurt sales of IBM PCs. IBM officials later conceded that OS/2 would not have been a viable operating system to keep them in the PC business.[40][41]

Workplace OS

In 1991, IBM started development on an intended replacement for OS/2 called Workplace OS. This was an entirely new product, brand new code, that borrowed only a few sections of code from both the existing OS/2 and AIX products. It used an entirely new microkernel code base, intended (eventually) to host several of IBM's operating systems (including OS/2) as microkernel "personalities". It also included major new architectural features including a system registry, JFS, support for UNIX graphics libraries, and a new driver model.[42]

Workplace OS was developed solely for POWER platforms, and IBM intended to market a full line of PowerPCs in an effort to take over the market from Intel. A mission was formed to create prototypes of these machines and they were disclosed to several corporate customers, all of whom raised issues with the idea of dropping Intel.

Advanced plans for the new code base would eventually include replacement of the OS/400 operating system by Workplace OS, as well as a microkernel product that would have been used in industries such as telecommunications and set-top television receivers.

A partially functional pre-alpha version of Workplace OS was demonstrated at Comdex, where a bemused Bill Gates stopped by the booth. The second and last time it would be shown in public was at an OS/2 user group in Phoenix, Arizona; the pre-alpha code refused to boot.

It was released in 1995. But with $990 million being spent per year on development of this as well as Workplace OS, and no possible profit or widespread adoption, the end of the entire Workplace OS and OS/2 product line was near.

Downsizing

A project was launched internally by IBM to evaluate the looming competitive situation with Microsoft Windows 95. Primary concerns included the major code quality issues in the existing OS/2 product (resulting in over 20 service packs, each requiring more diskettes than the original installation), and the ineffective and heavily matrixed development organization in Boca Raton (where the consultants reported that "basically, everybody reports to everybody") and Austin.

That study, tightly classified as "Registered Confidential" and printed only in numbered copies, identified untenable weaknesses and failures across the board in the Personal Systems Division as well as across IBM as a whole. This resulted in a decision being made at a level above the Division to cut over 95% of the overall budget for the entire product line, end all new development (including Workplace OS), eliminate the Boca Raton development lab, end all sales and marketing efforts of the product, and lay off over 1,300 development individuals (as well as sales and support personnel). $990 million had been spent in the last full year. Warp 4 became the last distributed version of OS/2.

2001: Fading out

A small and dedicated community remained faithful to OS/2 for many years after its final mainstream release,[43] but overall, OS/2 failed to catch on in the mass market and is little used outside certain niches where IBM traditionally had a stronghold. For example, many bank installations, especially automated teller machines, run OS/2 with a customized user interface; French SNCF national railways used OS/2 1.x in thousands of ticket selling machines.[citation needed] Telecom companies such as Nortel used OS/2 in some voicemail systems. Also, OS/2 was used for the host PC used to control the Satellite Operations Support System equipment installed at NPR member stations from 1994 to 2007, and used to receive the network's programming via satellite.[citation needed]

Although IBM began indicating shortly after the release of Warp 4 that OS/2 would eventually be withdrawn, the company did not end support until December 31, 2006.[44] Sales of OS/2 stopped on December 23, 2005. The latest IBM OS/2 Warp version is 4.52, which was released for both desktop and server systems in December 2001.

IBM is still delivering defect support for a fee.[44][45] IBM urges customers to migrate their often highly complex applications to e-business technologies such as Java in a platform-neutral manner. Once application migration is completed, IBM recommends migration to a different operating system, suggesting Linux as an alternative.[46][47][48]

Third-party development

 

ArcaOS is the most recent OS/2-based operating system developed outside of IBM.

After IBM discontinued development of OS/2, various third parties approached IBM to take over future development of the operating system. The OS/2 software vendor Stardock made such a proposal to IBM in 1999, but it was not followed through by the company.[49] Serenity Systems succeeded in negotiating an agreement with IBM, and began reselling OS/2 as eComStation in 2001.[50] eComStation is now sold by XEU.com, the most recent version (2.1) was released in 2011.[51] In 2015, Arca Noae, LLC announced that they had secured an agreement with IBM to resell OS/2.[8] They released the first version of their OS/2-based operating system in 2017 as ArcaOS.[10] As of 2021, there have been multiple releases of ArcaOS, and it remains under active development.[52]

Petitions for open source

Many people hoped that IBM would release OS/2 or a significant part of it as open source. Petitions were held in 2005 and 2007, but IBM refused them, citing legal and technical reasons.[53] It is unlikely that the entire OS will be open at any point in the future because it contains third-party code to which IBM does not have copyright, and much of this code is from Microsoft. IBM also once engaged in a technology transfer with Commodore, licensing Amiga technology for OS/2 2.0 and above, in exchange for the REXX scripting language.[54][unreliable source?] This means that OS/2 may have some code that was not written by IBM, which can therefore prevent the OS from being re-announced as open-sourced in the future.[55][failed verification][56] On the other hand, IBM donated Object REXX for Windows and OS/2 to the Open Object REXX project maintained by the REXX Language Association on SourceForge.[57]

There was a petition, arranged by OS2World, to open parts of the OS. Open source operating systems such as Linux have already profited from OS/2 indirectly through IBM's release of the improved JFS file system, which was ported from the OS/2 code base. As IBM didn't release the source of the OS/2 JFS driver, developers ported the Linux driver back to eComStation and added the functionality to boot from a JFS partition. This new JFS driver has been integrated into eComStation v2.0, and later into ArcaOS 5.0.

Release dates refer to the US English editions unless otherwise noted.[58][59]

Date Version
December 1987 OS/2 1.0
November 1988 OS/2 1.1
October 1989 OS/2 1.2
December 1990 OS/2 1.3
October 1991 OS/2 2.0 LA (Limited Availability)
April 1992 OS/2 2.0
October 1992 OS/2 2.00.1
May 1993 OS/2 2.1
November 1993 OS/2 for Windows
February 1994 OS/2 2.11
July 1994 OS/2 2.11 SMP
October 1994 OS/2 Warp 3
May 1995 OS/2 Warp Connect
December 1995 OS/2 Warp, PowerPC Edition
February 1996 OS/2 Warp Server 4
September 1996 OS/2 Warp 4
September 1996 OS/2 Warp Server Advanced SMP
November 1997 WorkSpace On-Demand 1.0
October 1998 WorkSpace On-Demand 2.0
April 1999 OS/2 Warp Server for e-Business (version 4.50)
November 2000 OS/2 Convenience Pack 1 (version 4.51)
November 2001 OS/2 Convenience Pack 2 (version 4.52)

The graphic system has a layer named Presentation Manager that manages windows, fonts, and icons. This is similar in functionality to a non-networked version of X11 or the Windows GDI. On top of this lies the Workplace Shell (WPS) introduced in OS/2 2.0. WPS is an object-oriented shell allowing the user to perform traditional computing tasks such as accessing files, printers, launching legacy programs, and advanced object oriented tasks using built-in and third-party application objects that extended the shell in an integrated fashion not available on any other mainstream operating system. WPS follows IBM's Common User Access user interface standards.

WPS represents objects such as disks, folders, files, program objects, and printers using the System Object Model (SOM), which allows code to be shared among applications, possibly written in different programming languages. A distributed version called DSOM allowed objects on different computers to communicate. DSOM is based on CORBA. The object oriented aspect of SOM is similar to, and a direct competitor to, Microsoft's Component Object Model, though it is implemented in a radically different manner; for instance, one of the most notable differences between SOM and COM is SOM's support for inheritance (one of the most fundamental concepts of OO programming)—COM does not have such support. SOM and DSOM are no longer being developed.

The multimedia capabilities of OS/2 are accessible through Media Control Interface commands. The last update (bundled with the IBM version of Netscape Navigator plugins) added support for MPEG files. Support for newer formats such as PNG, progressive JPEG, DivX, Ogg, and MP3 comes from third parties. Sometimes it is integrated with the multimedia system, but in other offers it comes as standalone applications.

Commands

 

OS/2 Window (cmd.exe) on Microsoft OS/2 Version 1.3

The following list of commands is supported by cmd.exe on OS/2.[60][61]

  • ansi
  • append
  • assign
  • attrib
  • backup
  • boot
  • break
  • cache
  • call
  • cd
  • chcp
  • chdir
  • chkdsk
  • cls
  • cmd
  • codepage
  • command
  • comp
  • copy
  • createdd
  • date
  • ddinstal
  • debug
  • del
  • detach
  • dir
  • diskcomp
  • diskcopy
  • doskey
  • dpath
  • eautil
  • echo
  • endlocal
  • erase
  • exit
  • extproc
  • fdisk
  • fdiskpm
  • find
  • for
  • format
  • fsaccess
  • goto
  • graftabl
  • help
  • if
  • join
  • keyb
  • keys
  • label
  • makeini
  • md
  • mem
  • mkdir
  • mode
  • more
  • move
  • patch
  • path
  • pause
  • picview
  • pmrexx
  • print
  • prompt
  • pstat
  • rd
  • recover
  • rem
  • ren
  • rename
  • replace
  • restore
  • rmdir
  • set
  • setboot
  • setcom40
  • setlocal
  • share
  • shift
  • sort
  • spool
  • start
  • subst
  • syslevel
  • syslog
  • time
  • trace
  • tracebuf
  • tracefmt
  • tree
  • type
  • undelete
  • unpack
  • ver
  • verify
  • view
  • vmdisk
  • vol
  • xcopy

Networking

The TCP/IP stack is based on the open source BSD stack as visible with SCCS what compatible tools. IBM included tools such as ftp and telnet and even servers for both commands. IBM sold several networking extensions including NFS support and an X11 server.

Drivers

Hardware vendors were reluctant to support device drivers for alternative operating systems including OS/2, leaving users with few choices from a select few vendors. To relieve this issue for video cards, IBM licensed a reduced version of the Scitech display drivers, allowing users to choose from a wide selection of cards supported through Scitech's modular driver design.[62]

Virtualization

OS/2 has historically been more difficult to run in a virtual machine than most other legacy x86 operating systems because of its extensive reliance on the full set of features of the x86 CPU; in particular, OS/2's use of ring 2 prevented it from running in early versions of VMware.[63] Newer versions of VMware provide official support for OS/2, specifically for eComStation.[64]

VirtualPC from Microsoft (originally Connectix) has been able to run OS/2 without hardware virtualization support for many years. It also provided "additions" code which greatly improves host–guest OS interactions in OS/2. The additions are not provided with the current version of VirtualPC, but the version last included with a release may still be used with current releases. At one point, OS/2 was a supported host for VirtualPC in addition to a guest. Note that OS/2 runs only as a guest on those versions of VirtualPC that use virtualization (x86 based hosts) and not those doing full emulation (VirtualPC for Mac).

VirtualBox from Oracle Corporation (originally InnoTek, later Sun) supports OS/2 1.x, Warp 3 through 4.5, and eComStation as well as "Other OS/2" as guests. However, attempting to run OS/2 and eComStation can still be difficult, if not impossible, because of the strict requirements of VT-x/AMD-V hardware-enabled virtualization and only ACP2/MCP2 is reported to work in a reliable manner.[65]

ArcaOS supports being run as a virtual machine guest inside VirtualBox, VMware ESXi and VMWare Workstation.[66] It ships with VirtualBox Guest Additions, and driver improvements to improve performance as a guest operating system.[67]

The difficulties in efficiently running OS/2 have, at least once, created an opportunity for a new virtualization company. A large bank in Moscow needed a way to use OS/2 on newer hardware that OS/2 did not support. As virtualization software is an easy way around this, the company desired to run OS/2 under a hypervisor. Once it was determined that VMware was not a possibility, it hired a group of Russian software developers to write a host-based hypervisor that would officially support OS/2. Thus, the Parallels, Inc. company and their Parallels Workstation product was born.[68]

Security niche

OS/2 has few native computer viruses;[69] while it is not invulnerable by design, its reduced market share appears to have discouraged virus writers. There are, however, OS/2-based antivirus programs, dealing with DOS viruses and Windows viruses that could pass through an OS/2 server.[70]

Problems

Some problems were classic subjects of comparison with other operating systems:

  • Synchronous input queue (SIQ): if a GUI application was not servicing its window messages, the entire GUI system could get stuck and a reboot was required. This problem was considerably reduced with later Warp 3 fixpacks and refined by Warp 4, by taking control over the application after it had not responded for several seconds.[71]
  • No unified object handles (OS/2 v2.11 and earlier): The availability of threads probably led system designers to overlook mechanisms which allow a single thread to wait for different types of asynchronous events at the same time, for example the keyboard and the mouse in a "console" program. Even though select was added later, it only worked on network sockets. In case of a console program, dedicating a separate thread for waiting on each source of events made it difficult to properly release all the input devices before starting other programs in the same "session". As a result, console programs usually polled the keyboard and the mouse alternately, which resulted in wasted CPU and a characteristic "jerky" reactivity to user input. In OS/2 3.0 IBM introduced a new call for this specific problem.[72]

OS/2 has been widely used in Iran Export Bank (Bank Saderat Iran) in their teller machines, ATMs and local servers (over 30,000 working stations). As of 2011, the bank moved to virtualize and renew their infrastructure by moving OS/2 to Virtual Machines running over Windows.

OS/2 was widely used in Brazilian banks. Banco do Brasil had a peak 10,000 machines running OS/2 Warp in the 1990s. OS/2 was used in automated teller machines until 2006. The workstations and automated teller machines and attendant computers have been migrated to Linux.[73]

 

An ATM in Australia revealing during a reboot that it is based on OS/2 Warp

OS/2 has been used in the banking industry. Suncorp bank in Australia still ran its ATM network on OS/2 as late as 2002. ATMs at Perisher Blue used OS/2 as late as 2009, and even the turn of the decade.[74]

OS/2 was widely adopted by accounting professionals and auditing companies. In mid-1990s native 32-bit accounting software were well developed and serving corporate markets.

OS/2 ran the faulty baggage handling system at Denver International Airport. The OS was eventually scrapped, but the software written for the system led to massive delays in the opening of the new airport. The OS itself was not at fault, but the software written to run on the OS was. The baggage handling system was eventually removed.

OS/2 was used by radio personality Howard Stern. He once had a 10-minute on-air rant about OS/2 versus Windows 95 and recommended OS/2. He also used OS/2 on his IBM 760CD laptop.

OS/2 was used as part of the Satellite Operations Support System (SOSS) for NPR's Public Radio Satellite System. SOSS was a computer-controlled system using OS/2 that NPR member stations used to receive programming feeds via satellite. SOSS was introduced in 1994 using OS/2 3.0, and was retired in 2007, when NPR switched over to its successor, the ContentDepot.

OS/2 was used to control the SkyTrain automated light rail system in Vancouver, Canada until the late 2000s when it was replaced by Windows XP.

OS/2 was used in the London Underground Jubilee Line Extension Signals Control System (JLESCS) in London, England. This control system delivered by Alcatel was in use from 1999 to 2011 i.e. between abandonment before opening of the line's unimplemented original automatic train control system and the present SelTrac system. JLESCS did not provide automatic train operation only manual train supervision. Six OS/2 local site computers were distributed along the railway between Stratford and Westminster, the shunting tower at Stratford Market Depot, and several formed the central equipment located at Neasden Depot. It was once intended to cover the rest of the line between Green Park and Stanmore but this was never introduced.

OS/2 has been used by The Co-operative Bank in the UK for its domestic call centre staff, using a bespoke program created to access customer accounts which cannot easily be migrated to Windows.

OS/2 has been used by the Stop & Shop supermarket chain (and has been installed in new stores as recently as March 2010).

OS/2 has been used on ticket machines for Tramlink in outer-London.

OS/2 has been used in New York City's subway system for MetroCards.[75] Rather than interfacing with the user, it connects simple computers and the mainframes. When NYC MTA finishes its transition to contactless payment, OS/2 will be removed.[76]

OS/2 was used in checkout systems at Safeway supermarkets.[75]

OS/2 was used by Trenitalia, both for the desktops at Ticket Counters and for the Automatic Ticket Counters up to 2011. Incidentally, the Automatic Ticket Counters with OS/2 were more reliable than the current ones running a flavor of Windows.[citation needed]

OS/2 was used as the main operating system for Abbey National General Insurance motor and home direct call centre products using the PMSC Series III insurance platform on DB2.2 from 1996-2001.

BYTE in 1989 listed OS/2 as among the "Excellence" winners of the BYTE Awards, stating that it "is today where the Macintosh was in 1984: It's a development platform in search of developers". The magazine predicted that "When it's complete and bug-free, when it can really use the 80386, and when more desktops sport OS/2-capable PCs, OS/2 will—deservedly—supersede DOS. But even as it stands, OS/2 is a milestone product".[77]

In March 1995 OS/2 won seven awards[78]

  • InfoWorld Product of the Year.[79]
  • Five Awards at CeBIT.
    • PC Professional Magazine - Innovation of the Year award.
    • CHIP Magazine named OS/2 Warp the Operating System of the Year.
    • DOS International named OS/2 Warp the Operating System of the Year.
    • 1+1 Magazine awarded it with the Software Marketing Quality award.
    • Industrie Forum awarded it with its Design Excellence.
  • SPA Best Business Software Award.

IBM has used OS/2 in a wide variety of hardware products, effectively as a form of embedded operating system.

Product Product Type Usage of OS/2
IBM 3494 Tape Library Used as the operating system for the Library Manager (LM) that controlled the tape accessor (robot)[80]
IBM 3745 Communications Controller Used as the operating system for the Service Processor (SP) and if installed, the Network Node Processor (NNP).[81]
IBM 3890 Document Processor The 3890/XP1 was announced November 12, 1988. It initially used OS/2 1.1 Extended Edition[82] on a PS/2 Model 80 to emulate the stacker control software that previously ran on a System/360. IBM later switched to OS/2 Warp.[83]
IBM 473x ATM Used in a range of Automatic Teller Machines manufactured by IBM. Was also used in later 478x ATMs manufactured with Diebold.
IBM 9672 Mainframe Used as the operating system for the Support Element (SE).[84] Was also used in later mainframe models such as the IBM 2064 and 2074.[85]
  • History of the graphical user interface
  • Multiple Virtual DOS Machine (MVDM) - OS/2 virtual DOS machine and seamless Windows integration
  • OpenDoc – Software componentry framework standard
  • System Object Model
  • Team OS/2
  • Windows Libraries for OS/2
  • LAN Manager

  1. ^ Matthew Nawrocki (26 February 2013). "Preview: eComStation 2.2 Beta, the legacy of OS/2 lives on". TechRepublic.com. Retrieved 22 September 2013.
  2. ^ Nuska, Andrew (June 21, 2013). "Ed Iacobucci, co-founder of Citrix, dies of cancer". ZD Net. Retrieved 20 May 2017.
  3. ^ McCracken, Harry (April 2, 2012). "25 Years of IBM's OS/2: The Strange Days and Surprising Afterlife of a Legendary Operating System". Time Magazine. Retrieved 20 May 2017.
  4. ^ Markoff, John (June 28, 1992). "I.B.M. and Microsoft Settle Operating-System Feud". The New York Times. Retrieved 20 May 2017.
  5. ^ Michal Necasek (2001-09-08). "OS/2 1.3: Ten Years Ago". The History of OS/2. Archived from the original on 2007-10-12.
  6. ^ IBM (12 July 2005). "Changes in support for IBM OS/2 Warp 4 and OS/2 Warp Server for e-business". ibm.com. Archived from the original on 27 April 2006.
  7. ^ "eComStation (eCS) history". Archived from the original on 2021-02-04. Retrieved 2020-08-29.
  8. ^ a b James Sanders (2015). "OS/2: Blue Lion to be the next distro of the 28-year-old OS". {{cite journal}}: Cite journal requires |journal= (help)
  9. ^ James Sanders (2016). "OS/2 resurrected: Blue Lion becomes ArcaOS, details emerge for upcoming release". {{cite journal}}: Cite journal requires |journal= (help)
  10. ^ a b Sharwood, Simon (19 May 2017). "What is dead may never die: a new version of OS/2 just arrived". The Register.
  11. ^ "Joint Development Agreement Between International Business Machines Corporation And Microsoft Corporation" (PDF). Tech Insider. Archived (PDF) from the original on August 15, 2021. Retrieved August 15, 2021.
  12. ^ Michal Necasek (April 2, 1987). "Microsoft Operating System/2 With Windows Presentation Manager Provides Foundation for Next Generation of Personal Computer Industry". The History of OS/2 (Press release). Archived from the original on April 10, 2010. Retrieved March 25, 2013.
  13. ^ "DBA Certification Course (Summer 2008) Chapter 1: DB2 Products and Tools" (PDF). Users.informatik.uni-halle.de. Retrieved 2 April 2019.
  14. ^ Michal Necasek (2001-07-16). "OS/2 1.0". The History of OS/2. Archived from the original on 2010-08-11.
  15. ^ a b David Both (May 2, 2012) [originally published December 19, 1996]. "A Short History of OS/2". DataBook for OS/2 Warp. Archived from the original on February 18, 2013. Retrieved April 9, 2013.
  16. ^ H. Gilbert (1995). "HPFS". Das Boot. PC Lube and Tune. Archived from the original on 2006-07-14.
  17. ^ Bob Eager (28 October 2000). "Implementation of extended attributes on the FAT file system". Tavi Systems.
  18. ^ Iacobucci, Ed; foreword by Bill Gates (1988). "Foreword". OS/2 Programmer's Guide. McGraw-Hill Osborne Media. ISBN 0-07-881300-X. I believe OS/2 is destined to be the most important operating system, and possibly program, of all time. As the successor to DOS, which has over 10,000,000 systems in use, it creates incredible opportunities for everyone involved with PCs.
  19. ^ Bellis, Mary. "The Unusual History of Microsoft Windows". ThoughtCo. Dotdash.
  20. ^ Thomas Hormby (25 May 2005). "Windows History (1985–1994)". osviews.com. Archived from the original on March 12, 2006. Retrieved April 9, 2013.
  21. ^ Michal Necasek (2001-10-29). "OS/2 1.1 and 1.2: The Early Years". The History of OS/2. Archived from the original on 2006-06-13.
  22. ^ Paul Thurrott (24 January 2003). "Windows Server 2003: The Road To Gold". winsupersite.com. Archived from the original on 4 June 2010.
  23. ^ Gates, Bill; Myhrvold, Nathan; Rinearson, Peter (1996-10-08). The Road Ahead. ISBN 0-670-77289-5.
  24. ^ Michael Lee Vasu; Debra W. Stewart; G. David Garson (1998-03-03). Organizational behavior and public management. p. 268. ISBN 978-0-8247-0135-2.
  25. ^ Gordon Letwin. ""What's happening to OS/2," a Usenet post by Gordon Letwin from August 1995, the point of view of a Microsoft employee". Google Groups. Archived from the original on 2007-09-23. Retrieved 2007-10-18.
  26. ^ Gates, Bill. "Bill Gates Interview". Computer History Collection (transcript of a Video History interview). Interviewed by David Allison. National Museum of American History, Smithsonian Institution. Retrieved April 10, 2013.
  27. ^ Microsoft (2000). Inside Out, Microsoft—In Our Own Words. Warner Business Books. ISBN 0-446-52739-4.
  28. ^ Microsoft. "Compatibility of OS/2-based Applications and APIs". Microsoft TechNet. Microsoft. Retrieved April 9, 2013.
  29. ^ Corr, O. Casey (1992-04-06). "GIANT-KILLER? Microsoft mounts challenge to IBM". The Baltimore Sun. Archived from the original (Not available in the EU; check the archive URL instead) on 2020-03-05.
  30. ^ Robert X. Cringely (27 April 2006). "Killer Apps: For Apple's Windows Strategy to Work, It Must Replace Microsoft Office and Buy Adobe Systems". pbs.org.
  31. ^ Microsoft (6 November 1999). "Windows 3.1 Standard Mode and the VCPI". support.microsoft.com. Archived from the original on March 9, 2013.
  32. ^ Christian Alice Scarborough (15 September 1998). "Team OS/2 Frequently Asked Questions".
  33. ^ "OS/2 Games Setting Archive". Game Zero magazine. 6 March 1995. Archived from the original on 14 June 2006. Retrieved 9 June 2006.
  34. ^ Timothy F. Sipples (20 February 1995). "OS/2 Warp Frequently Asked Questions List".
  35. ^ "Biography for Kate Mulgrew". Internet Movie Database. In 1996, was contracted by IBM to help promote the latest release of OS/2 Warp, version 4 (previously codenamed Merlin), due to associations with Star Trek.
  36. ^ "In Search of Stupidity, Excerpts from Chapter 6". Insearchofstupidity.com. Archived from the original on January 27, 2013. Retrieved April 9, 2013.
  37. ^ Chapman, Merrill R (26 September 2006). In Search of Stupidity: Over 20 Years of High-tech Marketing Disasters (paperback) (2nd ed.). Berkeley, California: Apress. ISBN 9781590597217. OCLC 71275572. They rented a hall in New York City and invited hundreds to see Patrick Stewart, the then current captain of the Starship Enterprise to help roll out the product in a gala event. (Stewart was a no-show.)
  38. ^ Edwards, Ben J. "OS/2's Last Stand: IBM OS/2 Warp 4 Turns 25". www.howtogeek.com. HowToGeek. Retrieved 26 September 2021.
  39. ^ Lewis, Peter H. (8 August 1995). "PERSONAL COMPUTERS; OS/2 No Longer at Home at Home". The New York Times.
  40. ^ Wasserman, Elizabeth (June 8, 1999). "MS/DoJ: Microsoft urged IBM to yank Smart Suite". PC World.
  41. ^ "C. The Similar Experiences of Other Firms in Dealing with Microsoft". Albion.com. Retrieved 2013-03-20.
  42. ^ Fleisch, Brett D; Allan, Mark (September 23, 1997). "Workplace Microkernel and OS: A Case Study". John Wiley & Sons, Ltd. Archived from the original on August 24, 2007. Retrieved March 25, 2013. {{cite journal}}: Cite journal requires |journal= (help)
  43. ^ "OS2 World Community Forum – Index". Os2world.com. Retrieved 2013-03-20.
  44. ^ a b IBM. "End of Standard Support". Archived from the original on 2006-09-09. Retrieved 2006-08-08.
  45. ^ "OS/2 Warp: Warranties and Licenses". IBM. Retrieved April 9, 2013.
  46. ^ "Migration Station". Archived from the original on May 13, 2010. Retrieved April 9, 2013.
  47. ^ "IBM Redbooks | OS/2 Server Transition". Redbooks.ibm.com. 2003-10-06. Archived from the original on 2014-02-01. Retrieved 2013-03-20.
  48. ^ "3346/GEN/K (1–32) (Page 1)" (PDF). Archived from the original (PDF) on 2012-03-18. Retrieved 2013-03-20.
  49. ^ Dan Casey: OS/2 Voice Press Release Archived 2011-10-08 at the Wayback Machine - 21 Sept 1999.
  50. ^ "OS/2, ArcaOS and eComStation Versions and Languages". Retrieved 2020-08-24.
  51. ^ "News :: eComStation 2.1 GA available". eComStation.com. Archived from the original on 2013-05-12. Retrieved 2013-03-20.
  52. ^ "Roadmap: ArcaOS". arcanoae.com. 2020-12-25. Retrieved 2021-04-16.
  53. ^ "Slashdot: IBM Won't Open-Source OS/2".
  54. ^ "OS/2 Warp History". Archived from the original on January 27, 2013. Retrieved April 9, 2013.
  55. ^ "IBM OS/2 Warp History". 2004-06-24. Archived from the original on 2008-09-19. Retrieved 2008-09-09.
  56. ^ The Art of Unix Programming p. 66 ISBN 0-13-142901-9, ISBN 978-0-13-142901-7
  57. ^ "Open Object REXX FAQ". Retrieved 2011-07-05.
  58. ^ "OS/2 Timeline". OS/2 Museum. Retrieved 2016-12-19.
  59. ^ "PC Magazine (archives scanned by Google)" (PDF). PC Magazine. Retrieved 2016-12-19.
  60. ^ "JaTomes Help - OS/2 Batch File Commands". www.jatomes.com. Archived from the original on 2019-04-14. Retrieved 2019-04-14.
  61. ^ "JaTomes Help - OS/2 Commands". www.jatomes.com. Archived from the original on 2019-04-14. Retrieved 2019-04-14.
  62. ^ "OS/2 to Linux Client Transition" (PDF). IBM redbook. 2004. p. 9. Archived from the original (PDF) on 2011-11-24. Retrieved 2011-07-05.
  63. ^ The VMware Team. "A Notice to OS/2 Users". Archived from the original on 2006-04-20.
  64. ^ "Guest Operating System Installation Guide - eComStation 2.x". VMware. 2014. Retrieved 2022-01-13.
  65. ^ VirtualBox. "VirtualBox Guest_OSes".
  66. ^ "Virtual Machine Configuration". Retrieved 2020-09-05.
  67. ^ "ArcaOS 5.0 Changes". arcanoae.com. Retrieved 2020-09-04.
  68. ^ Timothy Prickett Morgan. "Breaking News—Parallels Joins the PC and Server Virtualization Fray". itjungle.com. Archived from the original on 2007-04-03.
  69. ^ John F. Morar, David M. Chess. "the effect of computer viruses on OS/2 and Warp". research.ibm.com. Archived from the original on 2011-06-04.
  70. ^ "OS/2 Power Wiki : ClamAV". January 2011. Archived from the original on 2010-10-03. Retrieved 2012-08-17.
  71. ^ see IBM Developer Connection for OS/2, Internal Fixpack 12J
  72. ^ KbdGetConsole() and DosWaitMuxWaitSem(), see Control Program Programming Guide and Reference, IBM OS/2 Toolkit
  73. ^ "Brazilian banks look to Linux for ATMs". Archived from the original on 2012-07-28.
  74. ^ "NetIQ Manages Over 1000 Windows Servers for One of Australia's Largest Banks; ANZ Bank Completes Roll Out of NetIQ Management Software to 1,300 Servers" (fee). Business Wire. January 24, 2002. Retrieved 2010-01-24.[dead link]
  75. ^ a b McCracken, Harry (April 2, 2012). "25 Years of IBM's OS/2: The Strange Days and Surprising Afterlife of a Legendary Operating System". Time.com. Technologizer. Retrieved April 9, 2013.
  76. ^ Subway History: How OS/2 Powered The NYC Subway For Decades Archived 2019-07-30 at the Wayback Machine, Andrew Egan, Jun 13, 2019, Tedium
  77. ^ "The BYTE Awards". BYTE. January 1989. p. 327.
  78. ^ "IBM's Developer Support News 1995 Issue 4". POublic.dhe.ibm.com.
  79. ^ "InfoWorld". Books.google.com. 25 March 1996. p. 72.
  80. ^ IBM TotalStorage 3494 Tape Library: A Practical Guide to Tape Drives and Tape Automation. IBM. 2009. p. 420. ISBN 978-0-7384-3222-9.
  81. ^ "IBM 3746 Software Plan" (PDF). IBM.
  82. ^ "IBM Announcement Letter". IBM. Retrieved 30 December 2011.
  83. ^ "IBM Announcement Letter". Retrieved 30 December 2011.
  84. ^ "Support Element Operations Guide". Archived from the original on 2014-03-05. Retrieved 30 December 2011.
  85. ^ "IBM 2074 Model 2 Console Support Controller — Consolidating and Streamlining Console Support Function". 26 February 2002. Retrieved 19 June 2014.

  • Harvey M. Deitel and Michael S. Kogan (1992). The Design of OS/2. Addison-Wesley. ISBN 0-201-54889-5.
  • Letwin, Gordon (1988). Inside OS/2. Microsoft Press. ISBN 1-55615-117-9.
  • Pascal, Zachary (1994). Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft. Warner Books. ISBN 0-02-935671-7.
  • Peter Moylan (2004-07-23). "Some fundamental OS/2 concepts".
  • Michal Necasek (2005-12-03). "OS/2 Warp, PowerPC Edition". The History of OS/2. Archived from the original on August 12, 2010. Retrieved April 10, 2013.—Necasek discusses an aborted port to PowerPC machines.
  • Reimer, Jeremy. "Half an operating system: The triumph and tragedy of OS/2". Archived from the original on 10 December 2013. Retrieved 12 December 2013.
  • os2world.com – Community of OS/2 users
  • ecomstation.ru – Community of eComStation and OS/2 users
  • netlabs.org – OpenSource Software for OS/2 and eCS
  • OS/2 FAQ
  • hobbes.nmsu.edu – The OS/2 software repository
  • EDM/2 – The source for OS/2 developers
  • eCSoft/2 – The OS/2 and eComstation software guide
  • osFree an open source project to build an OS/2 clone operating system
  • Voyager Project, a defunct project to reimplement OS/2 on modern technology
  • OS/2 to Linux API porting project
  • Open Source OS/2 API implementation for Windows
  • Microsoft documentation of OS/2 API compatibility with Windows NT
  • The History of OS/2
  • Technical details of OS/2
  • OS/2 Warp 4 Installation and Update Manual; with boot disks and many links

Retrieved from "https://en.wikipedia.org/w/index.php?title=OS/2&oldid=1081256777"