The NTFS (or New Technology File System based on ABBREVIATIONFINDER) is a file system that emerged with the release of Windows NT. Its reliability and performance made it adopted in later Microsoft operating systems, such as Windows XP, Windows Vista, Windows 7 and Windows Server 2008. But, what are the main characteristics of NTFS? How does this file system differ? In fact, what is NTFS? The answers to these and other questions are provided below.
Before, what is a file system?
It is not possible to write data to an HD or any other storage device in order to keep information accessible and organized without a file system – essentially, a type of structure that indicates how files should be written and read the computer’s operating system.
It is the file system that determines how information can be saved, accessed, copied, changed, named and even deleted. In other words, in summary, any and all manipulation of data on a storage device requires a file system for these actions to be possible. Without a file system, the stored data would be just a useless set of bits.
There are several file systems available, for the most diverse operating systems and for the most varied purposes.
How did NTFS come about?
NTFS is a file system widely used in Microsoft operating systems. Its first appearance was on Windows NT, an operating system for use on servers whose first version was released in 1993. However, the history of NTFS begins long before that.
Until that time, Microsoft did not have any operating system capable of coping with Unix and its variations in server applications. Its main products were MS-DOS and the Windows 3.x line, essentially operating systems for home or office use. It was necessary to create something new, able to compete in the market with solutions based on Unix. That’s when Windows NT came into being.
A new operating system is useless if your file system is limited. At the time, Microsoft had the FAT file system in hand . This worked reasonably well in domestic applications, but it would not serve the purposes of the new project due to a series of restrictions, among them, low fault tolerance, impracticable use of file permissions and limitations for working with large data.
To overcome these and other problems, Microsoft decided to use NTFS. However, contrary to what many people think, the company did not develop this file system alone. It used HPFS (High Performance File System) as the base, the file system that had IBM behind it.
In the early 1980s, both companies signed an agreement for the development of OS / 2, a hitherto modern operating system, which would stand out for its graphics capability (at that time, the use of line-based operating systems was very common command).
The problem is that, soon, Microsoft and IBM started to differ on several points. As a consequence, they broke up the partnership. IBM continued to run the OS / 2 project, while Microsoft went to look after its interests, more precisely, the project that resulted in Windows NT. However, the company did not abandon the partnership empty-handed: it took several concepts from HPFS – the OS / 2 file system – related to security, reliability and performance to later implement them on NTFS.
It is also known that NTFS has something to do with Files-11, the file system of the VMS operating system, which passed to Compaq in 1998, a company that was later acquired by HP. When work on the VMS was underway, part of its team moved to Microsoft, with emphasis on software engineer Dave Cutler, one of the names behind NTFS and Windows NT itself.
Main features of NTFS
The concepts applied to NTFS have made Windows NT and later versions of the system well received by the market. One of these characteristics concerns the item “recovery”: in case of failures, such as a sudden shutdown of the computer, NTFS is able to revert the data to the condition prior to the incident. This is possible, in part, because, during the boot process, the operating system consults a log file that records all operations performed and takes action when identifying the problem points. Still in this respect, NTFS also supports data redundancy, that is, replication, as is done for RAID systems, for example.
Another striking feature of NTFS is its access permissions scheme. Unix has always been considered a secure operating system because it works on the principle that all files must have varying levels of usage permissions for users. NTFS is also able to allow the user to define who can and how to access folders or files.
NTFS is also quite efficient at working with large files and bulky disk drives, especially when compared to the FAT file system. You will understand why in the next topic.
Dealing with files
On a hard drive, the storage area is divided into tracks. Each track is subdivided into sectors (learn more in this article on HDs), each with 512 bytes, generally. FAT and NTFS work with clusters of sectors, where each is known as a cluster (or allocation unit). FAT16, for example, can commonly have clusters of 2 KB, 4 KB, 8 KB, 16 KB and 32 KB.
Here is a possible problem: each recorded file uses as many clusters as necessary to cover its size. If, for example, we have a 50 KB file, it is possible to store it in two clusters of 32 KB each. You may have noticed then that, in this case, a cluster has space left over. This area can be assigned to another file, correct? Wrong! It turns out that each cluster can only be used by a single file. If space is left, it will remain empty. This is one of the problems with the FAT system.
There is another limitation: FAT16 works with disks or partitions up to 2 GB. This situation only improves with FAT32, which can work with up to 2 TB (terabytes).
NTFS, for its part, cannot rely on this type of limitation. For this reason, it uses 64 bits for data addresses, against 16 for FAT16 and 32 for FAT32. This feature, combined with the size of the clusters, determines the maximum amount of data that each NTFS partition can work with. Using 64 KB clusters, this limit can reach 256 TB. By default, the size of the clusters is automatically set based on the storage capacity of the device during the process of installing the operating system or formatting a partition – ranging from 512 bytes to 64 KB – and can also be defined by the user with procedures specifics.
For data preservation, NTFS uses a journaling scheme, that is, the log file mentioned above. Briefly, its operation occurs as follows: the log records all the actions that happen in the operating system in relation to the files. When a document is created, disk space is allocated to it, its permissions are set, and so on. The point is that if, for example, the computer suddenly runs out of power, the space defined for the file can be allocated, but not used. When the operating system is reactivated, it queries the log file to find out which procedures have not been performed in full and takes the corresponding action to correct the problem.
To maintain the integrity of the system, basically, three steps are performed: checking the log to check which clusters should be fixed; new execution of transactions marked as complete at the end of the log; reversal of procedures that could not be completed.
Realize that, with this, NTFS may not be able to recover the last data recorded before the interruption, but it guarantees the full functioning of the operating system by eliminating errors that can compromise performance or cause even bigger problems.
NTFS makes it possible to use permissions on the operating system, that is, it is possible to define how users – or groups of users – can access certain files or certain folders. For example, you can allow the user Arthur Dent to have full control of the InfoWester folder, but only allow the user Marvin to read and execute the said content, without being able to change it.
Each user account created in the system (or group) receives a unique code called Security Identifier (SID). Thus, if a user is deleted and, later, another one is created with the same name, it will be necessary to reapply the permissions, as the user’s SID will be different, despite the same name.
Master File Table (MFT)
FAT stands for File Allocation Table and gets its name because it works with a table that basically indicates where the data for each file is. NTFS, however, uses a structure called Master File Table (MFT), which has practically the same purpose as FAT, but works differently.
The MFT is a table that records attributes of each stored file. These attributes consist of a series of information, including: name, date of last modification, permissions (concept explained in the previous topic) and, mainly, location on the storage unit.
Since it needs to store a lot of information from practically all files on the disk, NTFS reserves a space for the MFT – MFT zone -, usually 12.5% of the partition size. Each file may need at least 1 KB to register its attributes in the MFT, hence the need for considerable space for it.
Other NTFS features
NTFS is endowed with several resources of a complementary or definitive nature that enrich its characteristics of security, performance and reliability. Here are some of them.
Encrypting File System (EFS)
This is a feature that came up with Windows 2000 and, as the name suggests, it is a security enhancement, as it allows data protection by encryption using the public key scheme (learn more about this by clicking on the previous link) . The main advantage is that the owner of the protected files can determine which users can access them. This content is encrypted when the user closes it, but is immediately ready for use when opened.
Note that EFS is not fully available on all NTFS-compatible versions of Windows, such as Windows 7 Home Basic, for example. In addition, it is worth noting that it is not possible to use encryption in compressed content (topic below).
Other data compression
Another interesting feature of NTFS is its ability to handle data compression to save disk space. This compression basically consists of taking advantage of repeated file structures to reduce their size.
FAT also has this capability, but in a limited way, since it is necessary to compact the partition as a whole. In NTFS, compression of only folders or certain files is possible.
To compress a folder in Windows 7, for example, just right-click on it and select Properties . In the window that appears, just click on the Advanced button on the General tab and check the option Compress content to save disk space .
Of course, it is also possible to compress an entire partition: right-click on the drive, select Properties and, on the General tab, check the Compress this disk option to save space .
It is worth noting that the user does not have to worry about unzipping the files when he needs to work with them. When accessing them, the operating system itself takes care of that. In addition, it is recommended to use this feature sparingly and only if necessary to avoid possible performance problems.
Like EFS, this is a newer feature and is not available on all NTFS-compatible versions of Windows. Its function, basically, is to allow the system administrator to define how much disk space each user can use. In this way, you can avoid performance problems or the depletion of storage resources on a server, for example.
You already know that NTFS is not necessarily a new file system and that it is still used successfully by Microsoft to this day. So, it is only natural that it undergoes updates to adapt to the needs of the most current versions of Windows.
The most popular version of Windows NT, Windows NT 4, made use of NTFS 1.2. Apparently, there were versions before this: 1.0, which was used in Windows NT 3.1, and 1.1, applied to Windows NT 3.5. NTFS 1.2 came to be called NTFS 4 in reference to the existence of the number in question in the name “Windows NT 4”, although this version of NTFS was also used in Windows NT 3.51.
Windows NT stayed on the market for a long time, but later it was replaced by Windows 2000, which also brought NTFS 5, a version with several new features, among them: Reparse Points, where files and folders within the file system can have actions associated with them, so that particular operations on these files can be performed; disk shares; encryption (EFS); support for sparse data, where it is possible to efficiently store large files that have empty structures.
Revisions of NTFS 5 have been released for the Windows XP and Serve 2003 operating systems. NTFS 6 and its variations have emerged for Vista, 7 and Server 2008 versions of Windows.
New versions may appear with the release of other editions of Windows.
How long will NTFS be used for? For the launch of Windows Vista, Microsoft was working on a new file system called WinFS, whose main feature would be its ability to work as a relational database, allowing the user to easily locate the files they are looking for.
A series of problems prevented WinFS from being implemented in Windows Vista, allowing NTFS to maintain its “reign”. There are even rumors that the WinFS project has been canceled.
Microsoft continues to work on developing new versions of its operating systems, but at least until the publication of this article, there was no information about a new file system, indicating that NTFS will have a long life ahead of it.